Configurare un ambiente di sviluppo Python per Azure Machine Learning

Informazioni su come configurare un ambiente di sviluppo Python per Azure Machine Learning.

La tabella seguente illustra ogni ambiente di sviluppo trattato in questo articolo, insieme ai pro e i contro.

Ambiente Vantaggi Svantaggi
Ambiente locale Controllo completo dell'ambiente di sviluppo e delle dipendenze. Eseguire con qualsiasi strumento di compilazione, ambiente o IDE di propria scelta. L’introduzione richiede più tempo. Devono essere installati i pacchetti SDK necessari e se non c’è ancora deve essere installato un ambiente.
Data Science Virtual Machine (DSVM) Simile all'istanza di calcolo basata sul cloud (Python è preinstallata), ma con strumenti di data science e machine learning più diffusi preinstallati. Facile da ridimensionare e combinare con altri strumenti e flussi di lavoro personalizzati. Un'esperienza iniziale più lenta rispetto all'istanza di calcolo basata sul cloud.
Istanza di calcolo di Azure Machine Learning Modo più semplice per iniziare. L'SDK è già installato nella macchina virtuale dell'area di lavoro e le esercitazioni sui notebook sono pre-clonate e pronte per l'esecuzione. Mancanza di controllo sull'ambiente di sviluppo e sulle dipendenze. Costi aggiuntivi sostenuti per la macchina virtuale Linux (la macchina virtuale può essere arrestata quando non in uso per evitare addebiti). Vedi i dettagli sui prezzi.

Questo articolo fornisce anche suggerimenti aggiuntivi sull'utilizzo per gli strumenti seguenti:

  • Jupyter Notebook: se si usa già i notebook di Jupyter, SDK include alcune funzionalità aggiuntive che è necessario installare.

  • Visual Studio Code: se si usa Visual Studio Code, l'estensione Azure Machine Learning include il supporto del linguaggio per Python e le funzionalità per rendere l'uso di Azure Machine Learning molto più pratico e produttivo.

Prerequisiti

Solo DSVM e locale: creare un file di configurazione dell'area di lavoro

Il file di configurazione dell'area di lavoro è un file JSON che indica all'SDK come comunicare con l'area di lavoro Azure Machine Learning. Il file è denominato config.json e ha il formato seguente:

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

Questo file JSON deve trovarsi nella struttura della directory che contiene gli script di Python o i notebook di Jupyter. Può trattarsi della stessa directory, in una sottodirectory denominata .azureml* o in una directory padre.

Per usare questo file dal codice, usare il metodo MLClient.from_config. Questo codice carica le informazioni dal file e si connette all'area di lavoro.

Creare un file di configurazione dell'area di lavoro in uno dei metodi seguenti:

  • Studio di Azure Machine Learning

    Scaricare il file:

    1. Accedere allo studio di Azure Machine Learning
    2. In alto a destra nella barra degli strumenti dello studio di Azure Machine Learning selezionare il nome dell'area di lavoro.
    3. Selezionare il collegamento Scarica file di configurazione.

    Screenshot shows how to download your config file.

  • Python SDK di Azure Machine Learning

    Creare uno script per connettersi all'area di lavoro di Azure Machine Learning. Assicurarsi di sostituire subscription_id,resource_group e workspace_name con il proprio.

    SI APPLICA A: Python SDK azure-ai-ml v2 (attuale)

        #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)
    

Computer locale o ambiente di macchine virtuali remote

È possibile configurare un ambiente in un computer locale o in una macchina virtuale remota, ad esempio un'istanza di ambiente di calcolo di Azure Machine Learning o Data Science VM.

Per configurare un ambiente di sviluppo locale o una macchina virtuale remota eseguire i seguenti passaggi:

  1. Creare un ambiente virtuale Python (virtualenv, conda).

    Nota

    Sebbene non sia necessario, è consigliabile usare Anaconda o Miniconda per gestire gli ambienti virtuali Python e installare i pacchetti.

    Importante

    Se si usa Linux o macOS con una shell diversa da bash, ad esempio zsh, possono verificarsi errori durante l'esecuzione di alcuni comandi. Per risolvere questo problema, usare il comando bash per avviare una nuova shell bash ed eseguire i comandi nella shell.

  2. Attivare l'ambiente virtuale Python appena creato.

  3. Installare l’SDK Python per Azure Machine Learning.

  4. Per configurare l'ambiente locale per l'uso dell'area di lavoro di Azure Machine Learning, creare un file di configurazione dell'area di lavoro o usarne uno esistente.

