Webservice Classe
Define a funcionalidade base para implementar modelos como pontos finais de serviço Web no Azure Machine Learning.
O construtor de serviços Web é utilizado para obter uma representação na cloud de um objeto Webservice associado à Área de Trabalho fornecida. Devolve uma instância de uma classe subordinada correspondente ao tipo específico do objeto Webservice obtido. A classe Webservice permite implementar modelos de machine learning a partir de um objeto ou Image de um Model objeto.
Para obter mais informações sobre como trabalhar com o Webservice, veja Implementar modelos com o Azure Machine Learning.
Inicialize a instância do Webservice.
O construtor webservice obtém uma representação na cloud de um objeto Webservice associado à área de trabalho fornecida. Devolverá uma instância de uma classe subordinada correspondente ao tipo específico do objeto Webservice obtido.
- Herança
-
Webservice
Construtor
Webservice(workspace, name)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
O objeto da área de trabalho que contém o objeto Webservice a obter. |
name
Necessário
|
O nome do objeto Webservice a obter. |
workspace
Necessário
|
O objeto da área de trabalho que contém o objeto Webservice a obter. |
name
Necessário
|
O nome do objeto Webservice a obter. |
Observações
O exemplo seguinte mostra o padrão de implementação recomendado onde primeiro cria um objeto de configuração com o deploy_configuration
método da classe subordinada de Webservice (neste caso AksWebservice) e, em seguida, utiliza a configuração com o deploy
método da Model classe.
# Set the web service configuration (using default here)
aks_config = AksWebservice.deploy_configuration()
# # Enable token auth and disable (key) auth on the webservice
# aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)
O exemplo completo está disponível a partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb
O exemplo seguinte mostra como localizar um existente AciWebservice numa área de trabalho e eliminá-lo se existir para que o nome possa ser reutilizado.
from azureml.core.model import InferenceConfig
from azureml.core.webservice import AciWebservice
service_name = 'my-custom-env-service'
inference_config = InferenceConfig(entry_script='score.py', environment=environment)
aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)
service = Model.deploy(workspace=ws,
name=service_name,
models=[model],
inference_config=inference_config,
deployment_config=aci_config,
overwrite=True)
service.wait_for_deployment(show_output=True)
Existem várias formas de implementar um modelo como um serviço Web, incluindo com:
deploy
método do Model para modelos já registados na área de trabalho.deploy_from_image
método de Webservice para imagens já criadas a partir de um modelo.deploy_from_model
método de Webservice para modelos já registados na área de trabalho. Este método irá criar uma imagem.deploy
método do Webservice, que irá registar um modelo e criar uma imagem.
Para obter informações sobre como trabalhar com serviços Web, consulte
Consumir um modelo do Azure Machine Learning implementado como serviço Web
Monitorizar e recolher dados de pontos finais de serviço Web de ML
A secção Variáveis lista atributos de uma representação local do objeto cloud Webservice. Estas variáveis devem ser consideradas só de leitura. A alteração dos respetivos valores não será refletida no objeto de cloud correspondente.
Variáveis
Name | Description |
---|---|
auth_enabled
|
Se o Serviço Web tem ou não autenticação ativada. |
compute_type
|
Em que tipo de computação o Serviço Web está implementado. |
created_time
|
Quando o serviço Web foi criado. |
azureml.core.Webservice.description
|
Uma descrição do objeto Webservice. |
azureml.core.Webservice.tags
|
Um dicionário de etiquetas para o objeto Webservice. |
azureml.core.Webservice.name
|
O nome do serviço Web. |
azureml.core.Webservice.properties
|
Dicionário de propriedades de valor chave para o Serviço Web. Estas propriedades não podem ser alteradas após a implementação, no entanto, podem ser adicionados novos pares de valores chave. |
created_by
|
O utilizador que criou o Serviço Web. |
error
|
Se o Serviço Web não tiver sido implementado, esta ação conterá a mensagem de erro por que motivo falhou. |
azureml.core.Webservice.state
|
O estado atual do Serviço Web. |
updated_time
|
A última vez que o Serviço Web foi atualizado. |
azureml.core.Webservice.workspace
|
A Área de Trabalho do Azure Machine Learning que contém este serviço Web. |
token_auth_enabled
|
Se o Serviço Web tem ou não a autenticação de token ativada. |
Métodos
check_for_existing_webservice |
Verifique se o webservice existe. |
delete |
Elimine este Webservice da área de trabalho associada. Esta chamada de função não é assíncrona. A chamada é executada até que o recurso seja eliminado. Um WebserviceException é gerado se existir um problema ao eliminar o modelo do Serviço de Gestão de Modelos. |
deploy |
Implementar um webservice a partir de zero ou mais Model objetos. Esta função registará todos os ficheiros de modelos fornecidos e criará uma imagem no processo, todas associadas ao especificado Workspace. Utilize esta função quando tiver um diretório de modelos para implementar que não tenha sido registado anteriormente. O Webservice resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web. |
deploy_from_image |
Implementar um webservice a partir de um Image objeto. Utilize esta função se já tiver um objeto Imagem criado para um modelo. O Webservice resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web. |
deploy_from_model |
Implementar um webservice a partir de zero ou mais Model objetos. Esta função é semelhante a deploy, mas não regista os modelos. Utilize esta função se tiver objetos de modelo que já estejam registados. Esta ação irá criar uma imagem no processo, associada à Área de Trabalho especificada. O Webservice resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web. |
deploy_local_from_model |
Criar e implementar um LocalWebservice para teste. Requer que o Docker seja instalado e configurado. |
deserialize |
Converter um objeto JSON de resposta do Serviço de Gestão de Modelos num objeto webservice. Falhará se a área de trabalho fornecida não for a área de trabalho em que o Serviço Web está registado. |
get_keys |
Obtenha chaves de autenticação para este Webservice. |
get_logs |
Obtenha registos para este serviço Web. |
get_token |
Obtenha o token de autenticação para este Webservice, no âmbito do utilizador atual. |
list |
Liste os Serviços Web associados ao correspondente Workspace. Os resultados devolvidos podem ser filtrados com parâmetros. |
regen_key |
Regenerar uma das chaves do Serviço Web, quer seja a chave "Primária" ou "Secundária". A WebserviceException é gerado se |
run |
Chame este Serviço Web com a entrada fornecida. Método abstrato implementado por classes subordinadas de Webservice. |
serialize |
Converta este objeto Webservice num dicionário serializado JSON. Utilize deserialize para converter novamente num objeto Webservice. |
update |
Atualize os parâmetros do Webservice. Este é um método abstrato implementado por classes subordinadas de Webservice. Os parâmetros possíveis para atualizar variam consoante o tipo de serviço Web subordinado. Por exemplo, para Azure Container Instances webservices, veja update para obter parâmetros específicos. |
update_deployment_state |
Atualize o estado atual do objeto dentro da memória. Efetue uma atualização no local das propriedades do objeto com base no estado atual do objeto de cloud correspondente. Principalmente útil para consultas manuais do estado de criação. |
wait_for_deployment |
Consulte automaticamente a implementação do Webservice em execução. Aguarde que o Serviço Web atinja um estado de terminal. Emitirá um WebserviceException se atingir um estado de terminal não bem-sucedido ou exceder o tempo limite fornecido. |
check_for_existing_webservice
Verifique se o webservice existe.
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
|
name
Necessário
|
|
overwrite
|
Default value: False
|
request_func
|
<xref:function>
função para pedir serviço para verificar se o nome do serviço existe Default value: None
|
check_func
|
<xref:function>
para verificar o conteúdo da resposta do request_func Default value: None
|
Exceções
Tipo | Description |
---|---|
delete
Elimine este Webservice da área de trabalho associada.
Esta chamada de função não é assíncrona. A chamada é executada até que o recurso seja eliminado. Um WebserviceException é gerado se existir um problema ao eliminar o modelo do Serviço de Gestão de Modelos.
delete()
Exceções
Tipo | Description |
---|---|
deploy
Implementar um webservice a partir de zero ou mais Model objetos.
Esta função registará todos os ficheiros de modelos fornecidos e criará uma imagem no processo, todas associadas ao especificado Workspace. Utilize esta função quando tiver um diretório de modelos para implementar que não tenha sido registado anteriormente.
O Webservice resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web.
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
Um objeto de Área de Trabalho ao qual associar o Webservice. |
name
Necessário
|
O nome a atribuir ao serviço implementado. Tem de ser exclusivo da área de trabalho, consistir apenas em letras minúsculas, números ou travessões, começar com uma letra e ter entre 3 e 32 carateres. |
model_paths
Necessário
|
Uma lista de caminhos no disco para modelar ficheiros ou pastas. Pode ser uma lista vazia. |
image_config
Necessário
|
Um objeto ImageConfig utilizado para determinar as propriedades de Imagem necessárias. |
deployment_config
|
Um WebserviceDeploymentConfiguration utilizado para configurar o webservice. Se não for fornecido um, será utilizado um objeto de configuração vazio com base no destino pretendido. Default value: None
|
deployment_target
|
A ComputeTarget para implementar o Webservice em. Como Azure Container Instances não ComputeTargettem nenhum , deixe este parâmetro como Nenhum para implementar no Azure Container Instances. Default value: None
|
overwrite
|
Substitua o serviço existente se o serviço já existir com o nome. Default value: False
|
Devoluções
Tipo | Description |
---|---|
Um objeto webservice correspondente ao webservice implementado. |
Exceções
Tipo | Description |
---|---|
deploy_from_image
Implementar um webservice a partir de um Image objeto.
Utilize esta função se já tiver um objeto Imagem criado para um modelo.
O Webservice resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web.
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
Um objeto de Área de Trabalho ao qual associar o Webservice. |
name
Necessário
|
O nome a atribuir ao serviço implementado. Tem de ser exclusivo da área de trabalho, consistir apenas em letras minúsculas, números ou travessões, começar com uma letra e ter entre 3 e 32 carateres. |
image
Necessário
|
Um Image objeto a implementar. |
deployment_config
|
Um WebserviceDeploymentConfiguration utilizado para configurar o webservice. Se não for fornecido um, será utilizado um objeto de configuração vazio com base no destino pretendido. Default value: None
|
deployment_target
|
A ComputeTarget para implementar o Webservice em. Como Azure Container Instances não ComputeTargettem nenhum , deixe este parâmetro como Nenhum para implementar no Azure Container Instances. Default value: None
|
overwrite
|
Substitua o serviço existente se o serviço já existir com o nome. Default value: False
|
Devoluções
Tipo | Description |
---|---|
Um objeto webservice correspondente ao webservice implementado. |
Exceções
Tipo | Description |
---|---|
deploy_from_model
Implementar um webservice a partir de zero ou mais Model objetos.
Esta função é semelhante a deploy, mas não regista os modelos. Utilize esta função se tiver objetos de modelo que já estejam registados. Esta ação irá criar uma imagem no processo, associada à Área de Trabalho especificada.
O Webservice resultante é um ponto final em tempo real que pode ser utilizado para pedidos de inferência. Para obter mais informações, veja Consumir um modelo implementado como um serviço Web.
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
Um objeto de Área de Trabalho ao qual associar o Webservice. |
name
Necessário
|
O nome a atribuir ao serviço implementado. Tem de ser exclusivo da área de trabalho, consistir apenas em letras minúsculas, números ou travessões, começar com uma letra e ter entre 3 e 32 carateres. |
models
Necessário
|
Uma lista de objetos de modelo. Pode ser uma lista vazia. |
image_config
Necessário
|
Um objeto ImageConfig utilizado para determinar as propriedades de Imagem necessárias. |
deployment_config
|
Um WebserviceDeploymentConfiguration utilizado para configurar o webservice. Se não for fornecido um, será utilizado um objeto de configuração vazio com base no destino pretendido. Default value: None
|
deployment_target
|
A ComputeTarget para implementar o Webservice em. Como o ACI não tem nenhum ComputeTargetassociado, deixe este parâmetro como Nenhum para implementar no ACI. Default value: None
|
overwrite
|
Substitua o serviço existente se o serviço já existir com o nome. Default value: False
|
Devoluções
Tipo | Description |
---|---|
Um objeto webservice correspondente ao webservice implementado. |
Exceções
Tipo | Description |
---|---|
deploy_local_from_model
Criar e implementar um LocalWebservice para teste.
Requer que o Docker seja instalado e configurado.
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
Um objeto de Área de Trabalho com o qual associar o Webservice. |
name
Necessário
|
O nome a atribuir ao serviço implementado. Tem de ser exclusivo no computador local. |
models
Necessário
|
Uma lista de objetos de modelo. Pode ser uma lista vazia. |
image_config
Necessário
|
Um objeto ImageConfig utilizado para determinar as propriedades de imagem de serviço necessárias. |
deployment_config
|
Um LocalWebserviceDeploymentConfiguration utilizado para configurar o webservice. Se não for fornecido um, será utilizado um objeto de configuração vazio. Default value: None
|
wait
|
Se pretende aguardar que o contentor do Docker localWebservice seja apresentado como estando em bom estado de funcionamento. Gera uma exceção se o contentor falhar. A predefinição é Falso. Default value: False
|
Devoluções
Tipo | Description |
---|---|
Exceções
Tipo | Description |
---|---|
deserialize
Converter um objeto JSON de resposta do Serviço de Gestão de Modelos num objeto webservice.
Falhará se a área de trabalho fornecida não for a área de trabalho em que o Serviço Web está registado.
deserialize(workspace, webservice_payload)
Parâmetros
Name | Description |
---|---|
cls
Necessário
|
Indica que se trata de um método de classe. |
workspace
Necessário
|
O objeto da área de trabalho no qual o Webservice está registado. |
webservice_payload
Necessário
|
Um objeto JSON para converter num objeto Webservice. |
Devoluções
Tipo | Description |
---|---|
A representação webservice do objeto JSON fornecido. |
Exceções
Tipo | Description |
---|---|
get_keys
Obtenha chaves de autenticação para este Webservice.
get_keys()
Devoluções
Tipo | Description |
---|---|
As chaves de autenticação deste webservice. |
Exceções
Tipo | Description |
---|---|
get_logs
Obtenha registos para este serviço Web.
get_logs(num_lines=5000, init=False)
Parâmetros
Name | Description |
---|---|
num_lines
|
O número máximo de linhas de registo a obter. Default value: 5000
|
init
|
Obter registos do contentor init Default value: False
|
Devoluções
Tipo | Description |
---|---|
Os registos deste serviço Web. |
Exceções
Tipo | Description |
---|---|
get_token
Obtenha o token de autenticação para este Webservice, no âmbito do utilizador atual.
get_token()
Devoluções
Tipo | Description |
---|---|
O token de autenticação para este Webservice e quando deve ser atualizado depois. |
Exceções
Tipo | Description |
---|---|
list
Liste os Serviços Web associados ao correspondente Workspace.
Os resultados devolvidos podem ser filtrados com parâmetros.
static list(workspace, compute_type=None, image_name=None, image_id=None, model_name=None, model_id=None, tags=None, properties=None, image_digest=None)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
O objeto Área de Trabalho para listar os Serviços Web. |
compute_type
|
Filtre para listar apenas tipos de serviço Web específicos. As opções são "ACI", "AKS". Default value: None
|
image_name
|
Filtrar lista para incluir apenas serviços Web implementados com o nome de imagem específico. Default value: None
|
image_id
|
Filtrar lista para incluir apenas serviços Web implementados com o ID de imagem específico. Default value: None
|
model_name
|
Filtrar lista para incluir apenas serviços Web implementados com o nome de modelo específico. Default value: None
|
model_id
|
Filtrar lista para incluir apenas serviços Web implementados com o ID de modelo específico. Default value: None
|
tags
|
Filtre com base na lista fornecida, por "chave" ou "[chave, valor]". Por exemplo: ['key', ['key2', 'key2 value']] Default value: None
|
properties
|
Filtre com base na lista fornecida, por "chave" ou "[chave, valor]". Por exemplo: ['key', ['key2', 'key2 value']] Default value: None
|
image_digest
|
Filtre a lista para incluir apenas serviços Web implementados com o resumo de imagem específico. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Uma lista filtrada de Serviços Web na Área de Trabalho fornecida. |
Exceções
Tipo | Description |
---|---|
regen_key
Regenerar uma das chaves do Serviço Web, quer seja a chave "Primária" ou "Secundária".
A WebserviceException é gerado se key
não for especificado ou não for "Primário" ou "Secundário".
regen_key(key, set_key=None)
Parâmetros
Name | Description |
---|---|
key
Necessário
|
A chave para regenerar. As opções são "Principal" ou "Secundário". |
set_key
|
Um valor especificado pelo utilizador que permite a especificação manual do valor da chave Default value: None
|
Exceções
Tipo | Description |
---|---|
run
Chame este Serviço Web com a entrada fornecida.
Método abstrato implementado por classes subordinadas de Webservice.
abstract run(input)
Parâmetros
Name | Description |
---|---|
input
Necessário
|
<xref:varies>
Os dados de entrada para chamar o Serviço Web com. Estes são os dados que o modelo de machine learning espera como uma entrada para executar predições. |
Devoluções
Tipo | Description |
---|---|
O resultado da chamada para o Serviço Web. Isto irá devolver predições executadas a partir do modelo de machine learning. |
Exceções
Tipo | Description |
---|---|
serialize
Converta este objeto Webservice num dicionário serializado JSON.
Utilize deserialize para converter novamente num objeto Webservice.
serialize()
Devoluções
Tipo | Description |
---|---|
A representação JSON deste Webservice. |
Exceções
Tipo | Description |
---|---|
update
Atualize os parâmetros do Webservice.
Este é um método abstrato implementado por classes subordinadas de Webservice. Os parâmetros possíveis para atualizar variam consoante o tipo de serviço Web subordinado. Por exemplo, para Azure Container Instances webservices, veja update para obter parâmetros específicos.
abstract update(*args)
Parâmetros
Name | Description |
---|---|
args
Necessário
|
<xref:varies>
Valores a atualizar. |
Exceções
Tipo | Description |
---|---|
update_deployment_state
Atualize o estado atual do objeto dentro da memória.
Efetue uma atualização no local das propriedades do objeto com base no estado atual do objeto de cloud correspondente. Principalmente útil para consultas manuais do estado de criação.
update_deployment_state()
Exceções
Tipo | Description |
---|---|
wait_for_deployment
Consulte automaticamente a implementação do Webservice em execução.
Aguarde que o Serviço Web atinja um estado de terminal. Emitirá um WebserviceException se atingir um estado de terminal não bem-sucedido ou exceder o tempo limite fornecido.
wait_for_deployment(show_output=False, timeout_sec=None)
Parâmetros
Name | Description |
---|---|
show_output
|
Indica se pretende imprimir uma saída mais verbosa. Default value: False
|
timeout_sec
|
Crie uma exceção se a implementação exceder o tempo limite especificado. Default value: None
|
Exceções
Tipo | Description |
---|---|