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:
- 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.
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.
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.
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.
Controleer op fouten totdat de status verandert in Bijgevoegd, wat enkele minuten kan duren. Als deze stap mislukt:
Start uw rekenproces opnieuw op door:
- Selecteer Compute in het linkerdeelvenster.
- Selecteer de naam van uw rekenproces in de tabel.
- 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:
- Klik in uw werkruimte met de rechtermuisknop op een map en selecteer Importeren.
- 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.
- 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 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-rekenproces:
scikit-learn==0.19.1 pandas==0.22.0
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.
- Upgradepakket
Volgende stappen
- Train en implementeer een model in Azure Machine Learning met de MNIST-gegevensset.
- Raadpleeg de Naslaginformatie over de Azure Machine Learning-SDK voor Python.