Share via


Configurare un ambiente di sviluppo con Azure Databricks e AutoML in Azure Machine Learning

Informazioni su come configurare un ambiente di sviluppo in Azure Machine Learning che usa Azure Databricks e Machine Learning automatizzato.

Azure Databricks è ideale per l'esecuzione di flussi di lavoro di Machine Learning a elevato utilizzo su larga scala nella piattaforma Apache Spark scalabile nel cloud di Azure. Fornisce un ambiente basato su notebook collaborativo con un cluster di calcolo basato su CPU o GPU.

Per informazioni su altri ambienti di sviluppo di Machine Learning, vedere Configurare l'ambiente di sviluppo Python.

Prerequisito

Area di lavoro di Azure Machine Learning. Per crearne uno, seguire la procedura descritta nell'articolo Creare le risorse dell'area di lavoro .

Azure Databricks con Azure Machine Learning e AutoML

Azure Databricks si integra con Azure Machine Learning e le relative funzionalità AutoML.

È possibile usare Azure Databricks:

Configurare un cluster Databricks

Creare un cluster Databricks. Alcune impostazioni si applicano solo se si installa l'SDK per l'apprendimento automatico in Databricks.

La creazione del cluster richiede alcuni minuti.

Usare queste impostazioni:

Impostazione Si applica a Valore
Cluster Name always nomecluster
Versione di Databricks Runtime always 9.1 LTS
Versione Python always 3
Tipo di ruolo di lavoro
(determina il numero massimo di iterazioni simultanee)
Funzionalità automatiche di Machine Learning
only
È preferibile una macchina virtuale ottimizzata per la memoria
Ruoli di lavoro always almeno 2
Enable Autoscaling (Abilita la scalabilità automatica) Funzionalità automatiche di Machine Learning
only
Deselezionare

Attendere che il cluster sia in esecuzione prima di proseguire.

Aggiungere Azure Machine Learning SDK a Databricks

Dopo aver eseguito il cluster, creare una libreria per collegare il pacchetto azure Machine Learning SDK appropriato al cluster.

Per usare Machine Learning automatizzato, passare a Aggiungere Azure Machine Learning SDK con AutoML.

  1. Fare clic con il pulsante destro del mouse sulla cartella Area di lavoro corrente in cui si vuole archiviare la libreria. Selezionare Crea>libreria.

    Suggerimento

    Se si ha una versione precedente dell'SDK, deselezionarla dalle librerie installate del cluster e spostarla nel cestino. Installare la nuova versione dell'SDK e riavviare il cluster. Se si verifica un problema dopo il riavvio, scollegare e ricollegare il cluster.

  2. Scegliere l'opzione seguente (non sono supportate altre installazioni sdk)

    Extra del pacchetto SDK Source (Sorgente) PyPi Name (Nome PyPi)
    Per Databricks Caricare Python Egg o PyPI azureml-sdk[databricks]

    Avviso

    Non è possibile installare altri sdk aggiuntivi. Scegliere solo l'opzione [databricks] .

    • Non selezionare Collega automaticamente a tutti i cluster.
    • Selezionare Connetti accanto al nome del cluster.
  3. Monitorare gli errori fino a quando lo stato non viene modificato in Collegato, che potrebbe richiedere alcuni minuti. Se questo passaggio ha esito negativo:

    Provare a riavviare il cluster con:

    1. Nel riquadro a sinistra selezionare Cluster.
    2. Nella tabella selezionare il nome del cluster.
    3. Nella scheda Librerie selezionare Riavvia.

    Un'installazione completata ha un aspetto simile al seguente:

Azure Machine Learning SDK per Databricks

Aggiungere Azure Machine Learning SDK con AutoML a Databricks

Se il cluster è stato creato con Databricks Runtime 7.3 LTS (non ML), eseguire il comando seguente nella prima cella del notebook per installare Azure Machine Learning SDK.

%pip install --upgrade --force-reinstall -r https://aka.ms/automl_linux_requirements.txt

Impostazioni di configurazione autoML

Nella configurazione di AutoML quando si usa Azure Databricks aggiungere i parametri seguenti:

  • max_concurrent_iterations si basa sul numero di nodi di lavoro nel cluster.
  • spark_context=sc è basato sul contesto spark predefinito.

Notebook di Machine Learning che funzionano con Azure Databricks

Per provarlo:

Risoluzione dei problemi

  • Databricks annulla un'esecuzione automatizzata di Machine Learning: quando si usano funzionalità di Machine Learning automatizzate in Azure Databricks, per annullare un'esecuzione e avviare una nuova esecuzione dell'esperimento, riavviare il cluster Azure Databricks.

  • Iterazioni di Databricks >10 per Machine Learning automatizzato: nelle impostazioni di Machine Learning automatizzate, se sono presenti più di 10 iterazioni, impostare su show_outputFalse quando si invia l'esecuzione.

  • Widget di Databricks per Azure Machine Learning SDK e Machine Learning automatizzato: il widget di Azure Machine Learning SDK non è supportato in un notebook di Databricks perché i notebook non possono analizzare i widget HTML. È possibile visualizzare il widget nel portale usando questo codice Python nella cella del notebook di Azure Databricks:

    displayHTML("<a href={} target='_blank'>Azure Portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
    
  • Errore durante l'installazione dei pacchetti

    L'installazione di Azure Machine Learning SDK ha esito negativo in Azure Databricks quando vengono installati altri pacchetti. Alcuni pacchetti, come psutil, possono causare conflitti. Per evitare errori di installazione, installare i pacchetti bloccando la versione della libreria. Questo problema è correlato a Databricks e non ad Azure Machine Learning SDK. Questo problema potrebbe verificarsi anche con altre librerie. Esempio:

    psutil cryptography==1.5 pyopenssl==16.0.0 ipython==2.2.0
    

    In alternativa, è possibile usare script init se si verificano problemi di installazione con le librerie Python. Questo approccio non è ufficialmente supportato. Per altre informazioni, vedere Script init con ambito cluster.

  • Errore di importazione: non è possibile importare il nome Timedelta da pandas._libs.tslibs: Se viene visualizzato questo errore quando si usa Machine Learning automatizzato, eseguire le due righe seguenti nel notebook:

    %sh rm -rf /databricks/python/lib/python3.7/site-packages/pandas-0.23.4.dist-info /databricks/python/lib/python3.7/site-packages/pandas
    %sh /databricks/python/bin/pip install pandas==0.23.4
    
  • Errore di importazione: nessun modulo denominato "pandas.core.indexes": se viene visualizzato questo errore quando si usa Machine Learning automatizzato:

    1. Eseguire questo comando per installare due pacchetti nel cluster Azure Databricks:

      scikit-learn==0.19.1
      pandas==0.22.0
      
    2. Scollegare e ricollegare il cluster al notebook.

    Se questi passaggi non risolvono il problema, provare a riavviare il cluster.

  • FailToSendFeather: se viene visualizzato un FailToSendFeather errore durante la lettura dei dati nel cluster Azure Databricks, vedere le soluzioni seguenti:

    • Aggiornare il azureml-sdk[automl] pacchetto alla versione più recente.
    • Aggiungere azureml-dataprep la versione 1.1.8 o successiva.
    • Aggiungere pyarrow la versione 0.11 o successiva.

Passaggi successivi