Configurare un ambiente di sviluppo Python per Azure Machine Learning
SI APPLICA A: Python SDK azure-ai-ml v2 (corrente)
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 a pro e contro.
Ambiente | Vantaggi | Svantaggi |
---|---|---|
Ambiente locale | Controllo completo dell'ambiente di sviluppo e delle dipendenze. Esecuzione con qualsiasi strumento di compilazione, ambiente o ambiente di sviluppo integrato di propria scelta. | Richiede più tempo per iniziare. Devono essere installati i pacchetti SDK necessari e anche un ambiente se non ne è già disponibile uno. |
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
- Area di lavoro di Azure Machine Learning. Se non è disponibile, è possibile creare un'area di lavoro di Azure Machine Learning tramite il portale di Azure, l’interfaccia della riga di comando di Azure e i modelli di Azure Resource Manager.
Solo Data Science Virtual Machine 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 di 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:
- Accedere allo studio di Azure Machine Learning
- In alto a destra nella barra degli strumenti dello studio di Azure Machine Learning selezionare il nome dell'area di lavoro.
- Selezionare il collegamento Scarica file di configurazione.
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
eworkspace_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 calcolo di Azure Machine Learning o Data Science Virtual Machine.
Per configurare un ambiente di sviluppo locale o una macchina virtuale remota:
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.Attivare l'ambiente virtuale Python appena creato.
Installare il Software Development Kit Python di Azure Machine Learning.
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 del kernel e dell’importazione del pacchetto previsto.
Abilitare i kernel IPython specifici dell'ambiente
conda install notebook ipykernel
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)"
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:
- Installare Visual Studio Code.
- Installare l'estensione Azure Machine Learning per Visual Studio Code (anteprima).
Dopo aver installato l'estensione di Visual Studio Code, usarla per:
- Gestire le risorse di Azure Machine Learning
- Connettersi a un'istanza di calcolo di Azure Machine Learning
- Eseguire il debug degli endpoint online in locale
- Distribuire modelli sottoposti a training.
Istanza di calcolo di Azure Machine Learning
L’istanza di ambiente di calcolo di Azure Machine Learning è una workstation di Azure sicura basata sul cloud che fornisce agli scienziati dei dati un server Jupyter Notebook, JupyterLab e un ambiente di apprendimento automatico completamente gestito.
Non è necessaria alcuna installazione o configurazione per un'istanza di ambiente di calcolo.
Crearne una in qualsiasi momento dall'interno dell'area di lavoro di Azure Machine Learning. Specificare solo un nome e 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.
È anche 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 che ha strumenti e software preconfigurati come:
- 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, vedere la guida agli strumenti della Data Science Virtual Machine.
Importante
Se si prevede di usare la Data Science VM 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:
Creare una Data Science VM seguendo uno dei metodi seguenti:
Usare il portale di Azure per creare una Data Science Virtual Machine Ubuntu o Windows.
Creare una Data Science VM usando modelli di Resource Manager.
Usare l'interfaccia della riga di comando di Azure
Per creare una Data Science VM 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
Creare un ambiente conda per l’SDK Azure Machine Learning:
conda create -n py310 python=310
Dopo aver creato l'ambiente, attivarlo e installare l'SDK
conda activate py310 pip install azure-ai-ml azure-identity
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
- Eseguire il training e distribuire un modello in Azure Machine Learning con il set di dati MNIST.
- Vedere la documentazione di riferimento del Software Development Kit di Azure Machine Learning per Python.