AksWebservice Classe

Representa um modelo de machine learning implementado como um ponto final de serviço Web no Azure Kubernetes Service.

Um serviço implementado é criado a partir de um modelo, script e ficheiros associados. O serviço Web resultante é um ponto final HTTP com balanceamento de carga com uma API REST. Pode enviar dados para esta API e receber a predição devolvida pelo modelo.

O AksWebservice implementa um único serviço num ponto final. Para implementar vários serviços num ponto final, utilize a AksEndpoint classe.

Para obter mais informações, veja Implementar um modelo num cluster de Azure Kubernetes Service.

Inicialize a instância do Webservice.

O construtor de serviços Web 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
AksWebservice

Construtor

AksWebservice(workspace, name)

Parâmetros

workspace
Workspace
Necessário

O objeto da área de trabalho que contém o objeto Webservice a obter.

name
str
Necessário

O nome do objeto Webservice a obter.

Observações

O padrão de implementação recomendado é criar um objeto de configuração de implementação com o deploy_configuration método e, em seguida, utilizá-lo com o deploy método da Model classe, 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 a partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

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.

  • 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

A secção Variables (Variáveis ) lista os atributos de uma representação local do objeto cloud AksWebservice. 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

enable_app_insights
bool

Se o registo do AppInsights está ou não ativado para o Serviço Web.

autoscaler
AutoScaler

O objeto Dimensionador Automático para o Webservice.

compute_name
str

O nome do ComputeTarget no qual o Webservice está implementado.

container_resource_requirements
ContainerResourceRequirements

Os requisitos de recursos de contentor para o Webservice.

liveness_probe_requirements
LivenessProbeRequirements

Os requisitos da pesquisa liveness para o Webservice.

data_collection
DataCollection

O objeto DataCollection para o Webservice.

max_concurrent_requests_per_container
int

O número máximo de pedidos simultâneos por contentor para o Serviço Web.

max_request_wait_time
int

O tempo máximo de espera do pedido para o Webservice, em milissegundos.

num_replicas
int

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

scoring_timeout_ms
int

O tempo limite de classificação para o Webservice, em milissegundos.

azureml.core.webservice.AksWebservice.scoring_uri
str

O ponto final de classificação do Webservice

is_default
bool

Se o Webservice for a versão predefinida do AksEndpoint principal.

traffic_percentile
int

Que percentagem de tráfego a encaminhar para o Serviço Web no AksEndpoint principal.

version_type
VersionType

O tipo de versão do Serviço Web no AksEndpoint principal.

token_auth_enabled
bool

Se a autenticação de token está ou não ativada para o Serviço Web.

environment
Environment

O objeto Ambiente que foi utilizado para criar o Webservice.

azureml.core.webservice.AksWebservice.models
list[Model]

Uma lista de Modelos implementados no Webservice.

deployment_status
str

O estado de implementação do Webservice.

namespace
str

O espaço de nomes do AKS do Webservice.

azureml.core.webservice.AksWebservice.swagger_uri
str

O ponto final swagger para o Webservice.

Métodos

add_properties

Adicione pares de valores chave ao dicionário de propriedades deste Webservice.

add_tags

Adicione pares de valores chave ao dicionário de etiquetas deste Webservice.

Eleva um WebserviceException.

deploy_configuration

Crie um objeto de configuração para implementar num destino de computação do AKS.

get_access_token

Obtenha o token de autenticação para este Webservice.

get_token

PRETERIDO. Em vez disso, utilize get_access_token o método .

Obtenha o token de autenticação para este Webservice.

remove_tags

Remova as chaves especificadas do dicionário de etiquetas deste Webservice.

run

Chame este Serviço Web com a entrada fornecida.

serialize

Converta este Webservice num dicionário serializado JSON.

update

Atualize o Serviço Web com as propriedades fornecidas.

Os valores deixados como Nenhum permanecerão inalterados neste Serviço Web.

add_properties

Adicione pares de valores chave ao dicionário de propriedades deste Webservice.

