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 calcul managée qui vous permet de créer facilement un calcul à plusieurs nœuds ou à un seul nœud. Le calcul est créé dans votre région d’espace de travail en tant que ressource qui peut être partagée avec d’autres utilisateurs. Pour plus d’informations, consultez Quelles sont les cibles 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. Retourne une instance d’une classe enfant correspondant au type spécifique de l’objet Compute récupéré.

Constructeur

AmlCompute(workspace, name)

Paramètres

Nom Description
workspace
Obligatoire

Objet d’espace de travail contenant l’objet AmlCompute à récupérer.

name
Obligatoire
str

Nom de l’objet AmlCompute à récupérer.

workspace
Obligatoire

Objet d’espace de travail contenant l’objet Compute à récupérer.

name
Obligatoire
str

Nom de l’objet Compute à récupérer.

Remarques

Dans l’exemple suivant, une cible de calcul persistante provisionnée est AmlCompute créée. Le provisioning_configuration paramètre de cet exemple 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)

L’exemple complet est disponible à partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-amlcompute/train-on-amlcompute.ipynb

Méthodes

add_identity

Ajoutez le type d’identité et/ou les ID d’identité pour cette cible AmlCompute.

delete

Supprimez l’objet AmlCompute de son espace de travail associé.

deserialize

Convertissez un objet JSON en objet AmlCompute.

detach

Détacher 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érez 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

Obtenez 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

Obtenez les informations d’utilisation actuelles ainsi que les limites des ressources AML pour un espace de travail et un abonnement donnés.

provisioning_configuration

Créez un objet de configuration pour l’approvisionnement d’une cible AmlCompute.

refresh_state

Effectuez 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. Ceci est principalement utilisé pour l’interrogation manuelle de l’état de calcul.

remove_identity

Supprimez l’identité sur le calcul.

serialize

Convertissez cet objet AmlCompute en dictionnaire sérialisé JSON.

supported_vmsizes

Répertoriez les tailles de machine virtuelle prises en charge dans une région.

update

Mettez à jour la ScaleSettings cible AmlCompute.

update_quotas

Mettre à jour le quota d’une famille de machines virtuelles dans l’espace de travail.

wait_for_completion

Attendez que le cluster AmlCompute termine l’approvisionnement.

Cela peut être configuré pour attendre un nombre minimal de nœuds et pour le délai d’expiration après une période définie.

add_identity

Ajoutez le type d’identité et/ou les 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é affectée par le système

  • UserAssigned - Identité affectée par l’utilisateur. Nécessite la définition de l’ID d’identité.

identity_id

Liste des ID de ressource pour l’identité affectée par l’utilisateur. Eg. ['/subscriptions//resourceGroups/providers/Microsoft.ManagedIdentity /userAssignedIdentities/']

Valeur par défaut: None

Remarques

identity_id ne doit être spécifié que lorsque identity_type == UserAssigned

delete

Supprimez l’objet AmlCompute de son espace de travail associé.

delete()

Exceptions

Type Description

Remarques

Si cet objet a été créé via Azure Machine Learning, les objets cloud correspondants sont également supprimés. Si cet objet a été créé en externe et attaché uniquement à l’espace de travail, cette méthode déclenche une ComputeTargetException opération et rien n’est modifié.

deserialize

Convertissez un objet JSON en objet AmlCompute.

static deserialize(workspace, object_dict)

Paramètres

Nom Description
workspace
Obligatoire

L’objet d’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

Déclenche une ComputeTargetException opération si l’espace de travail fourni n’est pas l’espace de travail associé au calcul.

detach

Détacher 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é d’exécutions par le type fourni. Voir add_type_provider pour créer des types d’exécution.

Valeur par défaut: None
tags
str ou dict

Filtre s’exécute par « tag » ou {« tag » : « value »}

Valeur par défaut: None
properties
str ou dict

Filtre s’exécute par « property » 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érez l’état détaillé actuel du cluster AmlCompute.

get_status()

Retours

Type Description

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

Obtenez 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

Obtenez les informations d’utilisation actuelles ainsi que les limites des 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 des limites pour les ressources AML

provisioning_configuration

Créez un objet de configuration pour l’approvisionnement d’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. S’il n’est pas spécifié, la valeur par défaut est Standard_NC6.

vm_priority
str

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

Valeur par défaut: dedicated
min_nodes
int

Nombre minimal de nœuds à utiliser sur le cluster. Si ce n’est pas spécifié, la valeur par défaut est 0.

Valeur par défaut: 0
max_nodes
int

Nombre maximal de nœuds à utiliser sur le cluster. S’il n’est pas spécifié, la valeur par défaut est 4.

Valeur par défaut: None
idle_seconds_before_scaledown
int

Temps d’inactivité du nœud en secondes avant le scale-down du cluster. S’il n’est pas spécifié, 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 ssh dans 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 où 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 à l’intérieur du réseau virtuel.

Valeur par défaut: None
tags

Dictionnaire de balises de valeur clé à fournir à l’objet de calcul.

Valeur par défaut: None
description
str

Description à fournir à 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 :

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

  • Activé : 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 tous les nœuds publics sont ouverts. Il peut s’agir de cette valeur par défaut uniquement pendant le temps de création du cluster. Après la création, elle sera activée ou désactivée.

Valeur par défaut: NotSpecified
identity_type

Les valeurs possibles sont les suivantes :

  • SystemAssigned - Identité affectée par le système

  • UserAssigned - Identité affectée par l’utilisateur. Nécessite la définition de l’ID d’identité.

Valeur par défaut: None
identity_id

Liste des ID de ressource pour l’identité affectée par l’utilisateur. Eg. ['/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

Activez l’adresse IP publique du nœud. Les valeurs possibles sont les suivantes :

  • True : activez l’adresse IP publique du nœud.

  • False : désactivez 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 lors de la création d’un objet Compute.

Exceptions

Type Description

refresh_state

Effectuez 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. Ceci est principalement utilisé 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é affectée par le système est supprimée automatiquement si identity_id n’est pas spécifié

serialize

Convertissez cet objet AmlCompute en dictionnaire sérialisé JSON.

serialize()

Retours

Type Description

Représentation JSON de cet objet AmlCompute.

supported_vmsizes

Répertoriez les tailles de machine virtuelle 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 machine virtuelle prises en charge dans une région avec les noms de la machine virtuelle, des processeurs virtuels et de la RAM.

update

Mettez à jour la ScaleSettings cible 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

Temps d’inactivité du nœud en secondes avant le scale-down du cluster.

Valeur par défaut: None

update_quotas

Mettre à jour le quota d’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

Attendez que le cluster AmlCompute termine l’approvisionnement.

Cela peut être configuré pour attendre un nombre minimal de nœuds et pour le délai d’expiration après une période définie.

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

Paramètres

Nom Description
show_output

Boolean pour fournir une sortie plus détaillée.

Valeur par défaut: False
min_node_count
int

Nombre minimal de nœuds à attendre avant d’envisager la fin de l’approvisionnement. Cela n’a pas besoin d’ê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 en minutes à attendre avant l’échec de l’approvisionnement.

Valeur par défaut: 25
is_delete_operation

Indique si l’opération est destinée à la suppression.

Valeur par défaut: False

Exceptions

Type Description