AksWebservice Classe

Representa um modelo de machine learning implantado como um ponto de extremidade de serviço Web no Serviço de Kubernetes do Azure.

Um serviço implementado é criado a partir de um modelo, script e arquivos associados. O serviço Web resultante é um ponto de extremidade HTTP com balanceamento de carga com uma API REST. Você pode enviar dados para essa API e receber a previsão retornada pelo modelo.

O AksWebservice implanta um serviço único em um ponto de extremidade. Para implantar vários serviços em um ponto de extremidade, use a classe AksEndpoint.

Para saber mais, confira Implantar um modelo em um cluster do Serviço de Kubernetes do Azure.

Inicialize a instância de serviço Web.

O construtor de serviço Web 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 de serviço Web recuperado.

Herança
AksWebservice

Construtor

AksWebservice(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
str

O nome do objeto de serviço Web a ser recuperado.

Comentários

O padrão de implantação recomendado é criar um objeto de configuração de implantação com o método deploy_configuration e, em seguida, usá-lo com o método deploy da classe Model, conforme mostrado abaixo.


   # 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

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.

  • 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

A seção Variáveis lista os atributos de uma representação local do objeto AksWebservice na nuvem. Essas variáveis devem ser consideradas somente leitura. Alterar os valores não será refletido no objeto de nuvem correspondente.

Variáveis

Nome Description
enable_app_insights

Se o log do AppInsights está habilitado ou não para o serviço Web.

autoscaler

O objeto Autoscaler para o serviço Web.

compute_name
str

O nome do ComputeTarget em que o serviço Web está implantado.

container_resource_requirements

Os requisitos de recursos do contêiner para o serviço Web.

liveness_probe_requirements

Os requisitos de sondagem de atividade para o serviço Web.

data_collection

O objeto DataCollection para o serviço Web.

max_concurrent_requests_per_container
int

O número máximo de solicitações simultâneas por contêiner para o serviço Web.

max_request_wait_time
int

O tempo de espera máximo de solicitação para o serviço Web, em milissegundos.

num_replicas
int

O número de réplicas para o serviço Web. Cada réplica corresponde a um pod do AKS.

scoring_timeout_ms
int

O tempo de pontuação para o serviço Web, em milissegundos.

azureml.core.webservice.AksWebservice.scoring_uri
str

O ponto de extremidade de pontuação para o serviço Web

is_default

Se o serviço Web for a versão padrão para o AksEndpoint pai.

traffic_percentile
int

Qual percentual de tráfego rotear para o serviço Web no AksEndpoint pai.

version_type

O tipo de versão para o serviço Web no AksEndpoint pai.

token_auth_enabled

Se a autenticação de token está ou não habilitada para o serviço Web.

environment

O objeto Environment que foi usado para criar o serviço Web.

azureml.core.webservice.AksWebservice.models

Uma lista de modelos implantados no serviço Web.

deployment_status
str

O status de implantação do serviço Web.

namespace
str

O namespace do AKS do serviço Web.

azureml.core.webservice.AksWebservice.swagger_uri
str

O ponto de extremidade do swagger para o serviço Web.

Métodos

add_properties

Adiciona pares chave-valor ao dicionário de propriedades desse serviço Web.

add_tags

Adiciona pares de chave-valor ao dicionário de marcas desse serviço Web.

Gera WebserviceException.

deploy_configuration

Cria um objeto de configuração para implantação em um destino de computação do AKS.

get_access_token

Recupere o token de autenticação para esse serviço Web.

get_token

PRETERIDO. Use o método get_access_token.

Recupere o token de autenticação para esse serviço Web.

remove_tags

Remove as chaves especificadas do dicionário de marcas deste serviço Web.

run

Chama esse serviço Web com a entrada fornecida.

serialize

Converte esse serviço Web em um dicionário serializado JSON.

update

Atualiza o serviço Web com as propriedades fornecidas.

Os valores deixados como None permanecerão inalterados neste serviço Web.

add_properties

Adiciona pares chave-valor ao dicionário de propriedades desse serviço Web.

add_properties(properties)

Parâmetros

Nome Description
properties
Obrigatório

O dicionário de propriedades a adicionar.

add_tags

Adiciona pares de chave-valor ao dicionário de marcas desse serviço Web.

Gera WebserviceException.

add_tags(tags)

Parâmetros

Nome Description
tags
Obrigatório

O dicionário de marcas a adicionar.

Exceções

Tipo Description

deploy_configuration

Cria um objeto de configuração para implantação em um destino de computação do AKS.

static deploy_configuration(autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, primary_key=None, secondary_key=None, tags=None, properties=None, description=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, compute_target_name=None, cpu_cores_limit=None, memory_gb_limit=None, blobfuse_enabled=None)

Parâmetros

Nome Description
autoscale_enabled

Se o cálculo automático deve ou não ser habilitado para este serviço Web. O valor padrão será True se num_replicas for None.

Valor padrão: None
autoscale_min_replicas
int

O número mínimo de contêineres a serem usados no dimensionamento automático desse serviço Web. O valor padrão é 1.

Valor padrão: None
autoscale_max_replicas
int

O número máximo de contêineres a serem usados no dimensionamento automático desse serviço Web. O valor padrão é 10.

Valor padrão: None
autoscale_refresh_seconds
int

Com que frequência o dimensionador automático deve tentar dimensionar esse serviço Web. O valor padrão é 1.

Valor padrão: None
autoscale_target_utilization
int

A utilização de destino (em percentual de 100) que o dimensionador automático deve tentar manter para esse serviço Web. O valor padrão é 70.

Valor padrão: None
collect_model_data

Se a coleta de dados de modelo deve ou não ser habilitada para esse serviço Web. Usa False como padrão.

Valor padrão: None
auth_enabled

Se deve ou não habilitar a autenticação de chave para esse serviço Web. O padrão é True.

Valor padrão: None
cpu_cores

O número de núcleos de CPU a serem alocados para esse serviço Web. Pode ser um decimal. O padrão é 0.1. Corresponde à solicitação do núcleo de pod, não ao limite, no Serviço de Kubernetes do Azure.

Valor padrão: None
memory_gb

A quantidade de memória (em GB) a ser alocada para esse serviço Web. Pode ser um decimal. O padrão é 0.5. Corresponde à solicitação de memória de pod, não ao limite, no Serviço de Kubernetes do Azure.

Valor padrão: None
enable_app_insights

Se o registro em log do Application Insights deve ou não ser habilitado para esse serviço Web. Usa False como padrão.

Valor padrão: None
scoring_timeout_ms
int

Um tempo limite a ser imposto para chamadas de pontuação para este serviço Web. O valor padrão é 60000.

Valor padrão: None
replica_max_concurrent_requests
int

O número máximo de solicitações simultâneas por réplica permitidas para esse serviço Web. O valor padrão é 1. Não altere o valor padrão 1 dessa configuração, a menos que seja instruído pelo suporte técnico da Microsoft ou por um membro da equipe do Azure Machine Learning.

Valor padrão: None
max_request_wait_time
int

A quantidade máxima de tempo que uma solicitação permanece na fila (em milissegundos) antes de retornar um erro 503. O valor padrão é 500.

Valor padrão: None
num_replicas
int

O número de contêineres alocados para este serviço Web. Sem padrão; se este parâmetro não for definido, o dimensionamento automático será habilitado por padrão.

Valor padrão: None
primary_key
str

Uma chave de autenticação primária usada para esse serviço Web.

Valor padrão: None
secondary_key
str

Uma chave de autenticação secundária usada para esse serviço Web.

Valor padrão: None
tags

Dicionário de marcas de chave/valor para fornecer a esse serviço Web.

Valor padrão: None
properties

Dicionário de propriedades de chave/valor fornecidas a esse 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.

Valor padrão: None
description
str

Uma descrição fornecida a esse serviço Web.

Valor padrão: None
gpu_cores
int

O número de núcleos de GPU alocados para esse serviço Web. Assume o padrão de 0.

Valor padrão: None
period_seconds
int

A frequência (em segundos) para realizar a investigação de atividade. O padrão é 10 segundos. O valor mínimo é 1.

Valor padrão: None
initial_delay_seconds
int

O número de segundos depois que o contêiner é iniciado antes que as investigações de atividade sejam iniciadas. O valor padrão é 310.

Valor padrão: None
timeout_seconds
int

O número de segundos após os quais a investigação de atividade atinge o tempo limite. O valor padrão é 2 segundos. O valor mínimo é 1.

Valor padrão: None
success_threshold
int

O mínimo de sucessos consecutivos para que a investigação de atividade seja considerada bem-sucedida após apresentar falha. O valor padrão é 1. O valor mínimo é 1.

Valor padrão: None
failure_threshold
int

Quando um pod for iniciado e a investigação de atividade falhar, o Kubernetes tentará o failureThreshold vezes antes de desistir. O valor padrão é 3. O valor mínimo é 1.

Valor padrão: None
namespace
str

O namespace do Kubernetes para implantar este serviço Web: até 63 caracteres alfanuméricos minúsculos ('a'-'z', '0'-'9') e hífen ('-'). O primeiro e o último caracteres não podem ser hifens.

Valor padrão: None
token_auth_enabled

Se deve ou não habilitar a autenticação de Token para esse serviço Web. Se isso estiver habilitado, os usuários poderão acessar esse serviço Web buscando um token de acesso usando as credenciais deles do Azure Active Directory. Usa False como padrão.

Valor padrão: None
compute_target_name
str

O nome do destino de computação a ser implantado

Valor padrão: None
cpu_cores_limit

O número máximo de núcleos de CPU que esse serviço Web tem permissão para usar. Pode ser um decimal.

Valor padrão: None
memory_gb_limit

A quantidade máxima de memória (em GB) que esse serviço Web tem permissão para usar. Pode ser um decimal.

Valor padrão: None
blobfuse_enabled

Se deve ou não habilitar o blobfuse para download de modelo para esse serviço Web. O padrão é True

Valor padrão: None

Retornos

Tipo Description

Um objeto de configuração a ser usado ao implantar um AksWebservice.

Exceções

Tipo Description

get_access_token

Recupere o token de autenticação para esse serviço Web.

get_access_token()

Retornos

Tipo Description

Um objeto que descreve o token de autenticação para esse serviço Web.

Exceções

Tipo Description

get_token

PRETERIDO. Use o método get_access_token.

Recupere o token de autenticação para esse serviço Web.

get_token()

Retornos

Tipo Description

O token de autenticação para esse serviço Web e quando atualizá-lo.

Exceções

Tipo Description

remove_tags

Remove as chaves especificadas do dicionário de marcas deste serviço Web.

remove_tags(tags)

Parâmetros

Nome Description
tags
Obrigatório

A lista de chaves para remover

run

Chama esse serviço Web com a entrada fornecida.

run(input_data)

Parâmetros

Nome Description
input_data
Obrigatório
<xref:varies>

A entrada para chamar o serviço Web

Retornos

Tipo Description

O resultado da chamada do serviço Web

Exceções

Tipo Description

serialize

Converte esse serviço Web em um dicionário serializado JSON.

serialize()

Retornos

Tipo Description

A representação JSON desse serviço Web.

update

Atualiza o serviço Web com as propriedades fornecidas.

Os valores deixados como None permanecerão inalterados neste serviço Web.

update(image=None, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, tags=None, properties=None, description=None, models=None, inference_config=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, cpu_cores_limit=None, memory_gb_limit=None, **kwargs)

Parâmetros

Nome Description
image

Uma nova imagem para implantar no serviço Web

Valor padrão: None
autoscale_enabled

Habilitar ou desabilitar o dimensionamento automático desse serviço Web

Valor padrão: None
autoscale_min_replicas
int

O número mínimo de contêineres a serem usados no dimensionamento automático desse serviço Web

Valor padrão: None
autoscale_max_replicas
int

O número máximo de contêineres a serem usados no dimensionamento automático desse serviço Web

Valor padrão: None
autoscale_refresh_seconds
int

Com que frequência o dimensionador automático deve tentar dimensionar esse serviço Web

Valor padrão: None
autoscale_target_utilization
int

A utilização de destino (em percentual de 100) que o dimensionador automático deve tentar manter para esse serviço Web

Valor padrão: None
collect_model_data

Habilitar ou desabilitar a coleta de dados de modelo para esse serviço Web

Valor padrão: None
auth_enabled

Se a autenticação deve ou não ser habilitada para esse serviço Web

Valor padrão: None
cpu_cores

O número de núcleos de CPU a serem alocados para esse serviço Web. Pode ser um decimal

Valor padrão: None
memory_gb

A quantidade de memória (em GB) alocada para esse serviço Web. Pode ser um decimal

Valor padrão: None
enable_app_insights

Se o registro em log do Application Insights deve ou não ser habilitado para esse serviço Web

Valor padrão: None
scoring_timeout_ms
int

Um tempo limite para aplicar chamadas de pontuação para este serviço Web

Valor padrão: None
replica_max_concurrent_requests
int

O número máximo de solicitações simultâneas por réplica permitidas para esse serviço Web.

Valor padrão: None
max_request_wait_time
int

A quantidade máxima de tempo que uma solicitação permanece na fila (em milissegundos) antes de retornar um erro 503

Valor padrão: None
num_replicas
int

O número de contêineres a serem alocados para esse serviço Web

Valor padrão: None
tags

Dicionário de marcas de chave/valor para fornecer a esse serviço Web. Substituirá as marcas existentes.

Valor padrão: None
properties

Dicionário de propriedades de chave-valor para adicionar ao dicionário de propriedades existente

Valor padrão: None
description
str

Uma descrição a ser fornecida a esse serviço Web

Valor padrão: None
models

Uma lista de objetos Modelo para pacote com o serviço atualizado

Valor padrão: None
inference_config

Um objeto InferenceConfig usado para fornecer as propriedades de implantação de modelo necessárias.

Valor padrão: None
gpu_cores
int

O número de núcleos de GPU a serem alocados para esse serviço Web

Valor padrão: None
period_seconds
int

A frequência (em segundos) para realizar a investigação de atividade. O padrão é 10 segundos. O valor mínimo é 1.

Valor padrão: None
initial_delay_seconds
int

Número de segundos depois que o contêiner é iniciado antes que as investigações de atividade sejam iniciadas.

Valor padrão: None
timeout_seconds
int

Número de segundos após os quais a investigação de atividade expira. O padrão é 1 segundo. O valor mínimo é 1.

Valor padrão: None
success_threshold
int

O mínimo de sucessos consecutivos para que a investigação de atividade seja considerada bem-sucedida após apresentar falha. O valor padrão é 1. O valor mínimo é 1.

Valor padrão: None
failure_threshold
int

Quando um pod for iniciado e a investigação de atividade falhar, o Kubernetes tentará o failureThreshold vezes antes de desistir. O valor padrão é 3. O valor mínimo é 1.

Valor padrão: None
namespace
str

O namespace do Kubernetes para implantar este serviço Web: até 63 caracteres alfanuméricos minúsculos ('a'-'z', '0'-'9') e hífen ('-'). O primeiro e o último caracteres não podem ser hifens.

Valor padrão: None
token_auth_enabled

Se deve ou não habilitar a autenticação de Token para esse serviço Web. Se isso estiver habilitado, os usuários poderão acessar esse serviço Web buscando o token de acesso usando as credenciais deles do Azure Active Directory. Usa False como padrão

Valor padrão: None
cpu_cores_limit

O número máximo de núcleos de CPU que esse serviço Web tem permissão para usar. Pode ser um decimal.

Valor padrão: None
memory_gb_limit

A quantidade máxima de memória (em GB) que esse serviço Web tem permissão para usar. Pode ser um decimal.

Valor padrão: None
kwargs
Obrigatório
<xref:varies>

inclui parâmetros para dar suporte à migração do serviço Web do AKS para o ponto de extremidade online e a implantação do Kubernetes. is_migration=True|False, compute_target=.

Exceções

Tipo Description