Partager via


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
str

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
str

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 :

  • SystemAssigned : identité attribuée par le système

  • UserAssigned : identité attribuée par l’utilisateur. Requiert la définition d’un ID d’identité.

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
str

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
str ou dict

Le filtre s’exécute par "balise" ou {"tag": "value"}

Valeur par défaut: None
properties
str ou dict

Le filtre s’exécute par "propriété" ou {"property": "value"}

Valeur par défaut: None
status
str

É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
str

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
str

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
str

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
str

Priorité de la machine virtuelle, dédiée ou priorité faible.

Valeur par défaut: dedicated
min_nodes
int

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
int

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
int

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
str

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
str

Mot de passe du compte d’utilisateur administrateur.

Valeur par défaut: None
admin_user_ssh_key
str

Clé publique SSH du compte d’utilisateur administrateur.

Valeur par défaut: None
vnet_resourcegroup_name
str

Nom du groupe de ressources dans lequel se trouve le réseau virtuel.

Valeur par défaut: None
vnet_name
str

nom du réseau virtuel.

Valeur par défaut: None
subnet_name
str

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
str

Description de l’objet de calcul.

Valeur par défaut: None
remote_login_port_public_access
str

État du port SSH public. Les valeurs possibles sont les suivantes :

  • Disabled : indique que le port SSH public est fermé sur tous les nœuds du cluster.

  • Enabled : indique que le port SSH public est ouvert sur tous les nœuds du cluster.

  • NotSpecified : indique que le port SSH public est fermé sur tous les nœuds du cluster si le réseau virtuel est défini, sinon il est ouvert sur tous les nœuds publics. Cette valeur par défaut peut être utilisée uniquement lors de la création du cluster. Après sa création, la valeur est enabled (activé) ou disabled (désactivé).

Valeur par défaut: NotSpecified
identity_type

Les valeurs possibles sont les suivantes :

  • SystemAssigned : identité attribuée par le système

  • UserAssigned : identité attribuée par l’utilisateur. Requiert la définition d’un ID d’identité.

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
str

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 :

  • True - activer l’adresse IP publique du nœud.

  • False - désactiver l’adresse IP publique du nœud.

  • NotSpecified - activer l’adresse IP publique du nœud.

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
str

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
int

Nombre minimal de nœuds à utiliser sur le cluster.

Valeur par défaut: None
max_nodes
int

Nombre maximal de nœuds à utiliser sur le cluster.

Valeur par défaut: None
idle_seconds_before_scaledown
int

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
str

Nom de la famille de machines virtuelles

limit
int

Quota maximal autorisé de la ressource

Valeur par défaut: None
location
str

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
int

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
int

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