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 omgeving op basis van notebooks met een CPU- of GPU-rekencluster.
Zie Python-ontwikkelomgevingen instellen voor meer informatie over andere machine learning-ontwikkelomgevingen.
Azure Machine Learning-werkruimte. Als u er een wilt maken, gebruikt u de stappen in het artikel Werkruimtebronnen maken.
Azure Databricks kan worden geïntegreerd met Azure Machine Learning en de autoML-mogelijkheden.
U kunt Azure Databricks gebruiken:
- Een model trainen met Spark MLlib en het model implementeren in ACI/AKS.
- Met geautomatiseerde machine learning-mogelijkheden met behulp van een Azure Machine Learning SDK.
- Als rekendoel van een Azure Machine Learning-pijplijn.
Maak een Databricks-cluster. Sommige instellingen zijn alleen van toepassing als u de SDK installeert voor geautomatiseerde machine learning op Databricks.
Het duurt enkele minuten om het cluster te maken.
Gebruik deze instellingen:
Instelling | Van toepassing op | Weergegeven als |
---|---|---|
Clusternaam | altijd | uwclusternaam |
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 het cluster wordt uitgevoerd voordat u verdergaat.
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 verder met het toevoegen van de Azure Machine Learning SDK met AutoML.
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 het cluster 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.
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 koppelen aan alle clusters.
- Selecteer Bijvoegen naast de clusternaam.
Controleer op fouten totdat de status verandert in Bijgevoegd, wat enkele minuten kan duren. Als deze stap mislukt:
Start het cluster opnieuw op door:
- Selecteer Clusters in het linkerdeelvenster.
- Selecteer de clusternaam in de tabel.
- Selecteer Opnieuw opstarten op het tabblad Bibliotheken.
Een geslaagde installatie ziet er als volgt uit:
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
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 cluster.spark_context=sc
is gebaseerd op de standaard spark-context.
Probeer het:
Hoewel er veel voorbeeldnotebooks beschikbaar zijn, werken alleen deze voorbeeldnotebooks met Azure Databricks.
Importeer deze voorbeelden rechtstreeks vanuit uw werkruimte. Zie hieronder:
Meer informatie over het maken van een pijplijn met Databricks als trainingsreken.
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-cluster 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 vanpandas._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:
Voer deze opdracht uit om twee pakketten te installeren in uw Azure Databricks-cluster:
scikit-learn==0.19.1 pandas==0.22.0
Koppel het cluster los en koppel het vervolgens opnieuw aan uw notebook.
Als dit probleem niet wordt opgelost, start u het cluster opnieuw op.
FailToSendFeather: Als er een
FailToSendFeather
fout optreedt bij het lezen van gegevens in het Azure Databricks-cluster, 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.
- Upgradepakket
- Train en implementeer een model in Azure Machine Learning met de MNIST-gegevensset.
- Raadpleeg de Naslaginformatie over de Azure Machine Learning-SDK voor Python.