Compartilhar via


AmlCompute Classe

Gerencia uma computação do Azure Machine Learning no Azure Machine Learning.

Um AmlCompute (Computação do Azure Machine Learning) é uma infraestrutura de computação gerenciada que permite que você crie facilmente uma computação única ou de vários nós. A computação é criada na região do workspace como um recurso que pode ser compartilhado com outros usuários. Para obter mais informações, consulte O que são destinos de computação no Azure Machine Learning?

Construtor computeTarget de classe.

Recupere uma representação na nuvem de um objeto de computação associado ao workspace fornecido. Retorna uma instância de uma classe filho correspondente ao tipo específico do objeto compute recuperado.

Construtor

AmlCompute(workspace, name)

Parâmetros

Nome Description
workspace
Obrigatório

O objeto de workspace que contém o objeto AmlCompute a ser recuperado.

name
Obrigatório
str

O nome do objeto AmlCompute a ser recuperado.

workspace
Obrigatório

O objeto de workspace que contém o objeto Compute a ser recuperado.

name
Obrigatório
str

O nome do objeto Compute a ser recuperado.

Comentários

No exemplo a seguir, um destino de computação persistente provisionado por AmlCompute ele é criado. O provisioning_configuration parâmetro neste exemplo é de tipo AmlComputeProvisioningConfiguration, que é uma classe filho de ComputeTargetProvisioningConfiguration.


   from azureml.core.compute import ComputeTarget, AmlCompute
   from azureml.core.compute_target import ComputeTargetException

   # Choose a name for your CPU cluster
   cpu_cluster_name = "cpu-cluster"

   # Verify that cluster does not exist already
   try:
       cpu_cluster = ComputeTarget(workspace=ws, name=cpu_cluster_name)
       print('Found existing cluster, use it.')
   except ComputeTargetException:
       compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',
                                                              max_nodes=4)
       cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)

   cpu_cluster.wait_for_completion(show_output=True)

O exemplo completo está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-amlcompute/train-on-amlcompute.ipynb

Métodos

add_identity

Adicione ids de identidade e/ou tipo de identidade para este destino AmlCompute.

delete

Remova o objeto AmlCompute de seu workspace associado.

deserialize

Converta um objeto JSON em um objeto AmlCompute.

detach

Não há suporte para desanexar para o objeto AmlCompute. Use delete em seu lugar.

get

Retornar objeto de computação.

get_active_runs

Retornar um gerador das execuções para essa computação.

get_status

Recupere o status detalhado atual do cluster AmlCompute.

list_nodes

Obtenha os detalhes (por exemplo, endereço IP, porta etc.) de todos os nós de computação no destino de computação.

list_quotas

Obtenha as cotas de Workspace atribuídas no momento com base em VMFamily para determinado workspace e assinatura.

list_usages

Obtenha as informações de uso atuais, bem como os limites para recursos AML para determinado workspace e assinatura.

provisioning_configuration

Crie um objeto de configuração para provisionar um destino AmlCompute.

refresh_state

Execute uma atualização in-loco das propriedades do objeto.

Esse método atualiza as propriedades com base no estado atual do objeto de nuvem correspondente. Isso é usado principalmente para sondagem manual do estado de computação.

remove_identity

Remova a identidade na computação.

serialize

Converta esse objeto AmlCompute em um dicionário serializado JSON.

supported_vmsizes

Liste os tamanhos de VM com suporte em uma região.

update

Atualize o ScaleSettings destino do AmlCompute.

update_quotas

Atualize a cota de uma família de VMs no workspace.

wait_for_completion

Aguarde até que o cluster AmlCompute conclua o provisionamento.

Isso pode ser configurado para aguardar um número mínimo de nós e para o tempo limite após um período de tempo definido.

add_identity

Adicione ids de identidade e/ou tipo de identidade para este destino AmlCompute.

add_identity(identity_type, identity_id=None)

Parâmetros

Nome Description
identity_type
Obrigatório

Os valores possíveis são:

  • SystemAssigned – Identidade atribuída pelo sistema

  • UserAssigned – Identidade atribuída pelo usuário. Requer que a ID de identidade seja definida.

identity_id

Lista de IDs de recurso para a identidade atribuída pelo usuário. Eg. ['/subscriptions/<subid>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity /userAssignedIdentities/<id>']

Valor padrão: None

Comentários

identity_id só deve ser especificada quando identity_type == UserAssigned

delete

Remova o objeto AmlCompute de seu workspace associado.

delete()

Exceções

Tipo Description

Comentários

Se esse objeto tiver sido criado por meio do Azure Machine Learning, os objetos baseados em nuvem correspondentes também serão excluídos. Se esse objeto tiver sido criado externamente e anexado apenas ao workspace, esse método gerará um ComputeTargetException e nada será alterado.

