Partilhar via


AmlCompute Classe

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

Um Azure Machine Learning Compute (AmlCompute) é uma infraestrutura de computação gerenciada que permite criar facilmente uma computação de um ou vários nós. A computação é criada dentro da região do espaço de trabalho 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?

Classe ComputeTarget construtor.

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

Construtor

AmlCompute(workspace, name)

Parâmetros

Name Description
workspace
Necessário

O objeto de espaço de trabalho que contém o objeto AmlCompute a ser recuperado.

name
Necessário
str

O nome do objeto AmlCompute a ser recuperado.

workspace
Necessário

O objeto de espaço de trabalho que contém o objeto Compute a ser recuperado.

name
Necessário
str

O nome do objeto Compute a ser recuperado.

Observações

No exemplo a seguir, um destino de computação persistente provisionado por AmlCompute é criado. O provisioning_configuration parâmetro neste 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)

A amostra completa 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 este destino AmlCompute.

delete

Remova o objeto AmlCompute de seu espaço de trabalho associado.

deserialize

Converter um objeto JSON em um objeto AmlCompute.

detach

Desanexar não é suportado para o objeto AmlCompute. Utilize delete em substituição.

get

Retornar objeto de computação.

get_active_runs

Retornar um gerador das execuções para este cálculo.

get_status

Recupere o status detalhado atual para o 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 espaço de trabalho atualmente atribuídas com base no VMFamily para determinado espaço de trabalho e assinatura.

list_usages

Obtenha as informações de uso atuais, bem como os limites para recursos de AML para determinado espaço de trabalho 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.

Este 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 no cálculo.

serialize

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

supported_vmsizes

Liste os tamanhos de VM suportados em uma região.

update

Atualize o ScaleSettings para este destino AmlCompute.

update_quotas

Atualizar cota para uma família de VMs no espaço de trabalho.

wait_for_completion

Aguarde até que o cluster AmlCompute termine o provisionamento.

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

add_identity

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

add_identity(identity_type, identity_id=None)

Parâmetros

Name Description
identity_type
Necessário

Os valores possíveis são:

  • SystemAssigned - Identidade atribuída ao 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 ao usuário. por exemplo. ['/subscriptions/<subid>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity /userAssignedIdentities/<id>']

Default value: None

Observações

identity_id só deve ser especificado quando identity_type == UserAssigned

delete

Remova o objeto AmlCompute de seu espaço de trabalho associado.

delete()

Exceções

Tipo Description

Observações

Se este objeto tiver sido criado através do Azure Machine Learning, os objetos baseados na nuvem correspondentes também serão eliminados. Se esse objeto foi criado externamente e anexado apenas ao espaço de trabalho, esse método gera um ComputeTargetException e nada é alterado.

deserialize

Converter um objeto JSON em um objeto AmlCompute.

static deserialize(workspace, object_dict)

Parâmetros

Name Description
workspace
Necessário

O objeto de espaço de trabalho ao qual o objeto AmlCompute está associado.

object_dict
Necessário

Um objeto JSON para converter em um objeto AmlCompute.

Devoluções

Tipo Description

A representação AmlCompute do objeto JSON fornecido.

Exceções

Tipo Description

Observações

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

detach

Desanexar não é suportado para o objeto AmlCompute. Utilize delete em substituição.

detach()

Exceções

Tipo Description

get

Retornar objeto de computação.

get()

get_active_runs

Retornar um gerador das execuções para este cálculo.

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

Parâmetros

Name Description
type
str

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

Default value: None
tags
str ou dict

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

Default value: None
properties
str ou dict

O filtro é executado por "propriedade" ou {"propriedade": "valor"}

Default value: None
status
str

Status de execução - "Em execução" ou "Em fila"

Default value: None

Devoluções

Tipo Description
<xref:builtin.generator>

um gerador de ~_restclient.models.RunDto

get_status

Recupere o status detalhado atual para o cluster AmlCompute.

get_status()

Devoluções

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()

Devoluções

Tipo Description

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

list_quotas

