Configurer un environnement de développement Python pour Azure Machine Learning (v1)

S’APPLIQUE À : SDK Python azureml v1

Apprenez à configurer un environnement de développement Python pour Azure Machine Learning.

Le tableau suivant présente chaque environnement de développement évoqué dans cet article, ainsi que ses avantages et inconvénients.

Environnement Avantages Inconvénients
Environnement local Contrôle total de votre environnement de développement et des dépendances. Exécutez avec n’importe quel outil de build, environnement ou IDE de votre choix. La mise en route prend plus de temps. Les packages de Kit de développement logiciel (SDK) nécessaires doivent être installés, ainsi qu’un environnement si vous n’en avez pas encore.
Data Science Virtual Machine (DSVM) Similaire à l’instance de calcul basée sur le cloud (Python et le kit de développement logiciel (SDK) sont préinstallés), mais avec d’autres outils connus de science des données et de Machine Learning préinstallés. Facile à mettre à l’échelle et à combiner avec d’autres outils et flux de travail personnalisés. Expérience de démarrage plus lente que celle de l’instance de calcul basée sur le cloud.
Instance de calcul Azure Machine Learning Méthode la plus simple pour la mise en route. Le Kit de développement logiciel (SDK) entier est déjà installé sur votre machine virtuelle d’espace de travail, et les didacticiels du Notebook sont pré-clonés et prêts pour exécution. Manque de contrôle de votre environnement de développement et des dépendances. Coût supplémentaire pour la machine virtuelle Linux (la machine virtuelle peut être arrêtée lorsqu’elle n’est pas utilisée pour éviter des frais). Consultez les détails de la tarification.
Azure Databricks Idéal pour l'exécution de flux de travail de Machine Learning intensifs à grande échelle sur la plateforme Apache Spark évolutive. Excessif pour du Machine Learning expérimental ou des expériences et des flux de travail à plus petite échelle. Coût supplémentaire pour Azure Databricks. Consultez les détails de la tarification.

Cet article fournit également des conseils d’utilisation pour les outils suivants :

  • Jupyter Notebook : si vous utilisez déjà Jupyter Notebook, le SDK contient des fonctionnalités supplémentaires que vous devez installer.

  • Visual Studio Code : si vous utilisez Visual Studio Code, l’extension Azure Machine Learning inclut une prise en charge du langage extensif Python et de caractéristiques permettant de travailler avec Azure Machine Learning beaucoup plus facilement et rapidement.

Prérequis

Local et DSVM uniquement : Créer un fichier de configuration d’espace de travail

Le fichier de configuration d’espace de travail est un fichier JSON qui indique au SDK comment communiquer avec votre espace de travail Azure Machine Learning. Le fichier est nommé config.json, et il a le format suivant :

{
    "subscription_id": "<subscription-id>",
    "resource_group": "<resource-group>",
    "workspace_name": "<workspace-name>"
}

Ce fichier JSON doit se trouver dans la structure de répertoire qui contient vos scripts Python ou vos blocs-notes Jupyter Notebook. Il peut se trouver dans le même répertoire, dans un sous-répertoire nommé .azureml ou dans un répertoire parent.

Pour utiliser ce fichier à partir de votre code, utilisez la méthode Workspace.from_config. Ce code charge les informations à partir du fichier et se connecte à votre espace de travail.

Créez un fichier de configuration d’espace de travail dans l’une des méthodes suivantes :

  • Portail Azure

    Télécharger le fichier: Dans le portail Azure, sélectionnez Télécharger config.json à partir de la section Vue d’ensemble de votre espace de travail.

    Capture d’écran de la page de présentation de l’espace de travail avec téléchargement config.json sélectionné.

  • SDK Python Azure Machine Learning

    Créez un script pour vous connecter à votre espace de travail Azure Machine Learning et utilisez la méthode write_config pour générer votre fichier et l’enregistrer sous le nom .azureml/config.json. Assurez-vous de remplacer les valeurs subscription_id, resource_group et workspace_name par les vôtres.

    S’APPLIQUE À : SDK Python azureml v1

    from azureml.core import Workspace
    
    subscription_id = '<subscription-id>'
    resource_group  = '<resource-group>'
    workspace_name  = '<workspace-name>'
    
    try:
        ws = Workspace(subscription_id = subscription_id, resource_group = resource_group, workspace_name = workspace_name)
        ws.write_config()
        print('Library configuration succeeded')
    except:
        print('Workspace not found')
    

Ordinateur local ou environnement de machine virtuelle distante

Vous pouvez configurer un environnement sur un ordinateur local ou une machine virtuelle distante, telle qu’une instance de calcul Azure Machine Learning ou Data Science VM.

Pour configurer un environnement de développement local ou une machine virtuelle distante :

  1. Créez un environnement virtuel Python (virtualenv, conda).

    Notes

    Bien que cela ne soit pas obligatoire, il est recommandé d’utiliser Anaconda ou Miniconda pour gérer les environnements virtuels Python et installer les packages.

    Important

    Si vous avez un environnement Linux ou macOS et utilisez un interpréteur de commandes autre que Bash (par exemple, zsh), des erreurs peuvent s’afficher lorsque vous exécutez certaines commandes. Pour contourner ce problème, utilisez la commande bash pour démarrer un nouveau shell Bash et y exécuter les commandes.

  2. Activez votre environnement virtuel Python nouvellement créé.

  3. Installez le Kit SDK Python d’Azure Machine Learning.

  4. Pour configurer votre environnement local de sorte qu’il utilise votre espace de travail Azure Machine Learning, créez un fichier de configuration d’espace de travail ou utilisez un fichier existant.

