Fejlesztési környezet beállítása az Azure Databricks és az AutoML használatával az Azure Machine Learningben
Megtudhatja, hogyan konfigurálhat fejlesztési környezetet az Azure Machine Learningben, amely az Azure Databrickset és az automatizált gépi tanulást használja.
Az Azure Databricks ideális nagy léptékű, intenzív gépi tanulási munkafolyamatok futtatásához az Azure-felhő skálázható Apache Spark-platformján. Együttműködésen alapuló notebookalapú környezetet biztosít egy CPU- vagy GPU-alapú számítási fürttel.
Az egyéb gépi tanulási fejlesztési környezetekkel kapcsolatos információkért lásd: Python-fejlesztési környezet beállítása.
Előfeltétel
Azure Machine Learning-munkaterület. A létrehozáshoz kövesse a Munkaterület erőforrásainak létrehozása című cikk lépéseit.
Azure Databricks az Azure Machine Learning és az AutoML használatával
Az Azure Databricks integrálható az Azure Machine Learning szolgáltatással és annak AutoML-képességeivel.
Használhatja az Azure Databrickset:
- Modell betanítása a Spark MLlib használatával és a modell üzembe helyezése az ACI/AKS-ben.
- Automatizált gépi tanulási képességekkel az Azure Machine Learning SDK használatával.
- Számítási célként egy Azure Machine Learning-folyamatból.
Databricks-fürt beállítása
Hozzon létre egy Databricks-fürtöt. Egyes beállítások csak akkor érvényesek, ha az SDK-t a Databricksre telepíti az automatizált gépi tanuláshoz.
A fürt létrehozása néhány percet vesz igénybe.
Használja ezeket a beállításokat:
Beállítás | A következőre érvényes: | Érték |
---|---|---|
Fürt neve | Mindig | yourclustername |
Databricks Runtime-verzió | Mindig | 9.1 LTS |
Python-verzió | Mindig | 3 |
Feldolgozó típusa (meghatározza az egyidejű iterációk maximális #-ját) |
Automatizált ML Csak |
Memóriaoptimalizált virtuális gép előnyben részesítve |
Munkavállalók | Mindig | 2 vagy újabb |
Automatikus skálázás engedélyezése | Automatizált ML Csak |
Törölje a jelet a |
Várjon, amíg a fürt fut, mielőtt továbblép.
Az Azure Machine Learning SDK hozzáadása a Databrickshez
A fürt futtatása után hozzon létre egy kódtárat , amely a megfelelő Azure Machine Learning SDK-csomagot csatolja a fürthöz.
Az automatizált gépi tanulás használatához ugorjon az Azure Machine Learning SDK Hozzáadása az AutoML-hez című részhez.
Kattintson a jobb gombbal arra a Munkaterület mappára, amelyben tárolni szeretné a tárat. Válassza aTárlétrehozása> lehetőséget.
Tipp
Ha rendelkezik egy régi SDK-verzióval, törölje azt a fürt telepített kódtáraiból, és lépjen a kukába. Telepítse az új SDK-verziót, és indítsa újra a fürtöt. Ha az újraindítás után probléma merül fel, válassza le és kapcsolja újra a fürtöt.
Válassza a következő lehetőséget (más SDK-telepítések nem támogatottak)
SDK-csomag extrák Forrás PyPi-név A Databricks esetében Python Egg vagy PyPI feltöltése azureml-sdk[databricks] Figyelmeztetés
Más SDK-extrák nem telepíthetők. Csak a [
databricks
] lehetőséget válassza.- Ne válassza a Csatolás automatikusan az összes fürthöz lehetőséget.
- Válassza a Csatolás lehetőséget a fürt neve mellett.
Figyelje a hibákat, amíg az állapot a Csatolt értékre nem változik, ami eltarthat néhány percig. Ha ez a lépés sikertelen:
Próbálja meg újraindítani a fürtöt a következővel:
- A bal oldali panelen válassza a Fürtök lehetőséget.
- A táblázatban válassza ki a fürt nevét.
- A Tárak lapon válassza az Újraindítás lehetőséget.
A sikeres telepítés a következőhöz hasonlóan néz ki:
Az Azure Machine Learning SDK és az AutoML hozzáadása a Databrickshez
Ha a fürtöt a Databricks Runtime 7.3 LTS (nem ML) használatával hozták létre, futtassa a következő parancsot a jegyzetfüzet első cellájában az Azure Machine Learning SDK telepítéséhez.
%pip install --upgrade --force-reinstall -r https://aka.ms/automl_linux_requirements.txt
Az AutoML konfigurációs beállításai
Az AutoML-konfigurációban az Azure Databricks használatakor adja hozzá a következő paramétereket:
max_concurrent_iterations
A a fürtben lévő munkavégző csomópontok számán alapul.spark_context=sc
az alapértelmezett Spark-környezeten alapul.
Az Azure Databricks szolgáltatással használható ML-jegyzetfüzetek
Próbálja ki:
Bár számos mintajegyzetfüzet érhető el, csak ezek a mintajegyzetfüzetek működnek az Azure Databricks szolgáltatással.
Importálja ezeket a mintákat közvetlenül a munkaterületről. Lásd alább:
Megtudhatja, hogyan hozhat létre folyamatot a Databricks betanítási számításként.
Hibaelhárítás
A Databricks megszakítja az automatizált gépi tanulási futtatásokat: Ha automatizált gépi tanulási képességeket használ az Azure Databricksben, a futtatás megszakításához és egy új kísérlet futtatásának elindításához indítsa újra az Azure Databricks-fürtöt.
Databricks >10-iterációk automatizált gépi tanuláshoz: Ha több mint 10 iterációval rendelkezik, az automatizált gépi tanulási beállításokban állítsa a
show_output
False
beállítást a futtatás elküldésekor.Databricks-widget az Azure Machine Learning SDK-hoz és az automatizált gépi tanuláshoz: Az Azure Machine Learning SDK-vezérlő nem támogatott a Databricks-jegyzetfüzetekben, mert a jegyzetfüzetek nem tudják elemezni a HTML-vezérlőket. A widgetet az Azure Databricks-jegyzetfüzet cellájában található Python-kóddal tekintheti meg a portálon:
displayHTML("<a href={} target='_blank'>Azure Portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
Hiba a csomagok telepítésekor
Az Azure Machine Learning SDK telepítése meghiúsul az Azure Databricksen, ha több csomag van telepítve. Egyes csomagok( például
psutil
) ütközéseket okozhatnak. A telepítési hibák elkerülése érdekében telepítse a csomagokat a kódtár verziójának lefagyásával. Ez a probléma a Databricksszel kapcsolatos, nem pedig az Azure Machine Learning SDK-val. Ezt a problémát más kódtárakkal is tapasztalhatja. Példa:psutil cryptography==1.5 pyopenssl==16.0.0 ipython==2.2.0
Azt is megteheti, hogy init-szkripteket használ, ha a Python-kódtárakkal kapcsolatos telepítési problémákat tapasztal. Ez a megközelítés hivatalosan nem támogatott. További információ: Fürthatókörű init-szkriptek.
Importálási hiba: a név
Timedelta
nem importálható a fájlbólpandas._libs.tslibs
: Ha ez a hiba automatikus gépi tanulás használatakor jelenik meg, futtassa a jegyzetfüzetben az alábbi két sort:%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
Importálási hiba: Nincs "pandas.core.indexes" nevű modul: Ha ezt a hibát látja az automatizált gépi tanulás használatakor:
Futtassa ezt a parancsot két csomag telepítéséhez az Azure Databricks-fürtben:
scikit-learn==0.19.1 pandas==0.22.0
Válassza le, majd állítsa vissza a fürtöt a jegyzetfüzethez.
Ha ezek a lépések nem oldják meg a problémát, próbálja meg újraindítani a fürtöt.
FailToSendFeather: Ha hibát tapasztal
FailToSendFeather
az Azure Databricks-fürtön lévő adatok olvasásakor, tekintse meg az alábbi megoldásokat:- Frissítse
azureml-sdk[automl]
a csomagot a legújabb verzióra. - Adja hozzá
azureml-dataprep
az 1.1.8-es vagy újabb verziót. - Adja hozzá
pyarrow
a 0.11-es vagy újabb verziót.
- Frissítse
Következő lépések
- Modell betanítása és üzembe helyezése az Azure Machine Learningben az MNIST-adatkészlettel.
- Tekintse meg a Pythonhoz készült Azure Machine Learning SDK referenciáját.