Konfigurera en utvecklingsmiljö med Azure Databricks och AutoML i Azure Machine Learning
Lär dig hur du konfigurerar en utvecklingsmiljö i Azure Machine Learning som använder Azure Databricks och automatiserad ML.
Azure Databricks är idealiskt för att köra storskaliga intensiva maskininlärningsarbetsflöden på den skalbara Apache Spark-plattformen i Azure-molnet. Det ger en samarbetsbaserad notebook-miljö med ett CPU- eller GPU-baserat beräkningskluster.
Information om andra utvecklingsmiljöer för maskininlärning finns i Konfigurera Python-utvecklingsmiljö.
Förutsättning
Azure Machine Learning-arbetsyta. Använd stegen i artikeln Skapa arbetsyteresurser för att skapa en.
Azure Databricks med Azure Machine Learning och AutoML
Azure Databricks integreras med Azure Machine Learning och dess AutoML-funktioner.
Du kan använda Azure Databricks:
- Träna en modell med Spark MLlib och distribuera modellen till ACI/AKS.
- Med automatiserade maskininlärningsfunktioner med hjälp av en Azure Machine Learning SDK.
- Som beräkningsmål från en Azure Machine Learning-pipeline.
Konfigurera ett Databricks-kluster
Skapa ett Databricks-kluster. Vissa inställningar gäller endast om du installerar SDK för automatiserad maskininlärning i Databricks.
Det tar några minuter att skapa klustret.
Använd de här inställningarna:
Inställningen | Gäller för | Värde |
---|---|---|
Klusternamn | alltid | yourclustername |
Databricks Runtime-version | alltid | 9.1 LTS |
Python-version | alltid | 3 |
Arbetstyp (avgör max antal samtidiga iterationer) |
Automatisk ML Bara |
Minnesoptimerad virtuell dator föredras |
Arbetstagare | alltid | 2 eller högre |
Aktivera autoskalning | Automatisk ML Bara |
Avmarkera |
Vänta tills klustret körs innan du fortsätter.
Lägga till Azure Machine Learning SDK i Databricks
När klustret körs skapar du ett bibliotek för att koppla rätt Azure Machine Learning SDK-paket till klustret.
Om du vill använda automatiserad ML går du vidare till Lägg till Azure Machine Learning SDK med AutoML.
Högerklicka på den aktuella arbetsytemappen där du vill lagra biblioteket. Välj Skapa>bibliotek.
Tips
Om du har en gammal SDK-version avmarkerar du den från klustrets installerade bibliotek och flyttar till papperskorgen. Installera den nya SDK-versionen och starta om klustret. Om det uppstår ett problem efter omstarten kopplar du från och kopplar från klustret igen.
Välj följande alternativ (inga andra SDK-installationer stöds)
Extra SDK-paket Källa PyPi-namn För Databricks Ladda upp Python Egg eller PyPI azureml-sdk[databricks] Varning
Inga andra SDK-extrafunktioner kan installeras. Välj endast alternativet [
databricks
] .- Välj inte Anslut automatiskt till alla kluster.
- Välj Anslut bredvid klusternamnet.
Övervaka fel tills statusen ändras till Ansluten, vilket kan ta flera minuter. Om det här steget misslyckas:
Prova att starta om klustret genom att:
- I den vänstra rutan väljer du Kluster.
- I tabellen väljer du klusternamnet.
- På fliken Bibliotek väljer du Starta om.
En lyckad installation ser ut så här:
Lägga till Azure Machine Learning SDK med AutoML i Databricks
Om klustret skapades med Databricks Runtime 7.3 LTS (inte ML) kör du följande kommando i den första cellen i anteckningsboken för att installera Azure Machine Learning SDK.
%pip install --upgrade --force-reinstall -r https://aka.ms/automl_linux_requirements.txt
AutoML-konfigurationsinställningar
När du använder Azure Databricks i AutoML-konfiguration lägger du till följande parametrar:
max_concurrent_iterations
baseras på antalet arbetsnoder i klustret.spark_context=sc
baseras på standardkontexten för Spark.
ML-notebook-filer som fungerar med Azure Databricks
Prova:
Många notebook-exempelanteckningsböcker är tillgängliga, men endast de här exempelanteckningsböckerna fungerar med Azure Databricks.
Importera dessa exempel direkt från din arbetsyta. Se nedan:
Lär dig hur du skapar en pipeline med Databricks som träningsberäkning.
Felsökning
Databricks avbryter en automatiserad maskininlärningskörning: Starta om Azure Databricks-klustret om du vill avbryta en körning och starta om en ny experimentkörning.
Databricks >10 iterationer för automatiserad maskininlärning: Om du har fler än 10 iterationer i inställningarna för automatiserad maskininlärning anger
show_output
du tillFalse
när du skickar körningen.Databricks-widgeten för Azure Machine Learning SDK och automatiserad maskininlärning: Azure Machine Learning SDK-widgeten stöds inte i en Databricks-anteckningsbok eftersom notebook-filerna inte kan parsa HTML-widgetar. Du kan visa widgeten i portalen med hjälp av den här Python-koden i notebook-cellen i Azure Databricks:
displayHTML("<a href={} target='_blank'>Azure Portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
Fel vid installation av paket
Azure Machine Learning SDK-installationen misslyckas på Azure Databricks när fler paket installeras. Vissa paket, till exempel
psutil
, kan orsaka konflikter. Du undviker installationsfel genom att installera paket genom att frysa biblioteksversionen. Det här problemet gäller Databricks och inte Azure Machine Learning SDK. Du kan också uppleva det här problemet med andra bibliotek. Exempel:psutil cryptography==1.5 pyopenssl==16.0.0 ipython==2.2.0
Du kan också använda init-skript om du fortsätter att få installationsproblem med Python-bibliotek. Den här metoden stöds inte officiellt. Mer information finns i Klusteromfattande init-skript.
Importfel: det går inte att importera namnet
Timedelta
frånpandas._libs.tslibs
: Om du ser det här felet när du använder automatiserad maskininlärning kör du följande två rader i anteckningsboken:%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
Importfel: Ingen modul med namnet "pandas.core.indexes": Om du ser det här felet när du använder automatiserad maskininlärning:
Kör det här kommandot för att installera två paket i ditt Azure Databricks-kluster:
scikit-learn==0.19.1 pandas==0.22.0
Koppla från och koppla sedan klustret till anteckningsboken igen.
Om de här stegen inte löser problemet kan du prova att starta om klustret.
FailToSendFeather: Om du ser ett
FailToSendFeather
fel när du läser data i Azure Databricks-klustret kan du läsa följande lösningar:- Uppgradera
azureml-sdk[automl]
paketet till den senaste versionen. - Lägg till
azureml-dataprep
version 1.1.8 eller senare. - Lägg till
pyarrow
version 0.11 eller senare.
- Uppgradera
Nästa steg
- Träna och distribuera en modell i Azure Machine Learning med MNIST-datauppsättningen.
- Se Azure Machine Learning SDK för Python-referens.