add_properties(properties)

Parâmetros

properties
dict[str, str]
Necessário

O dicionário de propriedades a adicionar.

add_tags

Adicione pares de valores chave ao dicionário de etiquetas deste Webservice.

Eleva um WebserviceException.

add_tags(tags)

Parâmetros

tags
dict[str, str]
Necessário

O dicionário de etiquetas a adicionar.

Exceções

deploy_configuration

Crie um objeto de configuração para implementar num 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

autoscale_enabled
bool
valor predefinido: None

Se pretende ativar ou não o dimensionamento automático para este webservice. A predefinição é Verdadeiro se num_replicas for Nenhum.

autoscale_min_replicas
int
valor predefinido: None

O número mínimo de contentores a utilizar ao dimensionar automaticamente este webservice. A predefinição é 1.

autoscale_max_replicas
int
valor predefinido: None

O número máximo de contentores a utilizar ao dimensionar automaticamente este Webservice. A predefinição é 10.

autoscale_refresh_seconds
int
valor predefinido: None

Com que frequência o dimensionador automático deve tentar dimensionar este webservice. A predefinição é 1.

autoscale_target_utilization
int
valor predefinido: None

A utilização de destino (em percentagem de 100) que o dimensionador automático deve tentar manter para este webservice. A predefinição é 70.

collect_model_data
bool
valor predefinido: None

Se pretende ativar ou não a recolha de dados de modelos para este Webservice. A predefinição é Falso.

auth_enabled
bool
valor predefinido: None

Se pretende ativar ou não a autenticação de chave para este webservice. A predefinição é Verdadeiro.

cpu_cores
float
valor predefinido: None

O número de núcleos de cpu a alocar para este Webservice. Pode ser um decimal. A predefinição é 0.1. Corresponde ao pedido do núcleo do pod, não ao limite, no Azure Kubernetes Service.

memory_gb
float
valor predefinido: None

A quantidade de memória (em GB) a alocar para este webservice. Pode ser um decimal. A predefinição é 0,5. Corresponde ao pedido de memória do pod, não ao limite, no Azure Kubernetes Service.

enable_app_insights
bool
valor predefinido: None

Se pretende ativar ou não o registo do Application Insights para este Webservice. A predefinição é Falso.

scoring_timeout_ms
int
valor predefinido: None

Um tempo limite para impor chamadas de classificação para este webservice. A predefinição é 60000.

replica_max_concurrent_requests
int
valor predefinido: None

O número máximo de pedidos simultâneos por réplica para permitir este serviço Web. A predefinição é 1. Não altere esta definição do valor predefinido de 1, a menos que seja instruído pelo Suporte Técnico da Microsoft ou por um membro da equipa do Azure Machine Learning.

max_request_wait_time
int
valor predefinido: None

A quantidade máxima de tempo que um pedido permanecerá na fila (em milissegundos) antes de devolver um erro 503. A predefinição é 500.

num_replicas
int
valor predefinido: None

O número de contentores a alocar para este Webservice. Sem predefinição, se este parâmetro não estiver definido, o dimensionador automático está ativado por predefinição.

primary_key
str
valor predefinido: None

Uma chave de autenticação primária a utilizar para este webservice.

secondary_key
str
valor predefinido: None

Uma chave de autenticação secundária a utilizar para este webservice.

tags
dict[str, str]
valor predefinido: None

Dicionário de etiquetas de valor de chave para dar este webservice.

properties
dict[str, str]
valor predefinido: None

Dicionário de propriedades de valor de chave para fornecer este Webservice. Estas propriedades não podem ser alteradas após a implementação, no entanto, podem ser adicionados novos pares de valores chave.

description
str
valor predefinido: None

Uma descrição para dar a este Webservice.

gpu_cores
int
valor predefinido: None

O número de núcleos de GPU a alocar para este Webservice. A predefinição é 0.

period_seconds
int
valor predefinido: None