deserialize

Converta um objeto JSON em um objeto AmlCompute.

static deserialize(workspace, object_dict)

Parâmetros

Nome Description
workspace
Obrigatório

O objeto de workspace ao qual o objeto AmlCompute está associado.

object_dict
Obrigatório

Um objeto JSON a ser convertido em um objeto AmlCompute.

Retornos

Tipo Description

A representação AmlCompute do objeto JSON fornecido.

Exceções

Tipo Description

Comentários

Gera um ComputeTargetException se o workspace fornecido não for o workspace ao qual a computação está associada.

detach

Não há suporte para desanexar para o objeto AmlCompute. Use delete em seu lugar.

detach()

Exceções

Tipo Description

get

Retornar objeto de computação.

get()

get_active_runs

Retornar um gerador das execuções para essa computação.

get_active_runs(type=None, tags=None, properties=None, status=None)

Parâmetros

Nome Description
type
str

Filtre o gerador retornado de execuções pelo tipo fornecido. Consulte add_type_provider como criar tipos de execução.

Valor padrão: None
tags
str ou dict

O filtro é executado por "tag" ou {"tag": "value"}

Valor padrão: None
properties
str ou dict

O filtro é executado por "property" ou {"property": "value"}

Valor padrão: None
status
str

Status de execução – "Em execução" ou "Enfileirado"

Valor padrão: None

Retornos

Tipo Description
<xref:builtin.generator>

um gerador de ~_restclient.models.RunDto

get_status

Recupere o status detalhado atual do cluster AmlCompute.

get_status()

Retornos

Tipo Description

Um objeto de status detalhado para o cluster

list_nodes

Obtenha os detalhes (por exemplo, endereço IP, porta etc.) de todos os nós de computação no destino de computação.

list_nodes()

Retornos

Tipo Description

Os detalhes de todos os nós de computação no destino de computação.

list_quotas

Obtenha as cotas de Workspace atribuídas no momento com base em VMFamily para determinado workspace e assinatura.

static list_quotas(workspace, location=None)

Parâmetros

Nome Description
workspace
Obrigatório
location
str

O local das cotas. Se não for especificado, o padrão será o local do workspace.

Valor padrão: None

Retornos

Tipo Description

Lista de cotas de workspace atribuídas no momento com base em VMFamily

list_usages

Obtenha as informações de uso atuais, bem como os limites para recursos AML para determinado workspace e assinatura.

static list_usages(workspace, show_all=False, location=None)

Parâmetros

Nome Description
workspace
Obrigatório
show_all

Especifica se são necessários usos detalhados de recursos filho. Usa False como padrão

Valor padrão: False
location
str

O local dos recursos. Se não for especificado, o padrão será o local do workspace.

Valor padrão: None

Retornos

Tipo Description

Lista de informações de uso atuais, bem como limites para recursos AML

provisioning_configuration

Crie um objeto de configuração para provisionar um destino AmlCompute.

static provisioning_configuration(vm_size='', vm_priority='dedicated', min_nodes=0, max_nodes=None, idle_seconds_before_scaledown=1800, admin_username=None, admin_user_password=None, admin_user_ssh_key=None, vnet_resourcegroup_name=None, vnet_name=None, subnet_name=None, tags=None, description=None, remote_login_port_public_access='NotSpecified', identity_type=None, identity_id=None, location=None, enable_node_public_ip=True)

Parâmetros

Nome Description
vm_size
Obrigatório
str

O tamanho das VMs do agente. Mais detalhes podem ser encontrados aqui: https://aka.ms/azureml-vm-details. Observe que nem todos os tamanhos estão disponíveis em todas as regiões, conforme detalhado no link anterior. Se não for especificado, o padrão será Standard_NC6.

vm_priority
str

A prioridade da VM, dedicada ou baixa prioridade.

Valor padrão: dedicated
min_nodes
int

O número mínimo de nós a serem usados no cluster. Se não for especificado, o padrão será 0.

Valor padrão: 0
max_nodes
int

O número máximo de nós a serem usados no cluster. Se não for especificado, o padrão será 4.

Valor padrão: None
idle_seconds_before_scaledown
int

Tempo ocioso do nó em segundos antes de reduzir verticalmente o cluster. Se não for especificado, o padrão será 1800.

Valor padrão: 1800
admin_username
str

O nome da conta de usuário do administrador que pode ser usada para SSH em nós.

Valor padrão: None
admin_user_password
str

A senha da conta do usuário administrador.

Valor padrão: None
admin_user_ssh_key
str

A chave pública SSH da conta do usuário administrador.

Valor padrão: None
vnet_resourcegroup_name
str

O nome do grupo de recursos em que a rede virtual está localizada.

Valor padrão: None
vnet_name
str

