Een ontwikkelomgeving instellen met Azure Databricks en AutoML in Azure Machine Learning

Meer informatie over het configureren van een ontwikkelomgeving in Azure Machine Learning die gebruikmaakt van Azure Databricks en geautomatiseerde ML.

Azure Databricks is ideaal voor het uitvoeren van grootschalige intensieve machine learning-werkstromen op het schaalbare Apache Spark-platform in de Azure-cloud. Het biedt een op notebook gebaseerde omgeving met een op CPU of GPU gebaseerd rekencluster.

Zie Python-ontwikkelomgeving instellen voor informatie over andere machine learning-ontwikkelomgevingen.

Vereiste

Azure Machine Learning-werkruimte. Als u een werkruimte wilt maken, gebruikt u de stappen in het artikel Werkruimteresources maken .

Azure Databricks met Azure Machine Learning en AutoML

Azure Databricks is geïntegreerd met Azure Machine Learning en de Bijbehorende AutoML-mogelijkheden.

U kunt Azure Databricks gebruiken:

Een Databricks-cluster instellen

Maak een Databricks-cluster. Sommige instellingen zijn alleen van toepassing als u de SDK voor geautomatiseerde machine learning op Databricks installeert.

Het duurt enkele minuten om het cluster te maken.

Gebruik deze instellingen:

Instelling Van toepassing op Waarde
Clusternaam altijd yourclustername
Databricks Runtime-versie altijd 9.1 LTS
Python-versie altijd 3
Werkroltype
(bepaalt het maximumaantal gelijktijdige iteraties)
Geautomatiseerde machine learning
Alleen
Voorkeur voor geoptimaliseerde VM's met geheugen
Werknemers altijd 2 of hoger
Automatisch schalen inschakelen Geautomatiseerde machine learning
Alleen
Uitschakelen

Wacht totdat het cluster wordt uitgevoerd voordat u verdergaat.

De Azure Machine Learning SDK toevoegen aan Databricks

Zodra het cluster wordt uitgevoerd, maakt u een bibliotheek om het juiste Azure Machine Learning SDK-pakket aan uw cluster te koppelen.

Als u geautomatiseerde ML wilt gebruiken, gaat u naar De Azure Machine Learning SDK toevoegen met AutoML.

  1. Klik met de rechtermuisknop op de huidige werkruimtemap waarin u de bibliotheek wilt opslaan. Selecteer Bibliotheek maken>.

    Tip

    Als u een oude SDK-versie hebt, schakelt u deze uit de geïnstalleerde clusterbibliotheken en gaat u naar de prullenbak. Installeer de nieuwe SDK-versie en start het cluster opnieuw op. Als er een probleem is na het opnieuw opstarten, koppelt u het cluster los en koppelt u het opnieuw.

  2. Kies de volgende optie (er worden geen andere SDK-installaties ondersteund)

    Extra's voor SDK-pakketten Bron PyPi-naam
    Voor Databricks Python Egg of PyPI uploaden azureml-sdk[databricks]

    Waarschuwing

    Er kunnen geen andere SDK-extra's worden geïnstalleerd. Kies alleen de optie [databricks].

    • Selecteer niet Automatisch koppelen aan alle clusters.
    • Selecteer Koppelen naast de naam van uw cluster.
  3. Controleer op fouten totdat de status wordt gewijzigd in Gekoppeld. Dit kan enkele minuten duren. Als deze stap mislukt:

    Probeer het cluster opnieuw op te starten door:

    1. Selecteer Clusters in het linkerdeelvenster.
    2. Selecteer in de tabel de naam van uw cluster.
    3. Selecteer op het tabblad Bibliotheken de optie Opnieuw opstarten.

    Een geslaagde installatie ziet er als volgt uit:

Azure Machine Learning SDK voor Databricks

De Azure Machine Learning SDK met AutoML toevoegen aan Databricks

Als het cluster is gemaakt met Databricks Runtime 7.3 LTS (niet ML), voert u de volgende opdracht uit in de eerste cel van uw notebook om de Azure Machine Learning SDK te installeren.

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

AutoML-configuratie-instellingen

Voeg bij het gebruik van Azure Databricks in de AutoML-configuratie de volgende parameters toe:

  • max_concurrent_iterations is gebaseerd op het aantal werkknooppunten in uw cluster.
  • spark_context=sc is gebaseerd op de standaard spark-context.

ML-notebooks die werken met Azure Databricks

Probeer het eens:

Problemen oplossen

  • Databricks annuleert een geautomatiseerde machine learning-uitvoering: als u geautomatiseerde machine learning-mogelijkheden in Azure Databricks gebruikt, moet u uw Azure Databricks-cluster opnieuw starten om een uitvoering te annuleren en een nieuw experiment te starten.

  • Databricks >10-iteraties voor geautomatiseerde machine learning: als u meer dan tien iteraties hebt in de instellingen voor geautomatiseerde machine learning, stelt u in show_outputFalse op wanneer u de uitvoering verzendt.

  • Databricks-widget voor de Azure Machine Learning SDK en geautomatiseerde machine learning: de Azure Machine Learning SDK-widget wordt niet ondersteund in een Databricks-notebook omdat de notebooks geen HTML-widgets kunnen parseren. U kunt de widget in de portal weergeven met behulp van deze Python-code in uw Azure Databricks-notebookcel:

    displayHTML("<a href={} target='_blank'>Azure Portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
    
  • Fout bij het installeren van pakketten

    Azure Machine Learning SDK-installatie mislukt in Azure Databricks wanneer er meer pakketten worden geïnstalleerd. Sommige pakketten, zoals psutil, kunnen conflicten veroorzaken. Om installatiefouten te voorkomen, installeert u pakketten door de bibliotheekversie te blokkeren. Dit probleem heeft te maken met Databricks en niet met de Azure Machine Learning SDK. Mogelijk ondervindt u dit probleem ook bij andere bibliotheken. Voorbeeld:

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

    U kunt ook init-scripts gebruiken als u steeds installatieproblemen ondervindt met Python-bibliotheken. Deze aanpak wordt niet officieel ondersteund. Zie Init-scripts met clusterbereik voor meer informatie.

  • Importfout: kan de naam Timedelta niet importeren uit pandas._libs.tslibs: als u deze fout ziet wanneer u geautomatiseerde machine learning gebruikt, voert u de volgende twee regels uit in uw 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
    
  • Importfout: er is geen module met de naam pandas.core.indexes: als u deze fout ziet wanneer u geautomatiseerde machine learning gebruikt:

    1. Voer deze opdracht uit om twee pakketten te installeren in uw Azure Databricks-cluster:

      scikit-learn==0.19.1
      pandas==0.22.0
      
    2. Koppel het cluster los en koppel het vervolgens opnieuw aan uw notebook.

    Als het probleem niet wordt opgelost met deze stappen, start u het cluster opnieuw op.

  • FailToSendFeather: Als u een FailToSendFeather fout ziet bij het lezen van gegevens in een Azure Databricks-cluster, raadpleegt u de volgende oplossingen:

    • Upgrade azureml-sdk[automl] pakket naar de nieuwste versie.
    • Voeg azureml-dataprep versie 1.1.8 of hoger toe.
    • Voeg pyarrow versie 0.11 of hoger toe.

Volgende stappen