Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’APPLIQUE À :Kit de développement logiciel (SDK) Azure Machine Learning v1 pour Python
Important
Cet article fournit des informations sur l’utilisation du Kit de développement logiciel (SDK) Azure Machine Learning v1. Sdk v1 est déconseillé depuis le 31 mars 2025. La prise en charge prendra fin le 30 juin 2026. Vous pouvez installer et utiliser le Kit de développement logiciel (SDK) v1 jusqu’à cette date.
Nous vous recommandons de passer au SDK v2 avant le 30 juin 2026. Pour plus d’informations sur le SDK v2, consultez Qu’est-ce qu’Azure Machine Learning CLI et le SDK Python v2 ? et la référence du SDK v2.
Cet article explique comment utiliser une image Docker personnalisée pour entraîner des modèles avec Azure Machine Learning. Les exemples de scripts montrent comment classifier des images en créant un réseau neuronal convolutionnel.
Azure Machine Learning fournit une image de base par défaut. Vous pouvez également utiliser des environnements Azure Machine Learning pour spécifier une autre image de base, telle qu’une image de base Azure Machine Learning gérée ou votre propre image personnalisée. Les images de base personnalisées vous permettent de gérer étroitement vos dépendances et de maintenir un contrôle plus étroit sur les versions des composants lorsque vous exécutez des travaux d’entraînement.
Prérequis
Pour exécuter l’exemple de code, votre configuration doit inclure l’un des environnements suivants :
Instance de calcul Azure Machine Learning avec un serveur notebook dédié préchargé avec le kit SDK Machine Learning et le référentiel Exemples.
Cette configuration ne nécessite aucun téléchargement ni autre installation. Pour préparer cet environnement, consultez Créer des ressources pour commencer.
Serveur Jupyter Notebook. Les ressources suivantes fournissent des instructions pour vous aider à préparer cet environnement :
- Créer un fichier de configuration d’espace de travail.
- Installez le Kit de développement logiciel (SDK) Azure Machine Learning.
- Créez un registre Azure Container Registry ou un autre registre Docker disponible sur Internet.
Configurer une expérience de formation
La première tâche consiste à configurer votre expérience de formation en initialisant un espace de travail Machine Learning, en définissant votre environnement et en configurant une cible de calcul.
Initialiser un espace de travail
L’espace de travail Azure Machine Learning est la ressource de niveau supérieur du service. Il vous donne un emplacement centralisé pour travailler avec tous les artefacts que vous créez. Dans le kit de développement logiciel (SDK) Python, vous pouvez accéder aux artefacts de l’espace de travail en créant un objet Workspace
.
Si nécessaire, créez un Workspace
objet à partir du fichier config.json que vous avez créé en tant que prérequis.
from azureml.core import Workspace
ws = Workspace.from_config()
Définir votre environnement
Créez un objet Environment
.
from azureml.core import Environment
fastai_env = Environment("fastai2")
L'image de base spécifiée dans le code suivant prend en charge la bibliothèque fast.ai, qui permet des capacités de deep-learning distribuées. Pour plus d’informations, consultez le référentiel Docker Hub fast.ai.
Lorsque vous utilisez votre image Docker personnalisée, vous pouvez déjà configurer correctement votre environnement Python. Dans ce cas, définissez l’user_managed_dependencies
indicateur sur True
pour utiliser l’environnement Python intégré de votre image personnalisée. Par défaut, Azure Machine Learning crée un environnement Conda avec les dépendances que vous avez spécifiées. Le service exécute le script dans cet environnement au lieu d’utiliser des bibliothèques Python que vous avez installées sur l’image de base.
fastai_env.docker.base_image = "fastdotai/fastai2:latest"
fastai_env.python.user_managed_dependencies = True
Important
Azure Machine Learning prend uniquement en charge les images Docker qui fournissent les logiciels suivants :
- Ubuntu 18.04 ou version ultérieure
- Conda 4.7.# ou version ultérieure
- Python 3.7+
- Un interpréteur de commandes compatible POSIX disponible sur /bin/sh est requis dans n’importe quelle image conteneur utilisée pour l’entraînement
Pour plus d’informations sur la création et la gestion d’environnements Azure Machine Learning, consultez créer et utiliser des environnements logiciels.
Créer ou attacher une cible de calcul
Vous devez créer une cible de calcul pour la formation de votre modèle. Dans ce tutoriel, vous allez créer AmlCompute
comme ressource de calcul de formation.
La création de AmlCompute
prend quelques minutes. Si laAmlCompute
ressource figure déjà dans votre espace de travail, ce code ignore le processus de création.
À l’instar d’autres services Azure, certaines ressources (par exemple, AmlCompute
) associées au service Azure Machine Learning présentent des limites. Pour plus d'informations, consultez Limites par défaut et comment demander un quota plus élevé.
from azureml.core.compute import ComputeTarget, AmlCompute
from azureml.core.compute_target import ComputeTargetException
# Choose a name for your cluster
cluster_name = "gpu-cluster"
try:
compute_target = ComputeTarget(workspace=ws, name=cluster_name)
print('Found existing compute target.')
except ComputeTargetException:
print('Creating a new compute target...')
compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_NC6',
max_nodes=4)
# Create the cluster
compute_target = ComputeTarget.create(ws, cluster_name, compute_config)
compute_target.wait_for_completion(show_output=True)
# Use get_status() to get a detailed status for the current AmlCompute
print(compute_target.get_status().serialize())
Important
Utilisez les références CPU pour toute création d’image sur le calcul.
Configurer votre tâche d’entraînement
Pour ce tutoriel, utilisez le script de formation train.py sur GitHub. Dans la pratique, vous pouvez utiliser n’importe quel script de formation personnalisé et l’exécuter, comme c’est le cas, avec Azure Machine Learning.
Créez ScriptRunConfig
une ressource pour configurer votre travail en vue de son exécution sur lacible de calculsouhaitée.
from azureml.core import ScriptRunConfig
src = ScriptRunConfig(source_directory='fastai-example',
script='train.py',
compute_target=compute_target,
environment=fastai_env)
Envoyer votre tâche d’entraînement
Lorsque vous soumettez une exécution d’apprentissage à l’aide d’un ScriptRunConfig
objet, la submit
méthode retourne un objet de type ScriptRun
. L’objet ScriptRun
retourné vous donne un accès par programmation aux informations sur l’exécution de l’apprentissage.
from azureml.core import Experiment
run = Experiment(ws,'Tutorial-fastai').submit(src)
run.wait_for_completion(show_output=True)
Avertissement
Azure Machine Learning exécute des scripts d’entraînement en copiant l’intégralité du répertoire source. Si vous avez des données sensibles que vous ne souhaitez pas charger, utilisez un fichier .ignore ou ne l’incluez pas dans le répertoire source. Au lieu de cela, accédez à vos données à l’aide d’un magasin de données.