AmlCompute Classe

Gestisce un calcolo di Azure Machine Learning in Azure Machine Learning.

Un'infrastruttura di calcolo di Azure Machine Learning (AmlCompute) è un'infrastruttura di calcolo gestita che consente di creare facilmente un unico calcolo a più nodi. Il calcolo viene creato all'interno dell'area di lavoro come risorsa che può essere condivisa con altri utenti. Per altre informazioni, vedere Informazioni sulle destinazioni di calcolo in Azure Machine Learning?

Costruttore ComputeTarget di classe.

Recuperare una rappresentazione cloud di un oggetto Compute associato all'area di lavoro specificata. Restituisce un'istanza di una classe figlio corrispondente al tipo specifico dell'oggetto Compute recuperato.

Ereditarietà
AmlCompute

Costruttore

AmlCompute(workspace, name)

Parametri

Nome Descrizione
workspace
Necessario

Oggetto dell'area di lavoro contenente l'oggetto AmlCompute da recuperare.

name
Necessario
str

Nome dell'oggetto AmlCompute da recuperare.

workspace
Necessario

Oggetto dell'area di lavoro contenente l'oggetto Compute da recuperare.

name
Necessario
str

Nome dell'oggetto Compute da recuperare.

Commenti

Nell'esempio seguente viene creato un provisioning di destinazione di calcolo persistente eseguito da AmlCompute . Il provisioning_configuration parametro in questo esempio è di tipo AmlComputeProvisioningConfiguration, che è una classe figlio di 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)

L'esempio completo è disponibile da https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-amlcompute/train-on-amlcompute.ipynb

Metodi

add_identity

Aggiungere id identità e/o identity per questa destinazione AmlCompute.

delete

Rimuovere l'oggetto AmlCompute dall'area di lavoro associata.

deserialize

Convertire un oggetto JSON in un oggetto AmlCompute.

detach

Il scollegamento non è supportato per l'oggetto AmlCompute. Usare invece delete.

get

Restituisce l'oggetto di calcolo.

get_active_runs

Restituisce un generatore di esecuzioni per questo calcolo.

get_status

Recuperare lo stato dettagliato corrente per il cluster AmlCompute.

list_nodes

Ottenere i dettagli (ad esempio, indirizzo IP, porta e così via) di tutti i nodi di calcolo nella destinazione di calcolo.

list_quotas

Ottenere le quote dell'area di lavoro attualmente assegnate in base a VMFamily per l'area di lavoro e la sottoscrizione specificati.

list_usages

Ottenere le informazioni sull'utilizzo correnti e i limiti per le risorse AML per l'area di lavoro e la sottoscrizione specificati.

provisioning_configuration

Creare un oggetto di configurazione per il provisioning di una destinazione AmlCompute.

refresh_state

Eseguire un aggiornamento sul posto delle proprietà dell'oggetto.

Questo metodo aggiorna le proprietà in base allo stato corrente dell'oggetto cloud corrispondente. Viene usato principalmente per il polling manuale dello stato di calcolo.

remove_identity

Rimuovere l'identità nel calcolo.

serialize

Convertire questo oggetto AmlCompute in un dizionario serializzato JSON.

supported_vmsizes

Elencare le dimensioni della macchina virtuale supportate in un'area.

update

Aggiornare l'oggetto ScaleSettings per questa destinazione AmlCompute.

update_quotas

Aggiornare la quota per una famiglia di macchine virtuali nell'area di lavoro.

wait_for_completion

Attendere il completamento del provisioning del cluster AmlCompute.

Questa configurazione può essere configurata per attendere un numero minimo di nodi e per il timeout dopo un periodo di tempo impostato.

add_identity

Aggiungere id identità e/o identity per questa destinazione AmlCompute.

add_identity(identity_type, identity_id=None)

Parametri

Nome Descrizione
identity_type
Necessario

I valori possibili sono:

  • SystemAssigned - Identità assegnata dal sistema

  • UserAssigned - Identità assegnata dall'utente. Richiede l'ID identità da impostare.

identity_id

Elenco di ID risorsa per l'identità assegnata dall'utente. Ad esempio: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/']

Valore predefinito: None

Commenti

identity_id deve essere specificato solo quando identity_type == UserAssigned

delete

Rimuovere l'oggetto AmlCompute dall'area di lavoro associata.

delete()

Eccezioni

Tipo Descrizione

Commenti

Se questo oggetto è stato creato tramite Azure Machine Learning, verranno eliminati anche gli oggetti basati sul cloud corrispondenti. Se questo oggetto è stato creato esternamente e collegato solo all'area di lavoro, questo metodo genera un ComputeTargetException oggetto e non viene modificato nulla.

deserialize

Convertire un oggetto JSON in un oggetto AmlCompute.

static deserialize(workspace, object_dict)

Parametri

