Een Python-ontwikkelomgeving instellen voor Azure Machine Learning

Meer informatie over het configureren van een Python-ontwikkelomgeving voor Azure Machine Learning.

In de volgende tabel ziet u elke ontwikkelomgeving die in dit artikel wordt behandeld, samen met de voor- en nadelen.

Omgeving Voordelen Nadelen
Lokale omgeving Volledig beheer van uw ontwikkelomgeving en afhankelijkheden. Voer uit met een buildhulpprogramma, omgeving of IDE van uw keuze. Het duurt langer om aan de slag te gaan. De benodigde SDK-pakketten moeten worden geïnstalleerd en er moet ook een omgeving worden geïnstalleerd als u er nog geen hebt.
De Data Science Virtual Machine (DSVM) Vergelijkbaar met het cloudgebaseerd rekenproces (Python is vooraf geïnstalleerd), maar met vooraf geïnstalleerde aanvullende populaire hulpprogramma's voor gegevenswetenschap en machine learning. Eenvoudig te schalen en te combineren met andere aangepaste hulpprogramma's en werkstromen. Een tragere ervaring om aan de slag te gaan in vergelijking met het cloudgebaseerde rekenproces.
Azure Machine Learning-rekeninstantie Eenvoudigste manier om aan de slag te gaan. De SDK is al geïnstalleerd op uw werkruimte-VM en notebookzelfstudies zijn vooraf gekloond en klaar om te worden uitgevoerd. Gebrek aan controle over uw ontwikkelomgeving en afhankelijkheden. Extra kosten voor Linux-VM (VM kan worden gestopt wanneer deze niet wordt gebruikt om kosten te voorkomen). Zie prijsinformatie.

Dit artikel bevat ook aanvullende gebruikstips voor de volgende hulpprogramma's:

  • Jupyter Notebooks: als u al Gebruikmaakt van Jupyter Notebooks, heeft de SDK enkele extra's die u moet installeren.

  • Visual Studio Code: als u Visual Studio Code gebruikt, bevat de Azure Machine Learning-extensie taalondersteuning voor Python en functies om het werken met Azure Machine Learning veel gemakkelijker en productiever te maken.

Vereisten

Alleen lokaal en DSVM: een werkruimteconfiguratiebestand maken

Het configuratiebestand voor de werkruimte is een JSON-bestand dat de SDK vertelt hoe deze moet communiceren met uw Azure Machine Learning-werkruimte. Het bestand heet config.json en heeft de volgende indeling:

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

Dit JSON-bestand moet zich in de mapstructuur bevinden die uw Python-scripts of Jupyter Notebooks bevat. Deze kan zich in dezelfde map bevinden, een submap met de naam.azureml* of in een bovenliggende map.

Als u dit bestand wilt gebruiken vanuit uw code, gebruikt u de MLClient.from_config methode . Met deze code worden de gegevens uit het bestand geladen en wordt verbinding gemaakt met uw werkruimte.

Maak een werkruimteconfiguratiebestand op een van de volgende manieren:

  • Azure Machine Learning Studio

    Download het bestand:

    1. Aanmelden bij Azure Machine Learning-studio
    2. Selecteer in de rechterbovenhoek Azure Machine Learning-studio werkbalk de naam van uw werkruimte.
    3. Selecteer de koppeling Configuratiebestand downloaden .

    Schermopname van het downloaden van het configuratiebestand.

  • Azure Machine Learning Python SDK

    Maak een script om verbinding te maken met uw Azure Machine Learning-werkruimte. Zorg ervoor dat u ,resource_group, en workspace_name vervangt door subscription_iduw eigen.

    VAN TOEPASSING OP: Python SDK azure-ai-ml v2 (current)

    #import required libraries
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    #Enter details of your Azure Machine Learning workspace
    subscription_id = '<SUBSCRIPTION_ID>'
    resource_group = '<RESOURCE_GROUP>'
    workspace = '<AZUREML_WORKSPACE_NAME>'
    
    #connect to the workspace
    ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace)
    

Lokale computer of externe VM-omgeving

U kunt een omgeving instellen op een lokale computer of externe virtuele machine, zoals een Azure Machine Learning-rekenproces of Datawetenschap VM.

Een lokale ontwikkelomgeving of externe VM configureren:

  1. Maak een virtuele Python-omgeving (virtualenv, conda).

    Notitie

    Hoewel dit niet vereist is, wordt u aangeraden Anaconda of Miniconda te gebruiken voor het beheren van virtuele Python-omgevingen en installatiepakketten.

    Belangrijk

    Als u Linux of macOS gebruikt en een andere shell dan bash gebruikt (bijvoorbeeld zsh), kunnen er fouten optreden wanneer u bepaalde opdrachten uitvoert. U kunt dit probleem omzeilen door de bash opdracht te gebruiken om een nieuwe bash-shell te starten en de opdrachten daar uit te voeren.

  2. Activeer uw zojuist gemaakte virtuele Python-omgeving.

  3. Installeer de Azure Machine Learning Python SDK.

  4. Als u uw lokale omgeving wilt configureren voor het gebruik van uw Azure Machine Learning-werkruimte, maakt u een werkruimteconfiguratiebestand of gebruikt u een bestaand configuratiebestand.

