Webservice Classe
Define a funcionalidade básica para implantar modelos como pontos de extremidade de serviço Web no Azure Machine Learning.
O construtor do serviço Web é usado para recuperar uma representação em nuvem de um objeto do serviço Web associado ao workspace fornecido. Retorna uma instância de uma classe filho correspondente ao tipo específico do objeto do serviço Web recuperado. A classe do serviço Web permite implantar modelos de machine learning de um objeto Model ou Image.
Para obter mais informações sobre como trabalhar com o serviço Web, consulte Implantar modelos com o Azure Machine Learning.
Inicialize a instância do serviço Web.
O construtor webservice recupera uma representação na nuvem de um objeto de serviço Web associado ao workspace fornecido. Ele retornará uma instância de uma classe filho correspondente ao tipo específico do objeto webservice recuperado.
- Herança
-
Webservice
Construtor
Webservice(workspace, name)
Parâmetros
Nome | Description |
---|---|
workspace
Obrigatório
|
O objeto de workspace que contém o objeto de serviço Web a ser recuperado. |
name
Obrigatório
|
O nome do objeto de serviço Web a ser recuperado. |
workspace
Obrigatório
|
O objeto de workspace que contém o objeto de serviço Web a ser recuperado. |
name
Obrigatório
|
O nome do objeto de serviço Web a ser recuperado. |
Comentários
O exemplo a seguir mostra o padrão de implantação recomendado em que você primeiro cria um objeto de configuração com o método deploy_configuration
da classe filha do serviço Web (nesse caso, AksWebservice) e usa a configuração com o método deploy
da classe Model.
# 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 em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb
O exemplo a seguir mostra como encontrar um AciWebservice existente em um workspace e excluí-lo se ele 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)
Há várias maneiras de implantar um modelo como um serviço Web, inclusive com:
o método
deploy
do Model para modelos já registrados no workspace.o método
deploy_from_image
do Webservice para imagens já criadas de um modelo.o método
deploy_from_model
do Webservice para modelos já registrados no workspace. Esse método criará uma imagem.o método
deploy
do Webservice, que registrará um modelo e criará uma imagem.
Para obter informações sobre como trabalhar com serviços Web, consulte
Consumir um modelo de Azure Machine Learning implantado como um serviço Web
Monitorar e coletar dados de pontos de extremidade de serviço Web do ML
A seção Variáveis lista os atributos de uma representação local do objeto de serviço Web na nuvem. Essas variáveis devem ser consideradas somente leitura. Alterar seus valores não altera o objeto de nuvem correspondente.
Variáveis
Nome | Description |
---|---|
auth_enabled
|
Se o serviço Web tem a autenticação habilitada. |
compute_type
|
Em que tipo de computação o serviço Web está implantado. |
created_time
|
Quando o serviço Web foi criado. |
azureml.core.Webservice.description
|
Uma descrição do objeto de serviço Web. |
azureml.core.Webservice.tags
|
Um dicionário de marcas para o objeto de serviço Web. |
azureml.core.Webservice.name
|
O nome do serviço Web. |
azureml.core.Webservice.properties
|
Dicionário de propriedades de chave-valor para o serviço Web. Essas propriedades não podem ser alteradas após a implantação, no entanto, novos pares de chave/valor podem ser adicionados. |
created_by
|
O usuário que criou o serviço Web. |
error
|
Se o serviço Web não for implantado, conterá a mensagem de erro para o motivo da falha. |
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
|
O Workspace do Azure Machine Learning que contém esse serviço Web. |
token_auth_enabled
|
Se o serviço Web tem ou não a autenticação de token habilitada. |
Métodos
check_for_existing_webservice |
Verificar se o serviço web existe. |
delete |
Excluir este serviço Web do workspace associado. Essa chamada de função não é assíncrona. A chamada é executada até que o recurso seja excluído. Um WebserviceException será gerado se houver um problema ao excluir o modelo do Serviço de Gerenciamento de Modelos. |
deploy |
Implantar um serviço Web de zero ou mais objetos Model. Essa função registrará todos os arquivos de modelos fornecidos e criará uma imagem no processo, todos associados ao Workspace especificado. Use essa função quando tiver um diretório de modelos para implantar que não foram registrados anteriormente. O serviço Web resultante é um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência. Para obter mais informações, consulte Consumir um modelo implantado como um serviço Web. |
deploy_from_image |
Implantar um serviço Web de um objeto Image. Use essa função se você já tiver um objeto de imagem criado para um modelo. O serviço Web resultante é um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência. Para obter mais informações, consulte Consumir um modelo implantado como um serviço Web. |
deploy_from_model |
Implantar um serviço Web de zero ou mais objetos Model. Essa função é semelhante a deploy, mas não registra os modelos. Use essa função se tiver objetos de modelo que já estão registrados. Isso criará uma imagem no processo, associada ao workspace especificado. O serviço Web resultante é um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência. Para obter mais informações, consulte Consumir um modelo implantado como um serviço Web. |
deploy_local_from_model |
Criar e implantar um LocalWebservice para teste. Exige que o Docker esteja instalado e configurado. |
deserialize |
Converter um objeto JSON de resposta do Serviço de Gerenciamento de Modelos de Machine Learning em um objeto do serviço Web. Falhará se o workspace fornecido não for o workspace no qual o serviço Web está registrado. |
get_keys |
Recuperar chaves de autenticação para esse serviço Web. |
get_logs |
Recuperar logs para esse serviço Web. |
get_token |
Recuperar o token de autenticação para esse serviço Web, com escopo para o usuário atual. |
list |
Listar os serviços Web associados ao Workspace correspondente. Os resultados retornados podem ser filtrados usando parâmetros. |
regen_key |
Regenerar uma das chaves do serviço Web, a chave 'Primária' ou a 'Secundária'. Uma WebserviceException será gerada se a |
run |
Chamar esse serviço Web com a entrada fornecida. Método abstrato implementado por classes filho de Webservice. |
serialize |
Converter esse objeto de serviço Web em um dicionário serializado JSON. Use deserialize para converter novamente em um objeto de serviço Web. |
update |
Atualizar os parâmetros do serviço Web. Esse é um método abstrato implementado por classes filhas de Webservice. Os parâmetros que podem ser atualizados variam de acordo com o tipo filho do serviço Web. Por exemplo, para serviços Web das Instâncias de Contêiner do Azure, consulte update para obter parâmetros específicos. |
update_deployment_state |
Atualizar o estado atual do objeto na memória. Executar uma atualização local das propriedades do objeto com base no estado atual do objeto de nuvem correspondente. Útil principalmente para sondagem manual do estado de criação. |
wait_for_deployment |
Sondar automaticamente a implantação do serviço Web em execução. Aguardar até que o serviço Web alcance um estado terminal. Emitirá um WebserviceException se atingir um estado de terminal sem êxito ou exceder o tempo limite fornecido. |
check_for_existing_webservice
Verificar se o serviço web existe.
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
Parâmetros
Nome | Description |
---|---|
workspace
Obrigatório
|
|
name
Obrigatório
|
|
overwrite
|
Valor padrão: False
|
request_func
|
<xref:function>
função para solicitar o serviço para verificar se o nome do serviço existe Valor padrão: None
|
check_func
|
<xref:function>
função para verificar o conteúdo da resposta de request_func Valor padrão: None
|
Exceções
Tipo | Description |
---|---|
delete
Excluir este serviço Web do workspace associado.
Essa chamada de função não é assíncrona. A chamada é executada até que o recurso seja excluído. Um WebserviceException será gerado se houver um problema ao excluir o modelo do Serviço de Gerenciamento de Modelos.
delete()
Exceções
Tipo | Description |
---|---|
deploy
Implantar um serviço Web de zero ou mais objetos Model.
Essa função registrará todos os arquivos de modelos fornecidos e criará uma imagem no processo, todos associados ao Workspace especificado. Use essa função quando tiver um diretório de modelos para implantar que não foram registrados anteriormente.
O serviço Web resultante é um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência. Para obter mais informações, consulte Consumir um modelo implantado como um serviço Web.
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parâmetros
Nome | Description |
---|---|
workspace
Obrigatório
|
Um objeto de workspace ao qual associar o serviço Web. |
name
Obrigatório
|
O nome para o serviço implantado. Deve ser exclusivo ao workspace, ter apenas letras minúsculas, números ou traços, começar com uma letra e ter entre 3 e 32 caracteres. |
model_paths
Obrigatório
|
Uma lista de caminhos em disco para arquivos ou pastas de modelo. Pode ser uma lista vazia. |
image_config
Obrigatório
|
Um objeto ImageConfig usado para determinar as propriedades de imagem necessárias. |
deployment_config
|
Um WebserviceDeploymentConfiguration usado para configurar o serviço Web. Se um não for fornecido, um objeto de configuração vazio será usado com base no destino desejado. Valor padrão: None
|
deployment_target
|
Um ComputeTarget no qual implantar o serviço Web. Como as Instâncias de Contêiner do Azure não têm um ComputeTarget associado, deixe esse parâmetro como None para implantar nas Instâncias de Contêiner do Azure. Valor padrão: None
|
overwrite
|
Substituir o serviço existente se o serviço com o nome já existir. Valor padrão: False
|
Retornos
Tipo | Description |
---|---|
Um objeto do serviço Web correspondente ao serviço Web implantado. |
Exceções
Tipo | Description |
---|---|
deploy_from_image
Implantar um serviço Web de um objeto Image.
Use essa função se você já tiver um objeto de imagem criado para um modelo.
O serviço Web resultante é um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência. Para obter mais informações, consulte Consumir um modelo implantado como um serviço Web.
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
Parâmetros
Nome | Description |
---|---|
workspace
Obrigatório
|
Um objeto de workspace ao qual associar o serviço Web. |
name
Obrigatório
|
O nome para o serviço implantado. Deve ser exclusivo ao workspace, ter apenas letras minúsculas, números ou traços, começar com uma letra e ter entre 3 e 32 caracteres. |
image
Obrigatório
|
Um objeto Image a ser implantado. |
deployment_config
|
Um WebserviceDeploymentConfiguration usado para configurar o serviço Web. Se um não for fornecido, um objeto de configuração vazio será usado com base no destino desejado. Valor padrão: None
|
deployment_target
|
Um ComputeTarget no qual implantar o serviço Web. Como as Instâncias de Contêiner do Azure não têm um ComputeTarget associado, deixe esse parâmetro como None para implantar nas Instâncias de Contêiner do Azure. Valor padrão: None
|
overwrite
|
Substituir o serviço existente se o serviço com o nome já existir. Valor padrão: False
|
Retornos
Tipo | Description |
---|---|
Um objeto do serviço Web correspondente ao serviço Web implantado. |
Exceções
Tipo | Description |
---|---|
deploy_from_model
Implantar um serviço Web de zero ou mais objetos Model.
Essa função é semelhante a deploy, mas não registra os modelos. Use essa função se tiver objetos de modelo que já estão registrados. Isso criará uma imagem no processo, associada ao workspace especificado.
O serviço Web resultante é um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência. Para obter mais informações, consulte Consumir um modelo implantado como um serviço Web.
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parâmetros
Nome | Description |
---|---|
workspace
Obrigatório
|
Um objeto de workspace ao qual associar o serviço Web. |
name
Obrigatório
|
O nome para o serviço implantado. Deve ser exclusivo ao workspace, ter apenas letras minúsculas, números ou traços, começar com uma letra e ter entre 3 e 32 caracteres. |
models
Obrigatório
|
Uma lista de objetos de modelo. Pode ser uma lista vazia. |
image_config
Obrigatório
|
Um objeto ImageConfig usado para determinar as propriedades de imagem necessárias. |
deployment_config
|
Um WebserviceDeploymentConfiguration usado para configurar o serviço Web. Se um não for fornecido, um objeto de configuração vazio será usado com base no destino desejado. Valor padrão: None
|
deployment_target
|
Um ComputeTarget no qual implantar o serviço Web. Como a ACI não tem ComputeTarget associado, deixe esse parâmetro como None para implantar na ACI. Valor padrão: None
|
overwrite
|
Substituir o serviço existente se o serviço com o nome já existir. Valor padrão: False
|
Retornos
Tipo | Description |
---|---|
Um objeto do serviço Web correspondente ao serviço Web implantado. |
Exceções
Tipo | Description |
---|---|
deploy_local_from_model
Criar e implantar um LocalWebservice para teste.
Exige que o Docker esteja instalado e configurado.
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
Parâmetros
Nome | Description |
---|---|
workspace
Obrigatório
|
Um objeto de workspace ao qual associar o serviço Web. |
name
Obrigatório
|
O nome para o serviço implantado. Deve ser exclusivo no computador local. |
models
Obrigatório
|
Uma lista de objetos de modelo. Pode ser uma lista vazia. |
image_config
Obrigatório
|
Um objeto ImageConfig usado para determinar as propriedades da imagem de serviço necessárias. |
deployment_config
|
Um LocalWebserviceDeploymentConfiguration usado para configurar o serviço Web. Se não for fornecido, um objeto de configuração vazio será usado. Valor padrão: None
|
wait
|
Se é necessário aguardar que o contêiner do Docker do LocalWebservice relate o status como íntegro. Gera uma exceção quando o contêiner falha. O padrão é False. Valor padrão: False
|
Retornos
Tipo | Description |
---|---|
Exceções
Tipo | Description |
---|---|
deserialize
Converter um objeto JSON de resposta do Serviço de Gerenciamento de Modelos de Machine Learning em um objeto do serviço Web.
Falhará se o workspace fornecido não for o workspace no qual o serviço Web está registrado.
deserialize(workspace, webservice_payload)
Parâmetros
Nome | Description |
---|---|
cls
Obrigatório
|
Indica que esse é um método de classe. |
workspace
Obrigatório
|
O objeto de workspace no qual o serviço Web está registrado. |
webservice_payload
Obrigatório
|
Um objeto JSON a ser convertido em um objeto de serviço Web. |
Retornos
Tipo | Description |
---|---|
A representação do serviço Web do objeto JSON fornecido. |
Exceções
Tipo | Description |
---|---|
get_keys
Recuperar chaves de autenticação para esse serviço Web.
get_keys()
Retornos
Tipo | Description |
---|---|
As chaves de autenticação desse serviço Web. |
Exceções
Tipo | Description |
---|---|
get_logs
Recuperar logs para esse serviço Web.
get_logs(num_lines=5000, init=False)
Parâmetros
Nome | Description |
---|---|
num_lines
|
O número máximo de linhas de log a serem recuperadas. Valor padrão: 5000
|
init
|
Obter logs de um contêiner de inicialização Valor padrão: False
|
Retornos
Tipo | Description |
---|---|
Os logs desse serviço Web. |
Exceções
Tipo | Description |
---|---|
get_token
Recuperar o token de autenticação para esse serviço Web, com escopo para o usuário atual.
get_token()
Retornos
Tipo | Description |
---|---|
O token de autenticação para esse serviço Web e quando ele deverá ser atualizado depois. |
Exceções
Tipo | Description |
---|---|
list
Listar os serviços Web associados ao Workspace correspondente.
Os resultados retornados podem ser filtrados usando 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
Nome | Description |
---|---|
workspace
Obrigatório
|
O objeto Workspace no qual listar os serviços Web. |
compute_type
|
Filtrar para listar apenas tipos serviço Web específicos. As opções são 'ACI', 'AKS'. Valor padrão: None
|
image_name
|
Filtrar a lista para incluir apenas serviços Web implantados com o nome de imagem específico. Valor padrão: None
|
image_id
|
Filtrar a lista para incluir apenas serviços Web implantados com a ID de imagem específica. Valor padrão: None
|
model_name
|
Filtrar a lista para incluir apenas serviços Web implantados com o nome de modelo específico. Valor padrão: None
|
model_id
|
Filtrar a lista para incluir apenas serviços Web implantados com a ID de modelo específica. Valor padrão: None
|
tags
|
Filtrar com base na lista fornecida, por 'chave' ou por '[chave, valor]'. Ex.: ['chave', ['chave2', 'valor de chave2']] Valor padrão: None
|
properties
|
Filtrar com base na lista fornecida, por 'chave' ou por '[chave, valor]'. Ex.: ['chave', ['chave2', 'valor de chave2']] Valor padrão: None
|
image_digest
|
Filtrar a lista para incluir apenas os serviços Web implantados com o código hash da imagem específica. Valor padrão: None
|
Retornos
Tipo | Description |
---|---|
Uma lista filtrada de serviços Web no workspace fornecido. |
Exceções
Tipo | Description |
---|---|
regen_key
Regenerar uma das chaves do serviço Web, a chave 'Primária' ou a 'Secundária'.
Uma WebserviceException será gerada se a key
não for especificada ou não for 'Primária' ou 'Secundária'.
regen_key(key, set_key=None)
Parâmetros
Nome | Description |
---|---|
key
Obrigatório
|
A chave a ser regenerada. As opções são 'Primária' ou 'Secundária'. |
set_key
|
Um valor especificado pelo usuário que permite a especificação manual do valor da chave Valor padrão: None
|
Exceções
Tipo | Description |
---|---|
run
Chamar esse serviço Web com a entrada fornecida.
Método abstrato implementado por classes filho de Webservice.
abstract run(input)
Parâmetros
Nome | Description |
---|---|
input
Obrigatório
|
<xref:varies>
Os dados de entrada com os quais chamar o serviço Web. Esses são os dados que seu modelo de machine learning espera como entrada para executar previsões. |
Retornos
Tipo | Description |
---|---|
O resultado da chamada ao serviço Web. Retornará previsões executadas de seu modelo de machine learning. |
Exceções
Tipo | Description |
---|---|
serialize
Converter esse objeto de serviço Web em um dicionário serializado JSON.
Use deserialize para converter novamente em um objeto de serviço Web.
serialize()
Retornos
Tipo | Description |
---|---|
A representação JSON desse serviço Web. |
Exceções
Tipo | Description |
---|---|
update
Atualizar os parâmetros do serviço Web.
Esse é um método abstrato implementado por classes filhas de Webservice. Os parâmetros que podem ser atualizados variam de acordo com o tipo filho do serviço Web. Por exemplo, para serviços Web das Instâncias de Contêiner do Azure, consulte update para obter parâmetros específicos.
abstract update(*args)
Parâmetros
Nome | Description |
---|---|
args
Obrigatório
|
<xref:varies>
Valores a serem atualizados. |
Exceções
Tipo | Description |
---|---|
update_deployment_state
Atualizar o estado atual do objeto na memória.
Executar uma atualização local das propriedades do objeto com base no estado atual do objeto de nuvem correspondente. Útil principalmente para sondagem manual do estado de criação.
update_deployment_state()
Exceções
Tipo | Description |
---|---|
wait_for_deployment
Sondar automaticamente a implantação do serviço Web em execução.
Aguardar até que o serviço Web alcance um estado terminal. Emitirá um WebserviceException se atingir um estado de terminal sem êxito ou exceder o tempo limite fornecido.
wait_for_deployment(show_output=False, timeout_sec=None)
Parâmetros
Nome | Description |
---|---|
show_output
|
Indica se uma saída mais detalhada deve ser impressa. Valor padrão: False
|
timeout_sec
|
Gerar uma exceção se a implantação exceder o tempo limite especificado. Valor padrão: None
|
Exceções
Tipo | Description |
---|---|