Comprendere gli ambienti
In una soluzione di Machine Learning aziendale, in cui gli esperimenti possono essere eseguiti in diversi contesti di calcolo, può essere importante essere consapevoli degli ambienti in cui è in esecuzione il codice dell'esperimento. È possibile usare gli ambienti di Azure Machine Learning per creare ambienti e specificare la configurazione di runtime per un esperimento.
Quando crei un'area di lavoro di Azure Machine Learning, gli ambienti curati vengono creati e resi disponibili automaticamente. In alternativa, è possibile creare e gestire ambienti personalizzati e registrarli nell'area di lavoro. La creazione e la registrazione di ambienti personalizzati consentono di definire contesti di runtime coerenti e riutilizzabili per gli esperimenti, indipendentemente dalla posizione in cui viene eseguito lo script dell'esperimento.
Che cos'è un ambiente in Azure Machine Learning?
Il codice Python viene eseguito nel contesto di un ambiente virtuale che definisce la versione del runtime Python da usare e i pacchetti installati disponibili per il codice. Nella maggior parte delle installazioni Python i pacchetti vengono installati e gestiti in ambienti usando conda
o pip
.
Per migliorare la portabilità, in genere si creano ambienti in contenitori Docker ospitati a loro volta in destinazioni di calcolo, ad esempio il computer di sviluppo, le macchine virtuali o i cluster nel cloud.
Azure Machine Learning compila definizioni di ambiente in immagini Docker e ambienti conda. Quando si usa un ambiente, Azure Machine Learning compila l'ambiente nel registro Azure Container associato all'area di lavoro.
Suggerimento
Quando si crea un'area di lavoro di Azure Machine Learning, è possibile scegliere se usare un registro Azure Container esistente o se consentire all'area di lavoro di creare un nuovo registro quando necessario.
Per visualizzare tutti gli ambienti disponibili nell'area di lavoro di Azure Machine Learning, è possibile elencare gli ambienti in studio, usando l'interfaccia della riga di comando di Azure o Python SDK.
Ad esempio, per elencare gli ambienti usando Python SDK:
envs = ml_client.environments.list()
for env in envs:
print(env.name)
Per esaminare i dettagli di un ambiente specifico, è possibile recuperare un ambiente in base al nome registrato:
env = ml_client.environments.get(name="my-environment", version="1")
print(env)