Com que frequência (em segundos) executar a sonda liveness. Predefinição para 10 segundos. O valor mínimo é 1.

initial_delay_seconds
int
valor predefinido: None

O número de segundos após o início do contentor antes de as pesquisas liveness serem iniciadas. A predefinição é 310.

timeout_seconds
int
valor predefinido: None

O número de segundos após o qual a sonda liveness excede o tempo limite. A predefinição é de 2 segundos. O valor mínimo é 1.

success_threshold
int
valor predefinido: None

Os êxitos mínimos consecutivos para a sonda liveness serem considerados bem-sucedidos depois de terem falhado. A predefinição é 1. O valor mínimo é 1.

failure_threshold
int
valor predefinido: None

Quando um Pod é iniciado e a sonda liveness falha, o Kubernetes tentará as horas de failureThreshold antes de desistir. A predefinição é 3. O valor mínimo é 1.

namespace
str
valor predefinido: None

O espaço de nomes do Kubernetes no qual pretende implementar este Webservice: até 63 carateres alfanuméricos em minúsculas ('a'-'z', '0'-'9') e hífen ('-'). O primeiro e o último carateres não podem ser hífenes.

token_auth_enabled
bool
valor predefinido: None

Quer ative ou não a autenticação do Token para este Serviço Web. Se esta opção estiver ativada, os utilizadores podem aceder a este Webservice ao obter um token de acesso com as respetivas credenciais do Azure Active Directory. Predefinições para Falso.

compute_target_name
str
valor predefinido: None

O nome do destino de computação a implementar no

cpu_cores_limit
float
valor predefinido: None

O número máximo de núcleos de cpu que este Webservice pode utilizar. Pode ser um decimal.

memory_gb_limit
float
valor predefinido: None

A quantidade máxima de memória (em GB) que este Webservice pode utilizar. Pode ser um decimal.

blobfuse_enabled
bool
valor predefinido: None

Quer ative ou não o blobfuse para transferência de modelos para este Webservice. Predefinições para Verdadeiro

Devoluções

Um objeto de configuração a utilizar ao implementar um AksWebservice.

Tipo de retorno

Exceções

get_access_token

Obtenha o token de autenticação para este Webservice.

get_access_token()

Devoluções

Um objeto que descreve o token de autenticação para este Webservice.

Tipo de retorno

Exceções

get_token

PRETERIDO. Em vez disso, utilize get_access_token o método .

Obtenha o token de autenticação para este Webservice.

get_token()

Devoluções

O token de autenticação para este webservice e quando o atualizar.

Tipo de retorno

Exceções

remove_tags

Remova as chaves especificadas do dicionário de etiquetas deste Webservice.

remove_tags(tags)

Parâmetros

tags
list[str]
Necessário

A lista de chaves a remover

run

Chame este Serviço Web com a entrada fornecida.

run(input_data)

Parâmetros

input_data
<xref:varies>
Necessário

A entrada para chamar o Serviço Web com

Devoluções

O resultado da chamada para o Serviço Web

Tipo de retorno

Exceções

serialize

Converta este Webservice num dicionário serializado JSON.

serialize()

Devoluções

A representação JSON deste Webservice.

Tipo de retorno

update

Atualize o Serviço Web com as propriedades fornecidas.

Os valores deixados como Nenhum 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

image
Image
valor predefinido: None

Uma nova Imagem para implementar no Webservice

autoscale_enabled
bool
valor predefinido: None

Ativar ou desativar o dimensionamento automático deste Webservice

autoscale_min_replicas
int
valor predefinido: None

O número mínimo de contentores a utilizar ao dimensionar automaticamente este Webservice

autoscale_max_replicas
int
valor predefinido: None

O número máximo de contentores a utilizar ao dimensionar automaticamente este Webservice

autoscale_refresh_seconds
int
valor predefinido: None

Com que frequência o dimensionador automático deve tentar dimensionar este Webservice

autoscale_target_utilization
int
valor predefinido: None