Nome Descrizione
workspace
Necessario

L'oggetto area di lavoro a cui è associato l'oggetto AmlCompute.

object_dict
Necessario

Oggetto JSON da convertire in un oggetto AmlCompute.

Restituisce

Tipo Descrizione

Rappresentazione AmlCompute dell'oggetto JSON specificato.

Eccezioni

Tipo Descrizione

Commenti

Genera un valore ComputeTargetException se l'area di lavoro specificata non è l'area di lavoro a cui è associato il calcolo.

detach

Il scollegamento non è supportato per l'oggetto AmlCompute. Usare invece delete.

detach()

Eccezioni

Tipo Descrizione

get

Restituisce l'oggetto di calcolo.

get()

get_active_runs

Restituisce un generatore di esecuzioni per questo calcolo.

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

Parametri

Nome Descrizione
type
str

Filtrare il generatore restituito di esecuzioni dal tipo specificato. Vedere add_type_provider per la creazione di tipi di esecuzione.

Valore predefinito: None
tags
str oppure dict

Filtro eseguito da "tag" o {"tag": "value"}

Valore predefinito: None
properties
str oppure dict

Filtro eseguito da "property" o {"property": "value"}

Valore predefinito: None
status
str

Stato di esecuzione: "Esecuzione" o "Accodamento"

Valore predefinito: None

Restituisce

Tipo Descrizione
<xref:builtin.generator>

generatore di ~_restclient.models.RunDto

get_status

Recuperare lo stato dettagliato corrente per il cluster AmlCompute.

get_status()

Restituisce

Tipo Descrizione

Oggetto stato dettagliato per il cluster

list_nodes

Ottenere i dettagli (ad esempio, indirizzo IP, porta e così via) di tutti i nodi di calcolo nella destinazione di calcolo.

list_nodes()

Restituisce

Tipo Descrizione

Dettagli di tutti i nodi di calcolo nella destinazione di calcolo.

list_quotas

Ottenere le quote dell'area di lavoro attualmente assegnate in base a VMFamily per l'area di lavoro e la sottoscrizione specificati.

static list_quotas(workspace, location=None)

Parametri

Nome Descrizione
workspace
Necessario
location
str

Posizione delle quote. Se non specificato, verrà predefinito il percorso dell'area di lavoro.

Valore predefinito: None

Restituisce

Tipo Descrizione

Elenco delle quote dell'area di lavoro attualmente assegnate in base a VMFamily

list_usages

Ottenere le informazioni sull'utilizzo correnti e i limiti per le risorse AML per l'area di lavoro e la sottoscrizione specificati.

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

Parametri

Nome Descrizione
workspace
Necessario
show_all

Specifica se sono necessari utilizzi dettagliati delle risorse figlio. Il valore predefinito è False

Valore predefinito: False
location
str

Posizione delle risorse. Se non specificato, verrà predefinito il percorso dell'area di lavoro.

Valore predefinito: None

Restituisce

Tipo Descrizione

Elenco delle informazioni sull'utilizzo correnti e dei limiti per le risorse AML

provisioning_configuration

Creare un oggetto di configurazione per il provisioning di una destinazione 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)

Parametri

Nome Descrizione
vm_size
Necessario
str

Dimensioni delle macchine virtuali dell'agente. Altre informazioni sono disponibili qui: https://aka.ms/azureml-vm-details. Si noti che non tutte le dimensioni sono disponibili in tutte le aree, come illustrato nel collegamento precedente. Se non specificato, le impostazioni predefinite sono Standard_NC6.

vm_priority
str

Priorità della macchina virtuale, dedicata o bassapriorità.

Valore predefinito: dedicated
min_nodes
int

Numero minimo di nodi da usare nel cluster. Se non specificato, il valore predefinito è 0.

Valore predefinito: 0
max_nodes
int

Numero massimo di nodi da usare nel cluster. Se non specificato, il valore predefinito è 4.

Valore predefinito: None
idle_seconds_before_scaledown
int

Tempo di inattività del nodo in secondi prima del ridimensionamento del cluster. Se non specificato, il valore predefinito è 1800.

Valore predefinito: 1800
admin_username
str

Nome dell'account utente amministratore che può essere usato per SSH nei nodi.

Valore predefinito: None
admin_user_password
str

Password dell'account utente amministratore.

Valore predefinito: None
admin_user_ssh_key
str

Chiave pubblica SSH dell'account utente amministratore.

Valore predefinito: None
vnet_resourcegroup_name
str

Nome del gruppo di risorse in cui si trova la rete virtuale.

Valore predefinito: None
vnet_name
str

nome della rete virtuale.

Valore predefinito: None
subnet_name
str

Nome della subnet all'interno della rete virtuale.

Valore predefinito: None
tags

Dizionario dei tag di valore chiave da fornire all'oggetto di calcolo.

