Sdílet prostřednictvím


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.

  1. 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.

  2. 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.
  3. 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í:

    1. V levém podokně vyberte Clustery.
    2. V tabulce vyberte název clusteru.
    3. Na kartě Knihovny vyberte Restartovat.

    Úspěšná instalace vypadá takto:

Azure Machine Learning SDK pro Databricks

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:

Ř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ři False 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 z pandas._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:

    1. Spuštěním tohoto příkazu nainstalujte do clusteru Azure Databricks dva balíčky:

      scikit-learn==0.19.1
      pandas==0.22.0
      
    2. 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šší.

Další kroky