A utilização de destino (em percentagem em 100) que o dimensionador automático deve tentar manter para este Webservice

collect_model_data
bool
valor predefinido: None

Ativar ou desativar a recolha de dados de modelos para este Webservice

auth_enabled
bool
valor predefinido: None

Se pretende ou não ativar a autenticação para este Webservice

cpu_cores
float
valor predefinido: None

O número de núcleos de cpu a alocar para este Webservice. Pode ser um decimal

memory_gb
float
valor predefinido: None

A quantidade de memória (em GB) a alocar para este Webservice. Pode ser um decimal

enable_app_insights
bool
valor predefinido: None

Se pretende ou não ativar o registo do Application Insights para este Serviço Web

scoring_timeout_ms
int
valor predefinido: None

Um tempo limite para impor chamadas de classificação para este webservice

replica_max_concurrent_requests
int
valor predefinido: None

O número máximo de pedidos simultâneos por réplica para permitir este Webservice.

max_request_wait_time
int
valor predefinido: None

A quantidade máxima de tempo que um pedido permanecerá na fila (em milissegundos) antes de devolver um erro 503

num_replicas
int
valor predefinido: None

O número de contentores a alocar para este Webservice

tags
dict[str, str]
valor predefinido: None

Dicionário de etiquetas de valor chave para fornecer este Webservice. Substituirá as etiquetas existentes.

properties
dict[str, str]
valor predefinido: None

Dicionário de propriedades de valor chave a adicionar ao dicionário de propriedades existentes

description
str
valor predefinido: None

Uma descrição para fornecer este serviço Web

models
list[Model]
valor predefinido: None

Uma lista de objetos de Modelo a empacotar com o serviço atualizado

inference_config
InferenceConfig
valor predefinido: None

Um objeto InferenceConfig utilizado para fornecer as propriedades de implementação do modelo necessárias.

gpu_cores
int
valor predefinido: None

O número de núcleos gpu a alocar para este Webservice

period_seconds
int
valor predefinido: None

Com que frequência (em segundos) executar a sonda liveness. Predefinição para 10 segundos. O valor mínimo é 1.

initial_delay_seconds
int
valor predefinido: None

Número de segundos após o início do contentor antes de as sondas liveness serem iniciadas.

timeout_seconds
int
valor predefinido: None

Número de segundos após o qual a sonda de liveness excede o limite de tempo. A predefinição é de 1 segundo. O valor mínimo é 1.

success_threshold
int
valor predefinido: None

Êxitos mínimos consecutivos para que a sonda liveness seja considerada com êxito depois de ter falhado. A predefinição é 1. O valor mínimo é 1.

failure_threshold
int
valor predefinido: None

Quando um Pod é iniciado e a sonda liveness falha, o Kubernetes tentará falharTestenha tempos antes de desistir. A predefinição é 3. O valor mínimo é 1.

namespace
str
valor predefinido: None

O espaço de nomes do Kubernetes no qual pretende implementar este Webservice: até 63 carateres alfanuméricos em minúsculas ('a'-'z', '0'-'9') e carateres de hífen ('-'). Os primeiros e últimos carateres não podem ser hífenes.

token_auth_enabled
bool
valor predefinido: None

Quer ative ou não a autenticação do Token para este Serviço Web. Se esta opção estiver ativada, os utilizadores podem aceder a este webservice ao obter o token de acesso com as respetivas credenciais do Azure Active Directory. Predefinições para Falso

cpu_cores_limit
float
valor predefinido: None

O número máximo de núcleos de cpu que este Webservice pode utilizar. Pode ser um decimal.

memory_gb_limit
float
valor predefinido: None

A quantidade máxima de memória (em GB) que este Webservice pode utilizar. Pode ser um decimal.

kwargs
<xref:varies>
Necessário

inclua parâmetros para suportar a migração do serviço Web do AKS para o ponto final e implementação online do Kubernetes. is_migration=Verdadeiro| Falso, compute_target=.

Exceções