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 criar facilmente uma computação de um ou 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, confira 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 Compute associado ao workspace fornecido. Retorna uma instância de uma classe filho correspondente ao tipo específico do objeto Compute recuperado.

Herança
AmlCompute

Construtor

AmlCompute(workspace, name)

Parâmetros

workspace
Workspace
Obrigatório

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

name
str
Obrigatório

O nome do objeto AmlCompute é recuperado.

workspace
Workspace
Obrigatório

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

name
str
Obrigatório

O nome do do objeto Compute a ser recuperado.

Comentários

No exemplo a seguir, um destino de computação persistente provisionado por AmlCompute é criado. O parâmetro provisioning_configuration nesse exemplo é do 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 Tipo de Identidade e/ou IDs de Identidade para esse destino AmlCompute.

delete

Remova o objeto AmlCompute do workspace associado.

deserialize

Converte um objeto JSON em um objeto AmlCompute.

detach

Não há suporte para desanexar o objeto AmlCompute. Use delete em vez disso.

get

Retorna o objeto de computação.

get_active_runs

Retorna um gerador de execuções para essa computação.

get_status

Recupera 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

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

list_usages

Obtém as informações de uso atuais, bem como os limites dos recursos do AML para determinado workspace e assinatura.

provisioning_configuration

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

refresh_state

Executar uma atualização local 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

Remove a identidade na computação.

serialize

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

supported_vmsizes

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

update

Atualiza o ScaleSettings para esse destino AmlCompute.

update_quotas

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

wait_for_completion

Aguarda o cluster AmlCompute concluir o provisionamento.

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

add_identity

Adicione Tipo de Identidade e/ou IDs de Identidade para esse destino AmlCompute.

add_identity(identity_type, identity_id=None)

Parâmetros

identity_type
string
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
list[str]
valor padrão: None

Lista de IDs de recursos para a identidade atribuída pelo usuário. ex. ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/']

Comentários

identity_id somente deverá ser especificado quando identity_type == UserAssigned

delete

Remova o objeto AmlCompute do workspace associado.

delete()

Exceções

Comentários

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

deserialize

Converte um objeto JSON em um objeto AmlCompute.

static deserialize(workspace, object_dict)

Parâmetros

workspace
Workspace
Obrigatório

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

object_dict
dict
Obrigatório

Um objeto JSON para converter em um objeto AmlCompute.

Retornos

A representação AmlCompute do objeto JSON fornecido.

Tipo de retorno

Exceções

Comentários

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

detach

Não há suporte para desanexar o objeto AmlCompute. Use delete em vez disso.

detach()

Exceções

get

Retorna o objeto de computação.

get()

get_active_runs

Retorna um gerador de execuções para essa computação.

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

Parâmetros

type
str
valor padrão: None

Filtra o gerador de execuções retornado pelo tipo fornecido. Confira add_type_provider para criar tipos de execução.

tags
str ou dict
valor padrão: None

Filtra execuções por "marca" ou {"marca": "valor"}

properties
str ou dict
valor padrão: None

Filtra execuções por "propriedade" ou {"propriedade": "valor"}

status
str
valor padrão: None

Status de execução: "Running" ou "Queued"

Retornos

um gerador de ~_restclient.models.RunDto

Tipo de retorno

<xref:builtin.generator>

get_status

Recupera o status detalhado atual do cluster AmlCompute.

get_status()

Retornos

Um objeto de status detalhado para o cluster

Tipo de retorno

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

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

Tipo de retorno

list_quotas

Obtém 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

workspace
Workspace
Obrigatório
location
str
valor padrão: None

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

Retornos

Lista de Cotas de Workspace atualmente atribuídas com base no VMFamily

Tipo de retorno

list_usages

Obtém as informações de uso atuais, bem como os limites dos recursos do AML para determinado workspace e assinatura.

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

Parâmetros

workspace
Workspace
Obrigatório
show_all
valor padrão: False

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

location
str
valor padrão: None

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

Retornos

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

Tipo de retorno

provisioning_configuration

Cria 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

vm_size
str
Obrigatório

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
valor padrão: dedicated

A prioridade da VM, dedicated ou lowpriority.

min_nodes
int
valor padrão: 0

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

max_nodes
int
valor padrão: None

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

idle_seconds_before_scaledown
int
valor padrão: 1800

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

admin_username
str
valor padrão: None

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

admin_user_password
str
valor padrão: None

A senha da conta do usuário administrador.

admin_user_ssh_key
str
valor padrão: None

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

vnet_resourcegroup_name
str
valor padrão: None

O nome do grupo de recursos no qual a rede virtual está localizada.

vnet_name
str
valor padrão: None

O nome da rede virtual.

subnet_name
str
valor padrão: None

O nome da sub-rede dentro da VNet.

tags
dict[str, str]
valor padrão: None

Um dicionário de marcas de chave-valor para fornecer ao objeto de computação.

description
str
valor padrão: None

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

remote_login_port_public_access
str
valor padrão: NotSpecified

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

  • Disabled: indica que a porta do SSH pública está fechada em todos os nós do cluster.

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

  • NotSpecified: indica que a porta do SSH pública estará fechada em todos os nós do cluster, se a VNet estiver definida, caso contrário, todos os nós públicos serão abertos. Pode ser esse valor padrão apenas durante o tempo de criação do cluster. Após a criação, ele será habilitado ou desabilitado.

identity_type
string
valor padrão: None

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
list[str]
valor padrão: None

Lista de IDs de recursos para a identidade atribuída pelo usuário. ex. ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/']

location
str
valor padrão: None

Local para provisionar o cluster.

enable_node_public_ip
bool
valor padrão: True

Habilita o IP do nó. Os valores possíveis são:

  • True: habilita o IP do nó.

  • False: desabilita o IP do nó.

  • NotSpecified: habilita o IP do nó.

Retornos

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

Tipo de retorno

Exceções

refresh_state

Executar uma atualização local 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

Remove a identidade na computação.

remove_identity(identity_id=None)

Parâmetros

identity_id
list[str]
valor padrão: None

Identidades atribuídas pelo usuário

Comentários

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

serialize

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

serialize()

Retornos

A representação JSON desse objeto AmlCompute.

Tipo de retorno

supported_vmsizes

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

static supported_vmsizes(workspace, location=None)

Parâmetros

workspace
Workspace
Obrigatório
location
str
valor padrão: None

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

Retornos

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

Tipo de retorno

update

Atualiza o ScaleSettings para esse destino AmlCompute.

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

Parâmetros

min_nodes
int
valor padrão: None

O número mínimo de nós a ser usado no cluster.

max_nodes
int
valor padrão: None

O número máximo de nós a ser usado no cluster.

idle_seconds_before_scaledown
int
valor padrão: None

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

update_quotas

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

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

Parâmetros

workspace
Workspace
Obrigatório
vm_family
str
Obrigatório

Nome da família de VMs

limit
int
valor padrão: None

A cota máxima permitida do recurso

location
str
valor padrão: None

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

wait_for_completion

Aguarda o cluster AmlCompute concluir o provisionamento.

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

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

Parâmetros

show_output
bool
valor padrão: False

Booliano para fornecer uma saída mais detalhada.

min_node_count
int
valor padrão: None

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, mas não deverá ser maior que isso.

timeout_in_minutes
int
valor padrão: 25

A duração em minutos de espera antes de considerar que o provisionamento falhou.

is_delete_operation
bool
valor padrão: False

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

Exceções