AmlCompute Classe

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

Uma Computação do Azure Machine Learning (AmlCompute) é uma infraestrutura de computação gerida que lhe permite criar facilmente uma computação de um ou vários nós. A computação é criada na região da área de trabalho como um recurso que pode ser partilhado com outros utilizadores. Para obter mais informações, veja O que são os destinos de computação no Azure Machine Learning?

Construtor Class ComputeTarget.

Obtenha uma representação na cloud de um objeto de Computação associado à área de trabalho fornecida. Devolve uma instância de uma classe subordinada correspondente ao tipo específico do objeto de Computação obtido.

Herança
AmlCompute

Construtor

AmlCompute(workspace, name)

Parâmetros

workspace
Workspace
Necessário

O objeto da área de trabalho que contém o objeto AmlCompute a obter.

name
str
Necessário

O nome do objeto AmlCompute a obter.

workspace
Workspace
Necessário

O objeto da área de trabalho que contém o objeto Computação a obter.

name
str
Necessário

O nome do objeto Computação a obter.

Observações

No exemplo seguinte, é criado um destino de computação persistente aprovisionado por AmlCompute . O provisioning_configuration parâmetro neste exemplo é do tipo AmlComputeProvisioningConfiguration, que é uma classe subordinada 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 a partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-amlcompute/train-on-amlcompute.ipynb

Métodos

add_identity

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

delete

Remova o objeto AmlCompute da área de trabalho associada.

deserialize

Converta um objeto JSON num objeto AmlCompute.

detach

A desanexação não é suportada para o objeto AmlCompute. Em vez disso, utilize delete.

get

Devolver objeto de computação.

get_active_runs

Devolver um gerador das execuções para esta computação.

get_status

Obtenha o estado 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 quotas de Área de Trabalho atualmente atribuídas com base na VMFamily para uma determinada área de trabalho e subscrição.

list_usages

Obtenha as informações de utilização atuais, bem como os limites dos recursos do AML para determinada área de trabalho e subscrição.

provisioning_configuration

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

refresh_state

Efetue uma atualização no local das propriedades do objeto.

Este método atualiza as propriedades com base no estado atual do objeto de cloud correspondente. Isto é utilizado principalmente para consultas manuais do estado de computação.

remove_identity

Remova a identidade na computação.

serialize

Converta este objeto AmlCompute num dicionário serializado JSON.

supported_vmsizes

Liste os tamanhos de VM suportados numa região.

update

Atualize o ScaleSettings para este destino AmlCompute.

update_quotas

Atualizar quota para uma família de VMs na área de trabalho.

wait_for_completion

Aguarde que o cluster AmlCompute conclua o aprovisionamento.

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

add_identity

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

add_identity(identity_type, identity_id=None)

Parâmetros

identity_type
string
Necessário

Os valores possíveis são:

  • SystemAssigned - Identidade atribuída pelo sistema

  • UserAssigned - Identidade atribuída pelo utilizador. Requer que o ID de identidade seja definido.

identity_id
list[str]
valor predefinido: None

Lista de IDs de recursos para a identidade atribuída pelo utilizador. Por exemplo, ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/']

Observações

identity_id só deve ser especificado quando identity_type == UserAssigned

delete

Remova o objeto AmlCompute da área de trabalho associada.

delete()

Exceções

Observações

Se este objeto tiver sido criado através do Azure Machine Learning, os objetos baseados na cloud correspondentes também serão eliminados. Se este objeto tiver sido criado externamente e apenas anexado à área de trabalho, este método gera um ComputeTargetException e nada é alterado.

deserialize

Converta um objeto JSON num objeto AmlCompute.

static deserialize(workspace, object_dict)

Parâmetros

workspace
Workspace
Necessário

O objeto de área de trabalho ao que o objeto AmlCompute está associado.

object_dict
dict
Necessário

Um objeto JSON para converter num objeto AmlCompute.

Devoluções

A representação AmlCompute do objeto JSON fornecido.

Tipo de retorno

Exceções

Observações

Gera um ComputeTargetException se a área de trabalho fornecida não for a área de trabalho à que a Computação está associada.

detach

A desanexação não é suportada para o objeto AmlCompute. Em vez disso, utilize delete.

detach()

Exceções

get

Devolver objeto de computação.

get()

get_active_runs

Devolver um gerador das execuções para esta computação.

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

Parâmetros

type
str
valor predefinido: None

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

tags
str ou dict
valor predefinido: None

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

properties
str ou dict
valor predefinido: None

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

status
str
valor predefinido: None

Estado da execução – "Em execução" ou "Em fila"

Devoluções

um gerador de ~_restclient.models.RunDto

Tipo de retorno

<xref:builtin.generator>

get_status

Obtenha o estado detalhado atual do cluster AmlCompute.

get_status()

Devoluções

Um objeto de estado 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()

Devoluções

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

Tipo de retorno

list_quotas

Obtenha as quotas de Área de Trabalho atualmente atribuídas com base na VMFamily para uma determinada área de trabalho e subscrição.

static list_quotas(workspace, location=None)

Parâmetros

workspace
Workspace
Necessário
location
str
valor predefinido: None

A localização das quotas. Se não for especificado, a predefinição será a localização da área de trabalho.

Devoluções

Lista de Quotas de Áreas de Trabalho atualmente atribuídas com base na VMFamily

Tipo de retorno

list_usages