Valore predefinito: None
description
str

Descrizione da fornire all'oggetto di calcolo.

Valore predefinito: None
remote_login_port_public_access
str

Stato della porta SSH pubblica. I valori possibili sono:

  • Disabilitato: indica che la porta SSH pubblica viene chiusa in tutti i nodi del cluster.

  • Abilitato: indica che la porta SSH pubblica è aperta su tutti i nodi del cluster.

  • NotSpecified: indica che la porta SSH pubblica viene chiusa in tutti i nodi del cluster se la rete virtuale è definita, altrimenti è aperta a tutti i nodi pubblici. Può essere questo valore predefinito solo durante il tempo di creazione del cluster. Dopo la creazione, sarà abilitato o disabilitato.

Valore predefinito: NotSpecified
identity_type

I valori possibili sono:

  • SystemAssigned - Identità assegnata dal sistema

  • UserAssigned - Identità assegnata dall'utente. Richiede l'ID identità da impostare.

Valore predefinito: None
identity_id

Elenco di ID risorsa per l'identità assegnata dall'utente. Ad esempio: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/']

Valore predefinito: None
location
str

Posizione in cui effettuare il provisioning del cluster.

Valore predefinito: None
enable_node_public_ip

Abilitare l'INDIRIZZO IP pubblico del nodo. I valori possibili sono:

  • True: abilitare l'INDIRIZZO IP pubblico del nodo.

  • False: disabilitare l'INDIRIZZO IP pubblico del nodo.

  • NotSpecified - Abilitare l'INDIRIZZO IP pubblico del nodo.

Valore predefinito: True

Restituisce

Tipo Descrizione

Oggetto di configurazione da usare durante la creazione di un oggetto Compute.

Eccezioni

Tipo Descrizione

refresh_state

Eseguire un aggiornamento sul posto delle proprietà dell'oggetto.

Questo metodo aggiorna le proprietà in base allo stato corrente dell'oggetto cloud corrispondente. Viene usato principalmente per il polling manuale dello stato di calcolo.

refresh_state()

remove_identity

Rimuovere l'identità nel calcolo.

remove_identity(identity_id=None)

Parametri

Nome Descrizione
identity_id

Identità assegnate dall'utente

Valore predefinito: None

Commenti

L'identità assegnata dal sistema verrà rimossa automaticamente se identity_id non è specificato

serialize

Convertire questo oggetto AmlCompute in un dizionario serializzato JSON.

serialize()

Restituisce

Tipo Descrizione

Rappresentazione JSON di questo oggetto AmlCompute.

supported_vmsizes

Elencare le dimensioni della macchina virtuale supportate in un'area.

static supported_vmsizes(workspace, location=None)

Parametri

Nome Descrizione
workspace
Necessario
location
str

Posizione del cluster. Se non specificato, verrà predefinito il percorso dell'area di lavoro.

Valore predefinito: None

Restituisce

Tipo Descrizione

Elenco delle dimensioni della macchina virtuale supportate in un'area con nomi della macchina virtuale, delle MACCHINE virtuali, delle VCPU e della RAM.

update

Aggiornare l'oggetto ScaleSettings per questa destinazione AmlCompute.

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

Parametri

Nome Descrizione
min_nodes
int

Numero minimo di nodi da usare nel cluster.

Valore predefinito: None
max_nodes
int

Numero massimo di nodi da usare nel cluster.

Valore predefinito: None
idle_seconds_before_scaledown
int

Tempo di inattività del nodo in secondi prima di ridimensionare il cluster.

Valore predefinito: None

update_quotas

Aggiornare la quota per una famiglia di macchine virtuali nell'area di lavoro.

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

Parametri

Nome Descrizione
workspace
Necessario
vm_family
Necessario
str

Nome della famiglia di macchine virtuali

limit
int

Quota massima consentita della risorsa

Valore predefinito: None
location
str

Posizione della quota. Se non specificato, verrà predefinito il percorso dell'area di lavoro.

Valore predefinito: None

wait_for_completion

Attendere il completamento del provisioning del cluster AmlCompute.

Questa configurazione può essere configurata per attendere un numero minimo di nodi e per il timeout dopo un periodo di tempo impostato.

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

Parametri

Nome Descrizione
show_output

Boolean per fornire un output più dettagliato.

Valore predefinito: False
min_node_count
int

Numero minimo di nodi da attendere prima di considerare il provisioning da completare. Ciò non deve corrispondere al numero minimo di nodi con cui è stato effettuato il provisioning del calcolo, ma non deve essere maggiore di quello.

Valore predefinito: None
timeout_in_minutes
int

Durata in minuti di attesa prima di considerare il provisioning non riuscito.

Valore predefinito: 25
is_delete_operation

Indica se l'operazione è destinata all'eliminazione.

Valore predefinito: False

Eccezioni

Tipo Descrizione