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
- workspace
- Workspace
O objeto de workspace que contém o 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
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 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
- enable_app_insights
- bool
Se o log do AppInsights está habilitado ou não para o serviço Web.
- autoscaler
- 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
- ContainerResourceRequirements
Os requisitos de recursos do contêiner para o serviço Web.
- liveness_probe_requirements
- LivenessProbeRequirements
Os requisitos de sondagem de atividade para o serviço Web.
- data_collection
- DataCollection
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
- bool
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
- VersionType
O tipo de versão para o serviço Web no AksEndpoint pai.
- token_auth_enabled
- bool
Se a autenticação de token está ou não habilitada para o serviço Web.
- environment
- Environment
O objeto Environment que foi usado para criar o serviço Web.
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 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
add_tags
Adiciona pares de chave-valor ao dicionário de marcas desse serviço Web.
Gera WebserviceException.
add_tags(tags)
Parâmetros
Exceções
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
- autoscale_enabled
- bool
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.
- 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.
- 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.
- autoscale_refresh_seconds
- int
Com que frequência o dimensionador automático deve tentar dimensionar esse serviço Web. O valor padrão é 1.
- 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.
- collect_model_data
- bool
Se a coleta de dados de modelo deve ou não ser habilitada para esse serviço Web. Usa False como padrão.
- auth_enabled
- bool
Se deve ou não habilitar a autenticação de chave para esse serviço Web. O padrão é True.
- cpu_cores
- float
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.
- memory_gb
- float
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.
- enable_app_insights
- bool
Se o registro em log do Application Insights deve ou não ser habilitado para esse serviço Web. Usa False como padrão.
- 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.
- 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.
- 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.
- 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.
- secondary_key
- str
Uma chave de autenticação secundária usada para esse serviço Web.
Dicionário de marcas de chave/valor para fornecer a esse serviço Web.
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.
- gpu_cores
- int
O número de núcleos de GPU alocados para esse serviço Web. Assume o padrão de 0.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- token_auth_enabled
- bool
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.
- cpu_cores_limit
- float
O número máximo de núcleos de CPU que esse serviço Web tem permissão para usar. Pode ser um decimal.
- memory_gb_limit
- float
A quantidade máxima de memória (em GB) que esse serviço Web tem permissão para usar. Pode ser um decimal.
- blobfuse_enabled
- bool
Se deve ou não habilitar o blobfuse para download de modelo para esse serviço Web. O padrão é True
Retornos
Um objeto de configuração a ser usado ao implantar um AksWebservice.
Tipo de retorno
Exceções
get_access_token
Recupere o token de autenticação para esse serviço Web.
get_access_token()
Retornos
Um objeto que descreve o token de autenticação para esse serviço Web.
Tipo de retorno
Exceções
get_token
PRETERIDO. Use o método get_access_token
.
Recupere o token de autenticação para esse serviço Web.
get_token()
Retornos
O token de autenticação para esse serviço Web e quando atualizá-lo.
Tipo de retorno
Exceções
remove_tags
Remove as chaves especificadas do dicionário de marcas deste serviço Web.
remove_tags(tags)
Parâmetros
run
Chama esse serviço Web com a entrada fornecida.
run(input_data)
Parâmetros
- input_data
- <xref:varies>
A entrada para chamar o serviço Web
Retornos
O resultado da chamada do serviço Web
Tipo de retorno
Exceções
serialize
Converte esse serviço Web em um dicionário serializado JSON.
serialize()
Retornos
A representação JSON desse serviço Web.
Tipo de retorno
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
- autoscale_enabled
- bool
Habilitar ou desabilitar o dimensionamento automático desse serviço Web
- autoscale_min_replicas
- int
O número mínimo de contêineres a serem usados no dimensionamento automático desse serviço Web
- autoscale_max_replicas
- int
O número máximo de contêineres a serem usados no dimensionamento automático desse serviço Web
- autoscale_refresh_seconds
- int
Com que frequência o dimensionador automático deve tentar dimensionar esse serviço Web
- 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
- collect_model_data
- bool
Habilitar ou desabilitar a coleta de dados de modelo para esse serviço Web
- auth_enabled
- bool
Se a autenticação deve ou não ser habilitada para esse serviço Web
- cpu_cores
- float
O número de núcleos de CPU a serem alocados para esse serviço Web. Pode ser um decimal
- memory_gb
- float
A quantidade de memória (em GB) alocada para esse serviço Web. Pode ser um decimal
- enable_app_insights
- bool
Se o registro em log do Application Insights deve ou não ser habilitado para esse serviço Web
- scoring_timeout_ms
- int
Um tempo limite para aplicar chamadas de pontuação para este serviço Web
- replica_max_concurrent_requests
- int
O número máximo de solicitações simultâneas por réplica permitidas para esse serviço Web.
- 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
Dicionário de marcas de chave/valor para fornecer a esse serviço Web. Substituirá as marcas existentes.
Dicionário de propriedades de chave-valor para adicionar ao dicionário de propriedades existente
Uma lista de objetos Modelo para pacote com o serviço atualizado
- inference_config
- InferenceConfig
Um objeto InferenceConfig usado para fornecer as propriedades de implantação de modelo necessárias.
- 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.
- initial_delay_seconds
- int
Número de segundos depois que o contêiner é iniciado antes que as investigações de atividade sejam iniciadas.
- 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.
- 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.
- 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.
- 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.
- token_auth_enabled
- bool
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
- cpu_cores_limit
- float
O número máximo de núcleos de CPU que esse serviço Web tem permissão para usar. Pode ser um decimal.
- memory_gb_limit
- float
A quantidade máxima de memória (em GB) que esse serviço Web tem permissão para usar. Pode ser um decimal.
- kwargs
- <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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de