Partilhar via


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

Construtor

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

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 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 do Webservice, que 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

Name Description
enable_app_insights

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

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

Os requisitos de recursos de contentor para o Webservice.

liveness_probe_requirements

Os requisitos da pesquisa liveness para o Webservice.

data_collection

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

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

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

token_auth_enabled

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

environment

O objeto Ambiente que foi utilizado para criar o Webservice.

azureml.core.webservice.AksWebservice.models

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 alternativa, 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 Webservice com a entrada fornecida.

serialize

Converta este Webservice num dicionário serializado JSON.

update

Atualize o Webservice com as propriedades fornecidas.

Os valores deixados como Nenhum permanecerão inalterados neste webservice.

add_properties

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

add_properties(properties)

Parâmetros

Name Description
properties
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

Name Description
tags
Necessário

O dicionário de etiquetas a adicionar.

Exceções

Tipo Description

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

Name Description
autoscale_enabled

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

Default value: None
autoscale_min_replicas
int

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

Default value: None
autoscale_max_replicas
int

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

Default value: None
autoscale_refresh_seconds
int

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

Default value: None
autoscale_target_utilization
int

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

Default value: None
collect_model_data

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

Default value: None
auth_enabled

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

Default value: None
cpu_cores

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.

Default value: None
memory_gb

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.

Default value: None
enable_app_insights

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

Default value: None
scoring_timeout_ms
int

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

Default value: None
replica_max_concurrent_requests
int

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.

Default value: None
max_request_wait_time
int

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

Default value: None
num_replicas
int

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.

Default value: None
primary_key
str

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

Default value: None
secondary_key
str

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

Default value: None
tags

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

Default value: None
properties

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.

Default value: None
description
str

Uma descrição para dar a este Webservice.

Default value: None
gpu_cores
int

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

Default value: None
period_seconds
int

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

Default value: None
initial_delay_seconds
int

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

Default value: None
timeout_seconds
int

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.

Default value: None
success_threshold
int

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.

Default value: None
failure_threshold
int

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.

Default value: None
namespace
str

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.

Default value: None
token_auth_enabled

Se pretende ativar ou não a autenticação de Token para este Webservice. 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. A predefinição é Falso.

Default value: None
compute_target_name
str

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

Default value: None
cpu_cores_limit

O número máximo de núcleos de cpu que este Webservice tem permissão para utilizar. Pode ser um decimal.

Default value: None
memory_gb_limit

A quantidade máxima de memória (em GB) que este Webservice tem permissão para utilizar. Pode ser um decimal.

Default value: None
blobfuse_enabled

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

Default value: None

Devoluções

Tipo Description

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

Exceções

Tipo Description

get_access_token

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

get_access_token()

Devoluções

Tipo Description

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

Exceções

Tipo Description

get_token

PRETERIDO. Em alternativa, utilize get_access_token o método .

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

get_token()

Devoluções

Tipo Description

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

Exceções

Tipo Description

remove_tags

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

remove_tags(tags)

Parâmetros

Name Description
tags
Necessário

A lista de chaves a remover

run

Chame este Webservice com a entrada fornecida.

run(input_data)

Parâmetros

Name Description
input_data
Necessário
<xref:varies>

A entrada para chamar o Webservice com

Devoluções

Tipo Description

O resultado da chamada do Webservice

Exceções

Tipo Description

serialize

Converta este Webservice num dicionário serializado JSON.

serialize()

Devoluções

Tipo Description

A representação JSON deste Webservice.

update

Atualize o Webservice com as propriedades fornecidas.

Os valores deixados como Nenhum permanecerão inalterados neste webservice.

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

Name Description
image

Uma nova Imagem a implementar no Webservice

Default value: None
autoscale_enabled

Ativar ou desativar o dimensionamento automático deste Webservice

Default value: None
autoscale_min_replicas
int

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

Default value: None
autoscale_max_replicas
int

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

Default value: None
autoscale_refresh_seconds
int

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

Default value: None
autoscale_target_utilization
int

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

Default value: None
collect_model_data

Ativar ou desativar a recolha de dados do modelo para este Webservice

Default value: None
auth_enabled

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

Default value: None
cpu_cores

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

Default value: None
memory_gb

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

Default value: None
enable_app_insights

Se pretende ativar ou não o registo do Application Insights para este Webservice

Default value: None
scoring_timeout_ms
int

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

Default value: None
replica_max_concurrent_requests
int

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

Default value: None
max_request_wait_time
int

O período máximo de tempo durante o qual um pedido permanecerá na fila (em milissegundos) antes de devolver um erro 503

Default value: None
num_replicas
int

O número de contentores a alocar para este Webservice

Default value: None
tags

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

Default value: None
properties

Dicionário de propriedades do valor da chave a adicionar ao dicionário de propriedades existente

Default value: None
description
str

Uma descrição para dar a este Webservice

Default value: None
models

Uma lista de Objetos de modelo a empacotar com o serviço atualizado

Default value: None
inference_config

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

Default value: None
gpu_cores
int

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

Default value: None
period_seconds
int

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

Default value: None
initial_delay_seconds
int

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

Default value: None
timeout_seconds
int

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

Default value: None
success_threshold
int

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

Default value: None
failure_threshold
int

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.

Default value: None
namespace
str

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.

Default value: None
token_auth_enabled

Se pretende ativar ou não a autenticação de Token para este Webservice. 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

Default value: None
cpu_cores_limit

O número máximo de núcleos de cpu que este Webservice tem permissão para utilizar. Pode ser um decimal.

Default value: None
memory_gb_limit

A quantidade máxima de memória (em GB) que este Webservice tem permissão para utilizar. Pode ser um decimal.

Default value: None
kwargs
Necessário
<xref:varies>

incluir 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

Tipo Description