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

workspace
Workspace
Necessario

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

name
str
Necessario

Nome dell'oggetto AmlCompute da recuperare.

workspace
Workspace
Necessario

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

name
str
Necessario

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

identity_type
string
Necessario

I valori possibili sono:

  • SystemAssigned - Identità assegnata dal sistema

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

identity_id
list[str]
valore predefinito: None

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

Commenti

identity_id deve essere specificato solo quando identity_type == UserAssigned

delete

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

delete()

Eccezioni

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

workspace
Workspace
Necessario

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

object_dict
dict
Necessario

Oggetto JSON da convertire in un oggetto AmlCompute.

Restituisce

Rappresentazione AmlCompute dell'oggetto JSON specificato.

Tipo restituito

Eccezioni

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

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

type
str
valore predefinito: None

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

tags
str oppure dict
valore predefinito: None

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

properties
str oppure dict
valore predefinito: None

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

status
str
valore predefinito: None

Stato di esecuzione: "Esecuzione" o "Accodamento"

Restituisce

generatore di ~_restclient.models.RunDto

Tipo restituito

<xref:builtin.generator>

get_status

Recuperare lo stato dettagliato corrente per il cluster AmlCompute.

get_status()

Restituisce

Oggetto stato dettagliato per il cluster

Tipo restituito

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

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

Tipo restituito

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

workspace
Workspace
Necessario
location
str
valore predefinito: None

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

Restituisce

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

Tipo restituito

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

workspace
Workspace
Necessario
show_all
valore predefinito: False

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

location
str
valore predefinito: None

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

Restituisce

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

Tipo restituito

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

vm_size
str
Necessario

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
valore predefinito: dedicated

Priorità della macchina virtuale, dedicata o bassapriorità.

min_nodes
int
valore predefinito: 0

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

max_nodes
int
valore predefinito: None

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

idle_seconds_before_scaledown
int
valore predefinito: 1800

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

admin_username
str
valore predefinito: None

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

admin_user_password
str
valore predefinito: None

Password dell'account utente amministratore.

admin_user_ssh_key
str
valore predefinito: None

Chiave pubblica SSH dell'account utente amministratore.

vnet_resourcegroup_name
str
valore predefinito: None

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

vnet_name
str
valore predefinito: None

nome della rete virtuale.

subnet_name
str
valore predefinito: None

Nome della subnet all'interno della rete virtuale.

tags
dict[str, str]
valore predefinito: None

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

description
str
valore predefinito: None

Descrizione da fornire all'oggetto di calcolo.

remote_login_port_public_access
str
valore predefinito: NotSpecified

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.

identity_type
string
valore predefinito: None

I valori possibili sono:

  • SystemAssigned - Identità assegnata dal sistema

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

identity_id
list[str]
valore predefinito: None

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

location
str
valore predefinito: None

Posizione in cui effettuare il provisioning del cluster.

enable_node_public_ip
bool
valore predefinito: True

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.

Restituisce

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

Tipo restituito

Eccezioni

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

identity_id
list[str]
valore predefinito: None

Identità assegnate dall'utente

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

Rappresentazione JSON di questo oggetto AmlCompute.

Tipo restituito

supported_vmsizes

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

static supported_vmsizes(workspace, location=None)

Parametri

workspace
Workspace
Necessario
location
str
valore predefinito: None

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

Restituisce

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

Tipo restituito

update

Aggiornare l'oggetto ScaleSettings per questa destinazione AmlCompute.

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

Parametri

min_nodes
int
valore predefinito: None

Numero minimo di nodi da usare nel cluster.

max_nodes
int
valore predefinito: None

Numero massimo di nodi da usare nel cluster.

idle_seconds_before_scaledown
int
valore predefinito: None

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

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

workspace
Workspace
Necessario
vm_family
str
Necessario

Nome della famiglia di macchine virtuali

limit
int
valore predefinito: None

Quota massima consentita della risorsa

location
str
valore predefinito: None

Posizione della quota. Se non specificato, verrà predefinito il percorso dell'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.

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

Parametri

show_output
bool
valore predefinito: False

Boolean per fornire un output più dettagliato.

min_node_count
int
valore predefinito: None

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.

timeout_in_minutes
int
valore predefinito: 25

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

is_delete_operation
bool
valore predefinito: False

Indica se l'operazione è destinata all'eliminazione.

Eccezioni