Obtenha as informações de utilização atuais, bem como os limites dos recursos do AML para determinada área de trabalho e subscrição.

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

Parâmetros

workspace
Workspace
Necessário
show_all
valor predefinido: False

Especifica se são necessárias utilizações detalhadas de recursos subordinados. Predefinições para Falso

location
str
valor predefinido: None

A localização dos recursos. Se não for especificado, a predefinição será a localização da área de trabalho.

Devoluções

Lista de informações de utilização atuais, bem como limites para recursos AML

Tipo de retorno

provisioning_configuration

Crie um objeto de configuração para aprovisionar 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
Necessário

O tamanho das VMs do agente. Pode encontrar mais detalhes aqui: https://aka.ms/azureml-vm-details. Tenha em atenção que nem todos os tamanhos estão disponíveis em todas as regiões, conforme detalhado na ligação anterior. Se não for especificado, a predefinição é Standard_NC6.

vm_priority
str
valor predefinido: dedicated

A prioridade da VM, dedicada ou de baixaprioridade.

min_nodes
int
valor predefinido: 0

O número mínimo de nós a utilizar no cluster. Se não for especificado, a predefinição é 0.

max_nodes
int
valor predefinido: None

O número máximo de nós a utilizar no cluster. Se não for especificado, a predefinição é 4.

idle_seconds_before_scaledown
int
valor predefinido: 1800

Tempo de inatividade do nó em segundos antes de reduzir verticalmente o cluster. Se não for especificado, a predefinição é 1800.

admin_username
str
valor predefinido: None

O nome da conta de utilizador administrador que pode ser utilizada para SSH em nós.

admin_user_password
str
valor predefinido: None

A palavra-passe da conta de utilizador administrador.

admin_user_ssh_key
str
valor predefinido: None

A chave pública SSH da conta de utilizador administrador.

vnet_resourcegroup_name
str
valor predefinido: None

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

vnet_name
str
valor predefinido: None

O nome da rede virtual.

subnet_name
str
valor predefinido: None

O nome da sub-rede dentro da VNet.

tags
dict[str, str]
valor predefinido: None

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

description
str
valor predefinido: None

Uma descrição para fornecer ao objeto de computação.

remote_login_port_public_access
str
valor predefinido: NotSpecified

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

  • Desativado – 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 este valor predefinido apenas durante o tempo de criação do cluster. Após a criação, será ativada ou desativada.

identity_type
string
valor predefinido: None

Os valores possíveis são:

  • SystemAssigned - Identidade atribuída pelo sistema

  • UserAssigned - Identidade atribuída pelo utilizador. Requer que o ID de identidade seja definido.

identity_id
list[str]
valor predefinido: None

Lista de IDs de recursos para a identidade atribuída pelo utilizador. Por exemplo, ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/']

location
str
valor predefinido: None

Localização para aprovisionar o cluster.

enable_node_public_ip
bool
valor predefinido: True

Ative 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 o IP público do nó.

Devoluções

Um objeto de configuração a ser utilizado ao criar um objeto de Computação.

Tipo de retorno

Exceções

refresh_state

Efetue uma atualização no local das propriedades do objeto.

Este método atualiza as propriedades com base no estado atual do objeto de cloud correspondente. Isto é utilizado principalmente para consultas manuais do estado de computação.

refresh_state()

remove_identity

Remova a identidade na computação.

remove_identity(identity_id=None)

Parâmetros

identity_id
list[str]
valor predefinido: None

Identidades atribuídas pelo utilizador

Observações

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

serialize

Converta este objeto AmlCompute num dicionário serializado JSON.

serialize()

Devoluções

A representação JSON deste objeto AmlCompute.

Tipo de retorno

supported_vmsizes

Liste os tamanhos de VM suportados numa região.

static supported_vmsizes(workspace, location=None)

Parâmetros

workspace
Workspace
Necessário
location
str
valor predefinido: None

A localização do cluster. Se não for especificado, a predefinição será a localização da área de trabalho.

Devoluções

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

Tipo de retorno

update

Atualize o ScaleSettings para este destino AmlCompute.

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

Parâmetros

min_nodes
int
valor predefinido: None

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

max_nodes
int
valor predefinido: None

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

idle_seconds_before_scaledown
int
valor predefinido: None

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

update_quotas

Atualizar quota para uma família de VMs na área de trabalho.

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

Parâmetros

workspace
Workspace
Necessário
vm_family
str
Necessário

Nome da família da VM

limit
int
valor predefinido: None

A quota máxima permitida do recurso

location
str
valor predefinido: None

A localização da quota. Se não for especificado, a predefinição será a localização da área de trabalho.

wait_for_completion

Aguarde que o cluster AmlCompute conclua o aprovisionamento.

Isto pode ser configurado para aguardar um número mínimo de nós e para exceder 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

show_output
bool
valor predefinido: False

Booleano para fornecer uma saída mais verbosa.

min_node_count
int
valor predefinido: None

Número mínimo de nós a aguardar antes de considerar que o aprovisionamento está concluído. Isto não tem de ser igual ao número mínimo de nós com o qual a computação foi aprovisionada. No entanto, não deve ser maior do que isso.

timeout_in_minutes
int
valor predefinido: 25

A duração em minutos a aguardar antes de considerar o aprovisionamento falhou.

is_delete_operation
bool
valor predefinido: False

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

Exceções