Obtenha as cotas de espaço de trabalho atualmente atribuídas com base no VMFamily para determinado espaço de trabalho e assinatura.

static list_quotas(workspace, location=None)

Parâmetros

Name Description
workspace
Necessário
location
str

A localização das quotas. Se não for especificado, o padrão será o local do espaço de trabalho.

Default value: None

Devoluções

Tipo Description

Lista de cotas de espaço de trabalho atualmente atribuídas com base no VMFamily

list_usages

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

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

Parâmetros

Name Description
workspace
Necessário
show_all

Especifica se usos detalhados de recursos filho são necessários. Padrão para False

Default value: False
location
str

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

Default value: None

Devoluções

Tipo Description

Lista de informações de uso atual, bem como limites para recursos de 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

Name Description
vm_size
Necessá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 de baixa prioridade.

Default value: 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.

Default value: 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.

Default value: None
idle_seconds_before_scaledown
int

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

Default value: 1800
admin_username
str

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

Default value: None
admin_user_password
str

A senha da conta de usuário administrador.

Default value: None
admin_user_ssh_key
str

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

Default value: None
vnet_resourcegroup_name
str

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

Default value: None
vnet_name
str

O nome da rede virtual.

Default value: None
subnet_name
str

O nome da sub-rede dentro da rede virtual.

Default value: None
tags

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

Default value: None
description
str

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

Default value: None
remote_login_port_public_access
str

Estado do porto SSH público. Os valores possíveis são:

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

  • Ativado - 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 estiver definida, caso contrário estará aberta todos os nós públicos. Pode ser esse valor padrão somente durante o tempo de criação do cluster. Após a criação, ele será ativado ou desativado.

Default value: NotSpecified
identity_type

Os valores possíveis são:

  • SystemAssigned - Identidade atribuída ao sistema

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

Default value: None
identity_id

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

Default value: None
location
str

Local para provisionar cluster.

Default value: None
enable_node_public_ip

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

  • True - Ative o IP público do nó.

  • Falso - Desative o IP público do nó.

  • NotSpecified - Ativar IP público do nó.

Default value: True

Devoluções

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.

Este 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 no cálculo.

remove_identity(identity_id=None)

Parâmetros

Name Description
identity_id

Identidades atribuídas pelo usuário

Default value: None

Observações

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

serialize

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

serialize()

Devoluções

Tipo Description

A representação JSON deste objeto AmlCompute.

supported_vmsizes

Liste os tamanhos de VM suportados em uma região.

static supported_vmsizes(workspace, location=None)

Parâmetros

Name Description
workspace
Necessário
location
str

A localização do cluster. Se não for especificado, o padrão será o local do espaço de trabalho.

Default value: None

Devoluções

Tipo Description

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

update

Atualize o ScaleSettings para este destino AmlCompute.

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

Parâmetros

Name Description
min_nodes
int

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

Default value: None
max_nodes
int

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

Default value: None
idle_seconds_before_scaledown
int

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

Default value: None

update_quotas

Atualizar cota para uma família de VMs no espaço de trabalho.

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

Parâmetros

Name Description
workspace
Necessário
vm_family
Necessário
str

Nome da família VM

limit
int

A quota máxima permitida do recurso

Default value: None
location
str

A localização da quota. Se não for especificado, o padrão será o local do espaço de trabalho.

Default value: None

wait_for_completion

Aguarde até que o cluster AmlCompute termine o provisionamento.

Isso pode ser configurado para aguardar um número mínimo de nós e atingir o tempo limite 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

Name Description
show_output

Booleano para fornecer uma saída mais detalhada.

Default value: False
min_node_count
int

Número mínimo de nós a aguardar antes de considerar o provisionamento concluído. Isso não precisa ser igual ao número mínimo de nós com os quais o cálculo foi provisionado, no entanto, não deve ser maior do que isso.

Default value: None
timeout_in_minutes
int

A duração, em minutos, para aguardar antes de considerar que o provisionamento falhou.

Default value: 25
is_delete_operation

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

Default value: False

Exceções

Tipo Description