Maintenant que votre environnement local est configuré, vous pouvez commencer à utiliser Azure Machine Learning. Pour commencer, consultez le guide de prise en main d’Azure Machine Learning pour Python.

Notebooks Jupyter

Lorsque vous exécutez un serveur Jupyter Notebook local, nous vous recommandons de créer un noyau IPython pour votre environnement virtuel Python. Cela permet de s’assurer du bon déroulement de l’importation du noyau et du package.

  1. Activer les noyaux IPython spécifiques à l’environnement

    conda install notebook ipykernel
    
  2. Créez un noyau pour votre environnement virtuel Python. Veillez à remplacer <myenv> par le nom de votre environnement virtuel Python.

    ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
    
  3. Démarrer le serveur Jupyter Notebook

Pour en savoir plus sur Azure Machine Learning et Jupyter Notebooks, consultez le référentiel de notebooks Azure Machine Learning. Consultez également le référentiel piloté par la communauté, AzureML-Examples.

Visual Studio Code

Pour utiliser Visual Studio Code dans le cadre du développement :

  1. Installez Visual Studio Code.

  2. Installer l’extension Azure Machine Learning de Visual Studio Code (préversion).

    Important

    Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge.

    Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Une fois l’extension Visual Studio Code installée, utilisez-la pour :

Instance de calcul Azure Machine Learning

L’instance de calcul Azure Machine Learning est une station de travail Azure sécurisée et basée sur le cloud, qui fournit aux scientifiques des données un serveur Jupyter Notebook, un JupyterLab et un environnement de Machine Learning entièrement géré.

Vous n’avez rien à installer ou à configurer pour une instance de calcul.

créez à tout moment depuis votre espace de travail Azure Machine Learning. Indiquez juste un nom et spécifiez un type de machine virtuelle Azure. Essayez-le maintenant avec Créer des ressources pour commencer.

Pour en savoir plus sur les instances de calcul, notamment sur la manière d’installer des packages, consultez Créer et gérer une instance de calcul Azure Machine Learning.

Conseil

Pour éviter les frais associés à une instance de calcul inutilisée, arrêtez l’instance de calcul. Ou activez l’arrêt en cas d’inactivité pour l’instance de calcul.

En plus d’un serveur Jupyter Notebook et d’un JupyterLab, vous pouvez utiliser des instances de calcul dans la fonctionnalité de notebook intégrée à Azure Machine Learning Studio.

Vous pouvez également utiliser l’extension Azure Machine Learning Visual Studio Code pour vous connecter à une instance de calcul distante à l’aide de VS Code.

Machine virtuelle de science des données

Data Science VM est une image de machine virtuelle personnalisée que vous pouvez utiliser comme environnement de développement. Elle est conçue pour les travaux de science des données préconfigurés avec les outils et logiciels tels que :

  • Des packages tels que TensorFlow, PyTorch, Scikit-learn, XGBoost et le Kit de développement logiciel (SDK) Azure Machine Learning.
  • Des outils de science des données appréciés tels que Spark Standalone et Drill.
  • Des outils Azure tels que Azure CLI, AzCopy et Explorateur Stockage.
  • Des environnements de développement intégrés (IDE) tels que Visual Studio Code et PyCharm.
  • Serveur Jupyter Notebook

Pour une liste d’outils complète, consultez le guide des outils Data Science VM.

Important

Si vous envisagez d’utiliser Data Science VM comme cible de calcul pour vos tâches d’apprentissage ou d’inférence, seule la version Ubuntu est prise en charge.

Pour utiliser Data Science VM comme environnement de développement :

  1. Créez une Data Science VM au moyen de l’une des méthodes suivantes :

    • Utilisez le Portail Azure pour créer une DSVM Ubuntu ou Windows.

    • Créez une Data Science VM à l’aide de modèles ARM.

    • Utiliser Azure CLI

      Pour créer une Data Science VM Ubuntu, utilisez la commande suivante :

      # create a Ubuntu Data Science VM in your resource group
      # note you need to be at least a contributor to the resource group in order to execute this command successfully
      # If you need to create a new resource group use: "az group create --name YOUR-RESOURCE-GROUP-NAME --location YOUR-REGION (For example: westus2)"
      az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --generate-ssh-keys --authentication-type password
      

      Pour créer une DSVM Windows, utilisez la commande suivante :

      # create a Windows Server 2016 DSVM in your resource group
      # note you need to be at least a contributor to the resource group in order to execute this command successfully
      az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:dsvm-windows:server-2016:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --authentication-type password
      
  2. Activez l’environnement conda contenant le Kit SDK Azure Machine Learning.

    • Pour une Data Science VM Ubuntu :

      conda activate py36
      
    • Pour une Data Science VM Windows :

      conda activate AzureML
      
  3. Pour configurer la Data Science VM de manière à utiliser votre espace de travail Azure Machine Learning, créez un fichier de configuration d’espace de travail ou utilisez un fichier existant.

À l’instar des environnements locaux, vous pouvez utiliser Visual Studio Code et l’extension Visual Studio Code d’Azure Machine Learning pour interagir avec Azure Machine Learning.

Pour plus d’informations, consultez la page Machines virtuelles Science des données.

Étapes suivantes