Nastavení vývojového prostředí pomocí Azure Databricks a AutoML ve službě Azure Machine Learning
Zjistěte, jak nakonfigurovat vývojové prostředí ve službě Azure Machine Learning, které používá Azure Databricks a automatizované strojové učení.
Azure Databricks je ideální pro spouštění rozsáhlých náročných pracovních postupů strojového učení na škálovatelné platformě Apache Spark v cloudu Azure. Poskytuje prostředí založené na poznámkových blocích pro spolupráci s výpočetním clusterem založeným na procesoru nebo GPU.
Informace o dalších vývojových prostředích strojového učení najdete v tématu Nastavení vývojového prostředí Pythonu.
Požadavek
Pracovní prostor Služby Azure Machine Learning Pokud ho chcete vytvořit, použijte postup v článku Vytvoření prostředků pracovního prostoru.
Azure Databricks se službou Azure Machine Learning a AutoML
Azure Databricks se integruje se službou Azure Machine Learning a jejími funkcemi AutoML.
Azure Databricks můžete použít:
- Pokud chcete vytrénovat model pomocí knihovny Spark MLlib a nasadit ho do ACI/AKS.
- Díky automatizovaným možnostem strojového učení pomocí sady Azure Machine Learning SDK.
- Jako cílový výpočetní objekt z kanálu Služby Azure Machine Learning.
Nastavení clusteru Databricks
Vytvořte cluster Databricks. Některá nastavení platí jenom v případě, že na Databricks nainstalujete sadu SDK pro automatizované strojové učení.
Vytvoření clusteru trvá několik minut.
Použijte tato nastavení:
Nastavení | Platí pro | Hodnota |
---|---|---|
Název clusteru | vždy | yourclustername |
Verze modulu Databricks Runtime | vždy | 9.1 LTS |
Verze Pythonu | vždy | 3 |
Typ pracovního procesu (určuje maximální počet souběžných iterací) |
Automatizované strojové učení pouze |
Upřednostňovaný virtuální počítač optimalizovaný pro paměť |
Pracovníci | vždy | 2 nebo vyšší |
Povolení automatického škálování | Automatizované strojové učení pouze |
Zrušit zaškrtnutí |
Než budete pokračovat, počkejte na spuštění clusteru.
Přidání sady Azure Machine Learning SDK do Databricks
Po spuštění clusteru vytvořte knihovnu pro připojení příslušného balíčku sady SDK služby Azure Machine Learning k vašemu clusteru.
Pokud chcete použít automatizované strojové učení, přeskočte na Přidání sady Azure Machine Learning SDK s autoML.
Klikněte pravým tlačítkem myši na aktuální složku pracovního prostoru, do které chcete knihovnu uložit. Vyberte Vytvořit>knihovnu.
Tip
Pokud máte starou verzi sady SDK, zrušte její výběr z nainstalovaných knihoven clusteru a přejděte do koše. Nainstalujte novou verzi sady SDK a restartujte cluster. Pokud po restartování dojde k problému, odpojte cluster a znovu připojte.
Zvolte následující možnost (nepodporují se žádné jiné instalace sady SDK).
Extra balíčky SADY SDK Zdroj Název PyPi Pro Databricks Nahrání vejce pythonu nebo PyPI azureml-sdk[databricks] Upozorňující
Není možné nainstalovat žádné další sady SDK. Zvolte pouze možnost [
databricks
] .- Nevybírejte možnost Připojit automaticky ke všem clusterům.
- Vyberte Připojit vedle názvu clusteru.
Sledujte chyby, dokud se nezmění stav Připojeno, což může trvat několik minut. Pokud tento krok selže:
Zkuste cluster restartovat pomocí:
- V levém podokně vyberte Clustery.
- V tabulce vyberte název clusteru.
- Na kartě Knihovny vyberte Restartovat.
Úspěšná instalace vypadá takto:
Přidání sady Azure Machine Learning SDK s AutoML do Databricks
Pokud byl cluster vytvořen pomocí modulu Databricks Runtime 7.3 LTS (ne ML), spusťte v první buňce poznámkového bloku následující příkaz a nainstalujte sadu Azure Machine Learning SDK.
%pip install --upgrade --force-reinstall -r https://aka.ms/automl_linux_requirements.txt
Nastavení konfigurace AutoML
V konfiguraci AutoML přidejte při použití Azure Databricks následující parametry:
max_concurrent_iterations
je založená na počtu pracovních uzlů ve vašem clusteru.spark_context=sc
je založená na výchozím kontextu Sparku.
Poznámkové bloky ML, které pracují s Azure Databricks
Vyzkoušejte si to:
I když je k dispozici mnoho ukázkových poznámkových bloků, fungují s Azure Databricks jenom tyto ukázkové poznámkové bloky .
Naimportujte tyto ukázky přímo z pracovního prostoru. Viz níže:
Zjistěte, jak vytvořit kanál s Databricks jako trénovací výpočetní prostředky.
Řešení problému
Databricks zruší spuštění automatizovaného strojového učení: Když v Azure Databricks použijete funkce automatizovaného strojového učení, zrušíte spuštění a spustíte nový experiment, restartujte cluster Azure Databricks.
Iterace Databricks >10 pro automatizované strojové učení: V nastavení automatizovaného strojového učení, pokud máte více než 10 iterací, nastavte
show_output
přiFalse
odeslání spuštění.Widget Databricks pro sadu Azure Machine Learning SDK a automatizované strojové učení: Widget sady Azure Machine Learning SDK není v poznámkovém bloku Databricks podporovaný, protože poznámkové bloky nemůžou analyzovat widgety HTML. Widget můžete zobrazit na portálu pomocí tohoto kódu Pythonu v buňce poznámkového bloku Azure Databricks:
displayHTML("<a href={} target='_blank'>Azure Portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
Selhání při instalaci balíčků
Instalace sady Azure Machine Learning SDK v Azure Databricks selže, když se nainstaluje více balíčků. Některé balíčky, například
psutil
, můžou způsobit konflikty. Pokud se chcete vyhnout chybám instalace, nainstalujte balíčky tím, že zamrznete verzi knihovny. Tento problém souvisí s Databricks a ne se sadou Azure Machine Learning SDK. K tomuto problému může docházet i u jiných knihoven. Příklad:psutil cryptography==1.5 pyopenssl==16.0.0 ipython==2.2.0
Případně můžete použít inicializační skripty, pokud máte problémy s instalací knihoven Pythonu. Tento přístup se oficiálně nepodporuje. Další informace naleznete v tématu Inicializační skripty v oboru clusteru.
Chyba importu: Nelze importovat název
Timedelta
zpandas._libs.tslibs
: Pokud se tato chyba zobrazí při použití automatizovaného strojového učení, spusťte v poznámkovém bloku následující dva řádky:%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
Chyba importu: Žádný modul s názvem pandas.core.indexes: Pokud se při použití automatizovaného strojového učení zobrazí tato chyba:
Spuštěním tohoto příkazu nainstalujte do clusteru Azure Databricks dva balíčky:
scikit-learn==0.19.1 pandas==0.22.0
Odpojte cluster a pak ho znovu připojte k poznámkovému bloku.
Pokud tyto kroky problém nevyřeší, zkuste cluster restartovat.
FailToSendFeather: Pokud se při čtení dat v clusteru Azure Databricks zobrazí
FailToSendFeather
chyba, projděte si následující řešení:- Upgradujte
azureml-sdk[automl]
balíček na nejnovější verzi. - Přidejte
azureml-dataprep
verzi 1.1.8 nebo vyšší. - Přidejte
pyarrow
verzi 0.11 nebo vyšší.
- Upgradujte
Další kroky
- Trénování a nasazení modelu ve službě Azure Machine Learning pomocí datové sady MNIST
- Viz referenční informace k sadě Azure Machine Learning SDK pro Python.