AmlCompute Classe
Gère un calcul Azure Machine Learning dans Azure Machine Learning.
Un calcul Azure Machine Learning (AmlCompute) est une infrastructure de capacité de calcul managée qui vous permet de créer facilement une capacité de calcul à un ou plusieurs nœuds. La capacité de calcul est créée dans la région de votre espace de travail sous forme de ressource qui peut être partagée avec d’autres utilisateurs. Pour plus d’informations, consultez Qu’est-ce qu’une cible de calcul dans Azure Machine Learning ?
Constructeur ComputeTarget de classe.
Récupérez une représentation cloud d’un objet Compute associé à l’espace de travail fourni. Renvoie une instance d’une classe enfant correspondant au type spécifique de l’objet Compute récupéré.
- Héritage
-
AmlCompute
Constructeur
AmlCompute(workspace, name)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Objet de l’espace de travail contenant l’objet AmlCompute à récupérer. |
name
Obligatoire
|
Nom de l’objet AmlCompute à récupérer. |
workspace
Obligatoire
|
Objet de l’espace de travail contenant l’objet de calcul à récupérer. |
name
Obligatoire
|
Nom de l’objet Compute à récupérer. |
Remarques
Dans l’exemple suivant, une cible de calcul persistante approvisionnée par AmlCompute est créée. Dans cet exemple, le paramètre provisioning_configuration
est de type AmlComputeProvisioningConfiguration, qui est une classe enfant 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)
Un exemple complet est disponible sur https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-amlcompute/train-on-amlcompute.ipynb
Méthodes
add_identity |
Ajoutez un type d’identité et/ou des ID d’identité pour cette cible AmlCompute. |
delete |
Supprime l’objet AmlCompute de l’espace de travail associé. |
deserialize |
Convertit un objet JSON en objet AmlCompute. |
detach |
Le détachement n’est pas pris en charge pour l’objet AmlCompute. Utilisez delete à la place. |
get |
Retourne un objet de calcul. |
get_active_runs |
Retourne un générateur des exécutions pour ce calcul. |
get_status |
Récupère l’état détaillé actuel du cluster AmlCompute. |
list_nodes |
Obtenez les détails (par exemple, l’adresse IP, le port, etc.) de tous les nœuds de calcul dans la cible de calcul. |
list_quotas |
Obtient les quotas d’espace de travail actuellement attribués en fonction de VMFamily pour un espace de travail et un abonnement donnés. |
list_usages |
Obtient les informations d’utilisation actuelles ainsi que les limites pour les ressources AML pour un espace de travail et un abonnement donnés. |
provisioning_configuration |
Créez un objet de configuration pour approvisionner une cible AmlCompute. |
refresh_state |
Effectue une mise à jour sur place des propriétés de l’objet. Cette méthode met à jour les propriétés en fonction de l’état actuel de l’objet cloud correspondant. Elle est principalement utilisée pour l’interrogation manuelle de l’état de calcul. |
remove_identity |
Supprimez l’identité sur le calcul. |
serialize |
Convertit cet objet AmlCompute en dictionnaire JSON sérialisé. |
supported_vmsizes |
Répertorie les tailles de machines virtuelles prises en charge dans une région. |
update |
Met à jour ScaleSettings pour cette cible de AmlCompute. |
update_quotas |
Met à jour le quota pour une famille de machines virtuelles dans l’espace de travail. |
wait_for_completion |
Attend la fin de l’approvisionnement du cluster AmlCompute. Elle peut être configurée pour attendre un nombre minimal de nœuds et pour dépasser le délai d’attente après un laps de temps défini. |
add_identity
Ajoutez un type d’identité et/ou des ID d’identité pour cette cible AmlCompute.
add_identity(identity_type, identity_id=None)
Paramètres
Nom | Description |
---|---|
identity_type
Obligatoire
|
Les valeurs possibles sont les suivantes :
|
identity_id
|
Liste des ID de ressource pour l’identité affectée à l’utilisateur. par exemple ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/'] Valeur par défaut: None
|
Remarques
identity_id doit être spécifié uniquement quand identity_type == UserAssigned
delete
Supprime l’objet AmlCompute de l’espace de travail associé.
delete()
Exceptions
Type | Description |
---|---|
Remarques
Si cet objet a été créé via Azure Machine Learning, les objets cloud correspondants seront également supprimés. Si cet objet a été créé en externe et attaché uniquement à l’espace de travail, cette méthode déclenche un ComputeTargetException et aucune modification n’est apportée.
deserialize
Convertit un objet JSON en objet AmlCompute.
static deserialize(workspace, object_dict)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Objet de l’espace de travail auquel l’objet AmlCompute est associé. |
object_dict
Obligatoire
|
Objet JSON à convertir en objet AmlCompute. |
Retours
Type | Description |
---|---|
Représentation AmlCompute de l’objet JSON fourni. |
Exceptions
Type | Description |
---|---|
Remarques
Lève une ComputeTargetException si l’espace de travail fourni n’est pas l’espace de travail associé au calcul.
detach
Le détachement n’est pas pris en charge pour l’objet AmlCompute. Utilisez delete à la place.
detach()
Exceptions
Type | Description |
---|---|
get
Retourne un objet de calcul.
get()
get_active_runs
Retourne un générateur des exécutions pour ce calcul.
get_active_runs(type=None, tags=None, properties=None, status=None)
Paramètres
Nom | Description |
---|---|
type
|
Filtrez le générateur retourné des exécutions par le type fourni. Consultez add_type_provider pour la création de types d’exécution. Valeur par défaut: None
|
tags
|
Le filtre s’exécute par "balise" ou {"tag": "value"} Valeur par défaut: None
|
properties
|
Le filtre s’exécute par "propriété" ou {"property": "value"} Valeur par défaut: None
|
status
|
État de l’exécution : « en cours d’exécution » ou « en file d’attente » Valeur par défaut: None
|
Retours
Type | Description |
---|---|
<xref:builtin.generator>
|
Générateur de ~_restclient.models.RunDto |
get_status
Récupère l’état détaillé actuel du cluster AmlCompute.
get_status()
Retours
Type | Description |
---|---|
Un objet d’état détaillé pour le cluster |
list_nodes
Obtenez les détails (par exemple, l’adresse IP, le port, etc.) de tous les nœuds de calcul dans la cible de calcul.
list_nodes()
Retours
Type | Description |
---|---|
Détails de tous les nœuds de calcul dans la cible de calcul. |
list_quotas
Obtient les quotas d’espace de travail actuellement attribués en fonction de VMFamily pour un espace de travail et un abonnement donnés.
static list_quotas(workspace, location=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
|
location
|
emplacement des quotas. S’il n’est pas spécifié, la valeur par défaut est l’emplacement de l’espace de travail. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Liste des quotas d’espace de travail actuellement attribués en fonction de VMFamily |
list_usages
Obtient les informations d’utilisation actuelles ainsi que les limites pour les ressources AML pour un espace de travail et un abonnement donnés.
static list_usages(workspace, show_all=False, location=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
|
show_all
|
Spécifie si des utilisations détaillées des ressources enfants sont requises. Par défaut, False Valeur par défaut: False
|
location
|
Emplacement des ressources. S’il n’est pas spécifié, la valeur par défaut est l’emplacement de l’espace de travail. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Liste des informations d’utilisation actuelles ainsi que les limites pour les ressources AML |
provisioning_configuration
Créez un objet de configuration pour approvisionner une cible 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)
Paramètres
Nom | Description |
---|---|
vm_size
Obligatoire
|
Taille des machines virtuelles de l’agent. Vous trouverez plus d’informations ici : https://aka.ms/azureml-vm-details. Notez que toutes les tailles ne sont pas disponibles dans toutes les régions, comme indiqué dans le lien précédent. Si la valeur n’est pas spécifiée, la valeur par défaut est Standard_NC6. |
vm_priority
|
Priorité de la machine virtuelle, dédiée ou priorité faible. Valeur par défaut: dedicated
|
min_nodes
|
Nombre minimal de nœuds à utiliser sur le cluster. Si la valeur n’est pas spécifiée, la valeur par défaut est 0. Valeur par défaut: 0
|
max_nodes
|
Nombre maximal de nœuds à utiliser sur le cluster. Si la valeur n’est pas spécifiée, la valeur par défaut est 4. Valeur par défaut: None
|
idle_seconds_before_scaledown
|
Durée d’inactivité du nœud, en secondes, avant la mise à l’échelle du cluster. Si la valeur n’est pas spécifiée, la valeur par défaut est 1800. Valeur par défaut: 1800
|
admin_username
|
Nom du compte d’utilisateur administrateur qui peut être utilisé pour établir une connexion SSH à des nœuds. Valeur par défaut: None
|
admin_user_password
|
Mot de passe du compte d’utilisateur administrateur. Valeur par défaut: None
|
admin_user_ssh_key
|
Clé publique SSH du compte d’utilisateur administrateur. Valeur par défaut: None
|
vnet_resourcegroup_name
|
Nom du groupe de ressources dans lequel se trouve le réseau virtuel. Valeur par défaut: None
|
vnet_name
|
nom du réseau virtuel. Valeur par défaut: None
|
subnet_name
|
Nom du sous-réseau dans le réseau virtuel. Valeur par défaut: None
|
tags
|
Dictionnaire des étiquettes de valeur de clé à fournir à l’objet de calcul. Valeur par défaut: None
|
description
|
Description de l’objet de calcul. Valeur par défaut: None
|
remote_login_port_public_access
|
État du port SSH public. Les valeurs possibles sont les suivantes :
Valeur par défaut: NotSpecified
|
identity_type
|
Les valeurs possibles sont les suivantes :
Valeur par défaut: None
|
identity_id
|
Liste des ID de ressource pour l’identité affectée à l’utilisateur. par exemple ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/'] Valeur par défaut: None
|
location
|
Emplacement dans lequel approvisionner le cluster. Valeur par défaut: None
|
enable_node_public_ip
|
Active l’adresse IP publique du nœud. Les valeurs possibles sont les suivantes :
Valeur par défaut: True
|
Retours
Type | Description |
---|---|
Objet de configuration à utiliser quand un objet de calcul est créé. |
Exceptions
Type | Description |
---|---|
refresh_state
Effectue une mise à jour sur place des propriétés de l’objet.
Cette méthode met à jour les propriétés en fonction de l’état actuel de l’objet cloud correspondant. Elle est principalement utilisée pour l’interrogation manuelle de l’état de calcul.
refresh_state()
remove_identity
Supprimez l’identité sur le calcul.
remove_identity(identity_id=None)
Paramètres
Nom | Description |
---|---|
identity_id
|
Identités affectées par l'utilisateur Valeur par défaut: None
|
Remarques
L’identité attribuée par le système sera automatiquement supprimée si identity_id n’est pas spécifié
serialize
Convertit cet objet AmlCompute en dictionnaire JSON sérialisé.
serialize()
Retours
Type | Description |
---|---|
Représentation JSON de cet objet AmlCompute. |
supported_vmsizes
Répertorie les tailles de machines virtuelles prises en charge dans une région.
static supported_vmsizes(workspace, location=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
|
location
|
Emplacement du cluster. S’il n’est pas spécifié, la valeur par défaut est l’emplacement de l’espace de travail. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Liste des tailles de machines virtuelles prises en charge dans une région avec les noms de machines virtuelles, processeurs virtuels et RAM. |
update
Met à jour ScaleSettings pour cette cible de AmlCompute.
update(min_nodes=None, max_nodes=None, idle_seconds_before_scaledown=None)
Paramètres
Nom | Description |
---|---|
min_nodes
|
Nombre minimal de nœuds à utiliser sur le cluster. Valeur par défaut: None
|
max_nodes
|
Nombre maximal de nœuds à utiliser sur le cluster. Valeur par défaut: None
|
idle_seconds_before_scaledown
|
Durée d’inactivité du nœud, en secondes, avant la mise à l’échelle du cluster. Valeur par défaut: None
|
update_quotas
Met à jour le quota pour une famille de machines virtuelles dans l’espace de travail.
static update_quotas(workspace, vm_family, limit=None, location=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
|
vm_family
Obligatoire
|
Nom de la famille de machines virtuelles |
limit
|
Quota maximal autorisé de la ressource Valeur par défaut: None
|
location
|
emplacement du quota. S’il n’est pas spécifié, la valeur par défaut est l’emplacement de l’espace de travail. Valeur par défaut: None
|
wait_for_completion
Attend la fin de l’approvisionnement du cluster AmlCompute.
Elle peut être configurée pour attendre un nombre minimal de nœuds et pour dépasser le délai d’attente après un laps de temps défini.
wait_for_completion(show_output=False, min_node_count=None, timeout_in_minutes=25, is_delete_operation=False)
Paramètres
Nom | Description |
---|---|
show_output
|
Valeur booléenne pour fournir une sortie plus détaillée. Valeur par défaut: False
|
min_node_count
|
Nombre minimal de nœuds à attendre avant la fin de l’approvisionnement. Il ne doit pas nécessairement être égal au nombre minimal de nœuds avec lesquels le calcul a été approvisionné, mais il ne doit pas être supérieur à celui-ci. Valeur par défaut: None
|
timeout_in_minutes
|
Durée d’attente, en minutes, avant l’échec de l’approvisionnement. Valeur par défaut: 25
|
is_delete_operation
|
Indique si l’opération est destinée à être supprimée. Valeur par défaut: False
|
Exceptions
Type | Description |
---|---|