Nu u uw lokale omgeving hebt ingesteld, kunt u aan de slag met Azure Machine Learning. Zie de Zelfstudie: Azure Machine Learning in een dag om aan de slag te gaan.

Jupyter Notebooks

Wanneer u een lokale Jupyter Notebook-server uitvoert, wordt u aangeraden een IPython-kernel te maken voor uw virtuele Python-omgeving. Dit zorgt ervoor dat het verwachte gedrag voor het importeren van kernels en pakketten wordt gegarandeerd.

  1. Omgevingsspecifieke IPython-kernels inschakelen

    conda install notebook ipykernel
    
  2. Maak een kernel voor uw virtuele Python-omgeving. Zorg ervoor dat u vervangt door <myenv> de naam van uw virtuele Python-omgeving.

    ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
    
  3. De Jupyter Notebook-server starten

Tip

Zie de opslagplaats AzureML-Examples voor bijvoorbeeld notebooks. SDK-voorbeelden bevinden zich onder /sdk/python. Bijvoorbeeld het voorbeeld van het configuratienotitieblok .

Visual Studio Code

Visual Studio Code gebruiken voor ontwikkeling:

  1. Installeer Visual Studio Code.
  2. Installeer de Azure Machine Learning Visual Studio Code-extensie (preview).

Zodra u de Visual Studio Code-extensie hebt geïnstalleerd, gebruikt u deze voor het volgende:

Azure Machine Learning-rekeninstantie

Het Azure Machine Learning-rekenproces is een veilig, cloudgebaseerde Azure-werkstation dat gegevenswetenschappers een Jupyter Notebook-server, JupyterLab en een volledig beheerde machine learning-omgeving biedt.

Er is niets om te installeren of te configureren voor een rekenproces.

Maak er op elk gewenst moment een vanuit uw Azure Machine Learning-werkruimte. Geef alleen een naam op en geef een type Azure-VM op. Probeer het nu met Resources maken om aan de slag te gaan.

Zie Een Azure Machine Learning-rekenproces maken voor meer informatie over rekenprocessen, waaronder het installeren van pakketten.

Tip

Als u wilt voorkomen dat er kosten in rekening worden gebracht voor een ongebruikt rekenproces, schakelt u niet-actief afsluiten in.

Naast een Jupyter Notebook-server en JupyterLab kunt u rekenprocessen gebruiken in de geïntegreerde notebookfunctie in Azure Machine Learning-studio.

U kunt ook de Azure Machine Learning Visual Studio Code-extensie gebruiken om verbinding te maken met een extern rekenproces met behulp van VS Code.

Data Science Virtual Machine

De Datawetenschap VM is een aangepaste vm-installatiekopieën (virtuele machine) die u als ontwikkelomgeving kunt gebruiken. Het is ontworpen voor data science-werk met vooraf geconfigureerde hulpprogramma's en software, zoals:

  • Pakketten zoals TensorFlow, PyTorch, Scikit-learn, XGBoost en de Azure Machine Learning SDK
  • Populaire hulpprogramma's voor data science, zoals Spark Standalone en Drill
  • Azure-hulpprogramma's, zoals de Azure CLI, AzCopy en Storage Explorer
  • Geïntegreerde ontwikkelomgevingen (IDE's), zoals Visual Studio Code en PyCharm
  • Jupyter Notebook Server

Zie de handleiding Datawetenschap VM-hulpprogramma's voor een uitgebreidere lijst met hulpprogramma's.

Belangrijk

Als u van plan bent om de Datawetenschap-VM te gebruiken als rekendoel voor uw trainings- of deductietaken, wordt alleen Ubuntu ondersteund.

De Datawetenschap-VM gebruiken als een ontwikkelomgeving:

  1. Maak een Datawetenschap VM met behulp van een van de volgende methoden:

    • Gebruik de Azure Portal om een Ubuntu- of Windows-DSVM te maken.

    • Een Datawetenschap-VM maken met behulp van ARM-sjablonen.

    • Azure CLI gebruiken

      Gebruik de volgende opdracht om een Ubuntu Datawetenschap VM te maken:

      # 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
      

      Gebruik de volgende opdracht om een Windows-DSVM te maken:

      # 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. Een conda-omgeving maken voor de Azure Machine Learning SDK:

    conda create -n py310 python=310
    
  3. Nadat de omgeving is gemaakt, activeert u deze en installeert u de SDK

    conda activate py310
    pip install azure-ai-ml azure-identity
    
  4. Als u de Datawetenschap VM wilt configureren voor het gebruik van uw Azure Machine Learning-werkruimte, maakt u een werkruimteconfiguratiebestand of gebruikt u een bestaand configuratiebestand.

    Tip

    Net als bij lokale omgevingen kunt u Visual Studio Code en de Azure Machine Learning Visual Studio Code-extensie gebruiken om te communiceren met Azure Machine Learning.

    Zie Datawetenschap Virtual Machines voor meer informatie.

Volgende stappen