Delen via


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 CPU- of GPU-rekenresource.

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

Vereiste

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

Azure Databricks met Azure Machine Learning en AutoML

Azure Databricks kan worden geïntegreerd met Azure Machine Learning en de autoML-mogelijkheden.

U kunt Azure Databricks gebruiken:

Databricks-rekenproces instellen

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

Het duurt enkele minuten om de rekenresource te maken.

Gebruik deze instellingen:

Instelling Van toepassing op Weergegeven als
Compute-naam altijd uwcomputenaam
Databricks Runtime-versie altijd 9.1 LTS
Python-versie altijd 3
Werkroltype
(bepaalt het maximum aantal gelijktijdige iteraties)
Geautomatiseerde machine learning
alleen
Voorkeurs-VM geoptimaliseerd voor geheugen
Medewerkers altijd 2 of hoger
Automatisch schalen inschakelen Geautomatiseerde machine learning
alleen
Selectie ongedaan maken

Wacht totdat de berekening wordt uitgevoerd voordat u verdergaat.

De Azure Machine Learning SDK toevoegen aan Databricks

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

Als u geautomatiseerde ML wilt gebruiken, gaat u verder met het toevoegen van de Azure Machine Learning SDK met AutoML.

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

    Tip

    Als u een oude SDK-versie hebt, deselecteert u deze uit de geïnstalleerde bibliotheken van compute en gaat u naar de prullenbak. Installeer de nieuwe SDK-versie en start de berekening opnieuw. Als er een probleem is na het opnieuw opstarten, koppelt u de rekenkracht los en koppelt u deze opnieuw.

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

    SDK-pakket extra's 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 bijvoegen voor alle berekeningen.
    • Selecteer Bijvoegen naast de naam van uw rekenproces.
  3. Controleer op fouten totdat de status verandert in Bijgevoegd, wat enkele minuten kan duren. Als deze stap mislukt:

    Start uw rekenproces opnieuw op door:

    1. Selecteer Compute in het linkerdeelvenster.
    2. Selecteer de naam van uw rekenproces in de tabel.
    3. Selecteer Opnieuw opstarten op het tabblad Bibliotheken.

    Bij een geslaagde installatie wordt Geïnstalleerd weergegeven onder de statuskolom.

De Azure Machine Learning SDK met AutoML toevoegen aan Databricks

Als de berekening 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 in de AutoML-configuratie de volgende parameters toe wanneer u Azure Databricks gebruikt:

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

ML-notebooks die werken met Azure Databricks

Probeer het:

  • Hoewel er veel voorbeeldnotebooks beschikbaar zijn, werken alleen deze voorbeeldnotebooks met Azure Databricks.

  • Importeer deze voorbeelden rechtstreeks vanuit uw werkruimte:

    1. Klik in uw werkruimte met de rechtermuisknop op een map en selecteer Importeren.
    2. Geef de URL op of blader naar een bestand met een ondersteunde externe indeling of een ZIP-archief met notebooks die zijn geëxporteerd vanuit een Databricks-werkruimte.
    3. Selecteer Importeren.
  • Meer informatie over het maken van een pijplijn met Databricks als trainingsreken.

Probleemoplossing

  • Databricks annuleert een geautomatiseerde machine learning-uitvoering: wanneer u geautomatiseerde machine learning-mogelijkheden in Azure Databricks gebruikt om een uitvoering te annuleren en een nieuwe experimentuitvoering te starten, start u uw Azure Databricks-rekenproces opnieuw.

  • Databricks >10-iteraties voor geautomatiseerde machine learning: Als u meer dan tien iteraties hebt, kunt u in geautomatiseerde machine learning-instellingen instellen show_output False op wanneer u de uitvoering verzendt.

  • Databricks-widget voor de Azure Machine Learning SDK en geautomatiseerde machine learning: de Widget Azure Machine Learning SDK wordt niet ondersteund in een Databricks-notebook omdat de notebooks HTML-widgets niet 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

    De installatie van de Azure Machine Learning SDK mislukt in Azure Databricks wanneer er meer pakketten zijn geïnstalleerd. Sommige pakketten, zoals psutil, kunnen conflicten veroorzaken. Installeer pakketten door de bibliotheekversie te blokkeren om installatiefouten te voorkomen. Dit probleem is gerelateerd aan Databricks en niet aan de Azure Machine Learning SDK. Mogelijk ondervindt u dit probleem ook met andere bibliotheken. Voorbeeld:

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

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

  • Importfout: kan de naam Timedelta niet importeren van 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-rekenproces:

      scikit-learn==0.19.1
      pandas==0.22.0
      
    2. Koppel de rekenkracht los en koppel deze vervolgens opnieuw aan uw notebook.

    Als deze stappen het probleem niet oplossen, start u de berekening opnieuw.

  • FailToSendFeather: Als er een FailToSendFeather fout optreedt bij het lezen van gegevens op Azure Databricks Compute, raadpleegt u de volgende oplossingen:

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

Volgende stappen