O nome da rede virtual.

Valor padrão: None
subnet_name
str

O nome da sub-rede dentro da VNet.

Valor padrão: None
tags

Um dicionário de marcas de valor de chave a serem fornecidas ao objeto de computação.

Valor padrão: None
description
str

Uma descrição a ser fornecida ao objeto de computação.

Valor padrão: None
remote_login_port_public_access
str

Estado da porta SSH pública. Os valores possíveis são:

  • Desabilitado – indica que a porta ssh pública está fechada em todos os nós do cluster.

  • Habilitado – indica que a porta ssh pública está aberta em todos os nós do cluster.

  • NotSpecified - Indica que a porta ssh pública está fechada em todos os nós do cluster se a VNet for definida, caso contrário, todos os nós públicos serão abertos. Pode ser esse valor padrão somente durante o tempo de criação do cluster. Após a criação, ele será habilitado ou desabilitado.

Valor padrão: NotSpecified
identity_type

Os valores possíveis são:

  • SystemAssigned – Identidade atribuída pelo sistema

  • UserAssigned – Identidade atribuída pelo usuário. Requer que a ID de identidade seja definida.

Valor padrão: None
identity_id

Lista de IDs de recurso para a identidade atribuída pelo usuário. Eg. ['/subscriptions/<subid>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<id>']

Valor padrão: None
location
str

Local no qual provisionar o cluster.

Valor padrão: None
enable_node_public_ip

Habilite o IP público do nó. Os valores possíveis são:

  • True – Habilitar o IP público do nó.

  • False – Desabilitar o IP público do nó.

  • NotSpecified – Habilitar IP público do nó.

Valor padrão: True

Retornos

Tipo Description

Um objeto de configuração a ser usado ao criar um objeto compute.

Exceções

Tipo Description

refresh_state

Execute uma atualização in-loco das propriedades do objeto.

Esse método atualiza as propriedades com base no estado atual do objeto de nuvem correspondente. Isso é usado principalmente para sondagem manual do estado de computação.

refresh_state()

remove_identity

Remova a identidade na computação.

remove_identity(identity_id=None)

Parâmetros

Nome Description
identity_id

Identidades atribuídas pelo usuário

Valor padrão: None

Comentários

A identidade atribuída pelo sistema será removida automaticamente se identity_id não for especificado

serialize

Converta esse objeto AmlCompute em um dicionário serializado JSON.

serialize()

Retornos

Tipo Description

A representação JSON deste objeto AmlCompute.

supported_vmsizes

Liste os tamanhos de VM com suporte em uma região.

static supported_vmsizes(workspace, location=None)

Parâmetros

Nome Description
workspace
Obrigatório
location
str

O local do cluster. Se não for especificado, o padrão será o local do workspace.

Valor padrão: None

Retornos

Tipo Description

Uma lista de tamanhos de VM com suporte em uma região com nomes da VM, VCPUs e RAM.

update

Atualize o ScaleSettings destino do AmlCompute.

update(min_nodes=None, max_nodes=None, idle_seconds_before_scaledown=None)

Parâmetros

Nome Description
min_nodes
int

O número mínimo de nós a serem usados no cluster.

Valor padrão: None
max_nodes
int

O número máximo de nós a serem usados no cluster.

Valor padrão: None
idle_seconds_before_scaledown
int

O tempo ocioso do nó em segundos antes de reduzir o cluster.

Valor padrão: None

update_quotas

Atualize a cota de uma família de VMs no workspace.

static update_quotas(workspace, vm_family, limit=None, location=None)

Parâmetros

Nome Description
workspace
Obrigatório
vm_family
Obrigatório
str

Nome da família VM

limit
int

A cota máxima permitida do recurso

Valor padrão: None
location
str

O local da cota. Se não for especificado, o padrão será o local do workspace.

Valor padrão: None

wait_for_completion

Aguarde até que o cluster AmlCompute conclua o provisionamento.

Isso pode ser configurado para aguardar um número mínimo de nós e para o tempo limite após um período de tempo definido.

wait_for_completion(show_output=False, min_node_count=None, timeout_in_minutes=25, is_delete_operation=False)

Parâmetros

Nome Description
show_output

Booliano para fornecer uma saída mais detalhada.

Valor padrão: False
min_node_count
int

Número mínimo de nós a aguardar antes de considerar a conclusão do provisionamento. Isso não precisa ser igual ao número mínimo de nós com os quais a computação foi provisionada, no entanto, não deve ser maior do que isso.

Valor padrão: None
timeout_in_minutes
int

A duração em minutos a ser aguardada antes de considerar que o provisionamento falhou.

Valor padrão: 25
is_delete_operation

Indica se a operação destina-se à exclusão.

Valor padrão: False

Exceções

Tipo Description