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

workspace
Workspace
Obligatoire

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

name
str
Obligatoire

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

workspace
Workspace
Obligatoire

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

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

identity_type
string
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
list[str]
valeur par défaut: None

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

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

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

workspace
Workspace
Obligatoire

Objet de l’espace de travail auquel l’objet AmlCompute est associé.

object_dict
dict
Obligatoire

Objet JSON à convertir en objet AmlCompute.

Retours

Représentation AmlCompute de l’objet JSON fourni.

Type de retour

Exceptions

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

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

type
str
valeur par défaut: None

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.

tags
str ou dict
valeur par défaut: None

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

properties
str ou dict
valeur par défaut: None

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

status
str
valeur par défaut: None

État de l’exécution : « en cours d’exécution » ou « en file d’attente »

Retours

Générateur de ~_restclient.models.RunDto

Type de retour

<xref:builtin.generator>

get_status

Récupère l’état détaillé actuel du cluster AmlCompute.

get_status()

Retours

Un objet d’état détaillé pour le cluster

Type de retour

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

Détails de tous les nœuds de calcul dans la cible de calcul.

Type de retour

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

workspace
Workspace
Obligatoire
location
str
valeur par défaut: None

emplacement des quotas. S’il n’est pas spécifié, la valeur par défaut est l’emplacement de l’espace de travail.

Retours

Liste des quotas d’espace de travail actuellement attribués en fonction de VMFamily

Type de retour

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

workspace
Workspace
Obligatoire
show_all
valeur par défaut: False

Spécifie si des utilisations détaillées des ressources enfants sont requises. Par défaut, False

location
str
valeur par défaut: None

Emplacement des ressources. S’il n’est pas spécifié, la valeur par défaut est l’emplacement de l’espace de travail.

Retours

Liste des informations d’utilisation actuelles ainsi que les limites pour les ressources AML

Type de retour

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

vm_size
str
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
str
valeur par défaut: dedicated

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

min_nodes
int
valeur par défaut: 0

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.

max_nodes
int
valeur par défaut: None

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.

idle_seconds_before_scaledown
int
valeur par défaut: 1800

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.

admin_username
str
valeur par défaut: None

Nom du compte d’utilisateur administrateur qui peut être utilisé pour établir une connexion SSH à des nœuds.

admin_user_password
str
valeur par défaut: None

Mot de passe du compte d’utilisateur administrateur.

admin_user_ssh_key
str
valeur par défaut: None

Clé publique SSH du compte d’utilisateur administrateur.

vnet_resourcegroup_name
str
valeur par défaut: None

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

vnet_name
str
valeur par défaut: None

nom du réseau virtuel.

subnet_name
str
valeur par défaut: None

Nom du sous-réseau dans le réseau virtuel.

tags
dict[str, str]
valeur par défaut: None

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

description
str
valeur par défaut: None

Description de l’objet de calcul.

remote_login_port_public_access
str
valeur par défaut: NotSpecified

É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é).

identity_type
string
valeur par défaut: None

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
list[str]
valeur par défaut: None

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

location
str
valeur par défaut: None

Emplacement dans lequel approvisionner le cluster.

enable_node_public_ip
bool
valeur par défaut: True

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.

Retours

Objet de configuration à utiliser quand un objet de calcul est créé.

Type de retour

Exceptions

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

identity_id
list[str]
valeur par défaut: None

Identités affectées par l'utilisateur

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

Représentation JSON de cet objet AmlCompute.

Type de retour

supported_vmsizes

Répertorie les tailles de machines virtuelles prises en charge dans une région.

static supported_vmsizes(workspace, location=None)

Paramètres

workspace
Workspace
Obligatoire
location
str
valeur par défaut: None

Emplacement du cluster. S’il n’est pas spécifié, la valeur par défaut est l’emplacement de l’espace de travail.

Retours

Liste des tailles de machines virtuelles prises en charge dans une région avec les noms de machines virtuelles, processeurs virtuels et RAM.

Type de retour

update

Met à jour ScaleSettings pour cette cible de AmlCompute.

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

Paramètres

min_nodes
int
valeur par défaut: None

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

max_nodes
int
valeur par défaut: None

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

idle_seconds_before_scaledown
int
valeur par défaut: None

Durée d’inactivité du nœud, en secondes, avant la mise à l’échelle du cluster.

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

workspace
Workspace
Obligatoire
vm_family
str
Obligatoire

Nom de la famille de machines virtuelles

limit
int
valeur par défaut: None

Quota maximal autorisé de la ressource

location
str
valeur par défaut: None

emplacement du quota. S’il n’est pas spécifié, la valeur par défaut est l’emplacement de 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.

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

Paramètres

show_output
bool
valeur par défaut: False

Valeur booléenne pour fournir une sortie plus détaillée.

min_node_count
int
valeur par défaut: None

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.

timeout_in_minutes
int
valeur par défaut: 25

Durée d’attente, en minutes, avant l’échec de l’approvisionnement.

is_delete_operation
bool
valeur par défaut: False

Indique si l’opération est destinée à être supprimée.

Exceptions