Condividi tramite


AmlCompute Classe

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

Un ambiente di calcolo di Azure Machine Learning (AmlCompute) è un'infrastruttura di calcolo gestita che consente di creare facilmente un calcolo a nodo singolo o multinodo. Il calcolo viene creato all'interno dell'area di lavoro come risorsa che può essere condivisa con altri utenti. Per altre informazioni, vedere Che cosa sono le destinazioni di calcolo in Azure Machine Learning?

Costruttore ComputeTarget della 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.

Costruttore

AmlCompute(workspace, name)

Parametri

Nome Descrizione
workspace
Necessario

Oggetto workspace contenente l'oggetto AmlCompute da recuperare.

name
Necessario
str

Nome dell'oggetto AmlCompute da recuperare.

workspace
Necessario

Oggetto workspace contenente l'oggetto Compute da recuperare.

name
Necessario
str

Nome dell'oggetto Compute da recuperare.

Commenti

Nell'esempio seguente viene creata una destinazione di calcolo persistente di cui è stato effettuato il provisioning 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 il tipo di identità e/o gli ID identità per questa destinazione AmlCompute.

delete

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

deserialize

Convertire un oggetto JSON in un oggetto AmlCompute.

detach

Lo scollegamento non è supportato per l'oggetto AmlCompute. Utilizzare invece delete.

get

Restituisce l'oggetto di calcolo.

get_active_runs

Restituisce un generatore delle 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, nonché 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 delle macchine virtuali supportate in un'area.

update

Aggiornare per ScaleSettings 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.

Può essere configurato per attendere un numero minimo di nodi e per il timeout dopo un periodo di tempo impostato.

add_identity

Aggiungere il tipo di identità e/o gli ID identità 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. È necessario impostare l'ID identità.

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 e ComputeTargetException 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 workspace 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 fornito.

Eccezioni

Tipo Descrizione

Commenti

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

detach

Lo scollegamento non è supportato per l'oggetto AmlCompute. Utilizzare invece delete.

detach()

Eccezioni

Tipo Descrizione

get

Restituisce l'oggetto di calcolo.

get()

get_active_runs

Restituisce un generatore delle 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 in base al tipo specificato. Vedere add_type_provider per la creazione di tipi di esecuzione.

Valore predefinito: None
tags
str oppure dict

Il filtro viene eseguito in base a "tag" o {"tag": "value"}

Valore predefinito: None
properties
str oppure dict

Il filtro viene eseguito in base a "property" o {"property": "value"}

Valore predefinito: None
status
str

Stato esecuzione: "In esecuzione" o "In coda"

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, per impostazione predefinita verrà impostato 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, nonché 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, per impostazione predefinita verrà impostato il percorso dell'area di lavoro.

Valore predefinito: None

Restituisce

Tipo Descrizione

Elenco delle informazioni di utilizzo correnti, nonché 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. Altri dettagli sono disponibili qui: https://aka.ms/azureml-vm-details. Si noti che non tutte le dimensioni sono disponibili in tutte le aree, come descritto nel collegamento precedente. Se non specificato, per impostazione predefinita viene Standard_NC6.

vm_priority
str

Priorità della macchina virtuale, dedicata o bassa priorità.

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 di ridurre il 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 in 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 di tag chiave valore 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 è chiusa in tutti i nodi del cluster.

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

  • NotSpecified : indica che la porta SSH pubblica è chiusa in tutti i nodi del cluster se è definita la rete virtuale, altrimenti è aperto tutti i nodi pubblici. Può trattarsi di questo valore predefinito solo durante la fase di creazione del cluster. Dopo la creazione, verrà abilitato o disabilitato.

Valore predefinito: NotSpecified
identity_type

I valori possibili sono:

  • SystemAssigned - Identità assegnata dal sistema

  • UserAssigned: identità assegnata dall'utente. È necessario impostare l'ID identità.

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 utilizzare 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 non viene specificata identity_id

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 delle macchine virtuali supportate in un'area.

static supported_vmsizes(workspace, location=None)

Parametri

Nome Descrizione
workspace
Necessario
location
str

Posizione del cluster. Se non specificato, per impostazione predefinita verrà impostato il percorso dell'area di lavoro.

Valore predefinito: None

Restituisce

Tipo Descrizione

Elenco delle dimensioni di vm supportate in un'area con nomi di VM, VCPU e RAM.

update

Aggiornare per ScaleSettings 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 ridurre 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, per impostazione predefinita verrà impostato il percorso dell'area di lavoro.

Valore predefinito: None

wait_for_completion

Attendere il completamento del provisioning del cluster AmlCompute.

Può essere configurato 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

Valore booleano per fornire un output più dettagliato.

Valore predefinito: False
min_node_count
int

Numero minimo di nodi da attendere prima di prendere in considerazione il completamento del provisioning. Questo non deve essere uguale 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 che il provisioning non è riuscito.

Valore predefinito: 25
is_delete_operation

Indica se l'operazione è destinata all'eliminazione.

Valore predefinito: False

Eccezioni

Tipo Descrizione