Dopo aver configurato l'ambiente locale, è possibile iniziare a usare Azure Machine Learning. Per iniziare, consultare Esercitazione: Azure Machine Learning in un giorno.

Jupyter Notebook

Quando si esegue un server Jupyter Notebook locale, è consigliabile creare un kernel IPython per l'ambiente virtuale Python. Ciò consente di garantire il comportamento di importazione del kernel e del pacchetto previsto.

  1. Abilitare i kernel IPython specifici dell'ambiente

    conda install notebook ipykernel
    
  2. Creare un kernel per l'ambiente virtuale Python. Assicurarsi di sostituire <myenv> con il nome dell'ambiente virtuale Python.

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

Suggerimento

Per esempi di notebook, consultare repository AzureML-Examples. Gli esempi di SDK si trovano in /sdk/python. Ad esempio, l'esempio di notebook di configurazione.

Visual Studio Code

Per usare Visual Studio Code per lo sviluppo, seguire questa procedura:

  1. Installare Visual Studio Code.
  2. Installare l'estensione Azure Machine Learning per Visual Studio Code (anteprima).

Dopo aver installato l'estensione di Visual Studio Code, usarla per:

Istanza di calcolo di Azure Machine Learning

L'istanza di calcolo di Azure Machine Learning è una workstation di Azure sicura basata sul cloud che fornisce agli analisti dei dati un server Jupyter Notebook, JupyterLab e un ambiente di Machine Learning completamente gestito.

Non è necessario installare o configurare per un'istanza di ambiente di calcolo.

È possibile crearne una in qualsiasi momento dall'interno dell'area di lavoro di Azure Machine Learning. Specificare solo un nome e specificare un tipo di macchina virtuale di Azure. È possibile provarlo ora con Creare risorse per iniziare.

Per ulteriori informazioni sulle istanze di calcolo, tra cui come installare i pacchetti, consultare Creare un'istanza di calcolo di Azure Machine Learning.

Suggerimento

Per evitare addebiti per un'istanza di calcolo inutilizzata, abilitare l'arresto per inattività.

Oltre a un server Jupyter Notebook e JupyterLab, è possibile usare le istanze di calcolo nella funzionalità notebook integrata all'interno di Azure Machine Learning Studio.

Inoltre, è possibile usare l'estensione Visual Studio Code di Azure Machine Learning per connettersi a un'istanza di ambiente di calcolo remota usando VS Code.

Data Science Virtual Machine

La Data Science Virtual Machine è un'immagine di macchina virtuale personalizzata che è possibile usare come ambiente di sviluppo. È progettata per il lavoro di data science preconfigurato, ad esempio strumenti e software preconfigurati:

  • Pacchetti come TensorFlow, PyTorch, Scikit-learn, XGBoost e SDK di Azure Machine Learning
  • Strumenti di data science comuni come Spark Standalone e Drill
  • Strumenti di Azure come l'interfaccia della riga di comando di Azure, AzCopy e Storage Explorer
  • Ambienti di sviluppo integrato (IDE) come Visual Studio Code e PyCharm
  • Server Jupyter Notebook

Per un elenco più completo degli strumenti, consultare la guida agli strumenti di Data Science Virtual Machine.

Importante

Se si prevede di usare la Data Science Virtual Machine come destinazione di calcolo per i processi di training o inferenza, è supportato solo Ubuntu.

Per usare la Data Science Virtual Machine come ambiente di sviluppo, eseguire i seguenti passaggi:

  1. Creare una Data Science Virtual Machine usando uno dei metodi seguenti:

    • Usare il portale di Azure per creare una DSVM Ubuntu o Windows.

    • Creare una Data Science Virtual Machine usando i modelli di Resource Manager.

    • Usare l'interfaccia della riga di comando di Azure

      Per creare una Data Science Virtual Machine Ubuntu, usare il comando seguente:

      # 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
      

      Per creare una DSVM di Windows, usare il comando seguente:

      # 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. Creare un ambiente conda per l’SDK Azure Machine Learning:

    conda create -n py310 python=310
    
  3. Dopo aver creato l'ambiente, attivarlo e installare l'SDK

    conda activate py310
    pip install azure-ai-ml azure-identity
    
  4. Per configurare la Data Science Virtual Machine per l'uso dell'area di lavoro di Azure Machine Learning, creare un file di configurazione dell'area di lavoro o usarne uno esistente.

    Suggerimento

    Analogamente agli ambienti locali, è possibile usare Visual Studio Code e l'estensione Visual Studio Code di Azure Machine Learning per interagire con Azure Machine Learning.

    Per altre informazioni, vedere Data Science Virtual Machine.

Passaggi successivi