這很重要
本文提供使用 Azure Machine Learning SDK v1 的相關信息。 自 2025 年 3 月 31 日起,SDK v1 已淘汰,其支援將於 2026 年 6 月 30 日結束。 您能夠安裝並使用 SDK v1,直到該日期為止。
建議您在 2026 年 6 月 30 日之前轉換至 SDK v2。 如需 SDK v2 的詳細資訊,請參閱 什麼是 Azure Machine Learning Python SDK v2 和 SDK v2 參考。
了解如何在 Azure Machine Learning 中設定一個使用 Azure Databricks 和自動化 ML 的開發環境。
Azure Databricks 適合在 Azure 雲端的可調整 Apache Spark 平台上執行大規模密集的機器學習工作流程。 它提供具有 CPU 或 GPU 型計算資源的共同作業 Notebook 型環境。
如需其他機器學習開發環境的相關資訊,請參閱設定 Python 開發環境。
必要條件
Azure Machine Learning 工作區。 若要建立,請使用建立工作區資源一文中的步驟。
Azure Databricks 搭配 Azure Machine Learning 和 AutoML
Azure Databricks 與 Azure Machine Learning 及其 AutoML 功能整合。
Azure Databricks 的用途:
- 使用 Spark MLlib 來定型模型,並將模型部署到 ACI/AKS。
- 透過 Azure Machine Learning SDK 來搭配自動化機器學習功能。
- 作為來自 Azure Machine Learning 管線的計算目標。
設定 Databricks 計算
建立 Databricks 計算資源。 只有當您在 Databricks 上安裝適用於自動化機器學習的 SDK 時,才會適用某些設定。
建立計算資源需要幾分鐘的時間。
使用下列設定:
設定 | 適用於 | 值 |
---|---|---|
計算名稱 | 總是 | 您的電腦名稱 |
Databricks Runtime 版本 | 總是 | 9.1 LTS |
Python 版本 | 總是 | 3 |
背景工作角色類型 (決定同時反覆運算次數上限) |
自動化 ML 向 |
建議使用已記憶體最佳化的 VM |
背景工作角色 | 總是 | 2 個以上 |
啟用自動調整功能 | 自動化 ML 向 |
取消選取 |
等到計算正在執行,再繼續進行。
將 Azure Machine Learning SDK 新增至 Databricks
計算執行之後,請建立連結庫,將適當的 Azure 機器學習 SDK 套件附加至您的計算。
若要使用自動化 ML,請跳至將 Azure Machine Learning SDK 搭配 AutoML 新增至 Databricks。
以滑鼠右鍵按一下您要儲存程式庫的目前工作區資料夾。 選取 [建立]>[程式庫]。
提示
如果您有舊的 SDK 版本,請從計算已安裝的連結庫取消選取它,並移至回收站。 安裝新的 SDK 版本,然後重新啟動計算。 如果重新啟動之後發生問題,請中斷連結並重新附加您的計算。
選擇下列選項 (不支援其他 SDK 安裝)
SDK 封裝額外項目 來源 PyPi 名稱 適用於 Databricks 上傳 Python Egg 或 PyPI azureml-sdk[databricks] 警告
無法安裝其他 SDK 額外項目。 只能選擇 [
databricks
] 選項。- 請勿選取 [自動附加至所有計算]。
- 選取 計算名稱旁的 [附加 ]。
監視錯誤,直到狀態變更為已附加為止,可能需要幾分鐘的時間。 如果此步驟失敗:
請嘗試重新啟動計算,方法是:
- 在左窗格中,選取 [ 計算]。
- 在資料表中,選取您的計算名稱。
- 在 [程式庫] 索引標籤上,選取 [重新啟動]。
成功的安裝會顯示 [狀態] 資料行底下的 [已安裝 ]。
將 Azure Machine Learning SDK 搭配 AutoML 新增至 Databricks
如果使用 Databricks Runtime 7.3 LTS 建立計算(而非 ML),請在筆記本的第一個數據格中執行下列命令,以安裝 Azure 機器學習 SDK。
%pip install --upgrade --force-reinstall -r https://aka.ms/automl_linux_requirements.txt
AutoML 組態設定
在 AutoML 組態中,使用 Azure Databricks 時,請新增下列參數:
-
max_concurrent_iterations
是以計算中的背景工作節點數目為基礎。 -
spark_context=sc
以預設 spark 內容為基礎。
適用於 Azure Databricks 的 ML 筆記本
試試看:
雖然有許多範例筆記本可用,但只有這些範例筆記本適用於 Azure Databricks。
直接從您的工作區匯入這些範例:
- 在您的工作區中,以滑鼠右鍵按兩下資料夾,然後選取 [ 匯入]。
- 指定 URL 或瀏覽至包含所支援外部格式的檔案,或從 Databricks 工作區匯出之筆記本的 ZIP 封存。
- 選取匯入。
疑難排解
Databricks 取消自動化機器學習執行:當您在 Azure Databricks 上使用自動化機器學習功能時,若要取消執行並啟動新的實驗執行,請重新啟動您的 Azure Databricks 計算。
Databricks 在自動化機器學習中 >10 次反覆運算:在自動化機器學習設定中,如果您有 10 次以上的反覆運算,請在提交執行時將
show_output
設定為False
。適用於 Azure Machine Learning SDK 和自動化機器學習服務的 Databricks widget:Databricks 筆記本中不支援 Azure Machine Learning SDK widget,因為筆記本無法剖析 HTML widget。 在入口網站中,您可以在 Azure Databricks 筆記本儲存格中使用此 Python 程式碼來檢視 widget:
displayHTML("<a href={} target='_blank'>Azure Portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
安裝封裝時失敗
在 Azure Databricks 上,Azure Machine Learning SDK 安裝在安裝多個封裝時失敗。 有些套件 (例如
psutil
) 會導致發生衝突。 為了避免安裝錯誤,請凍結程式庫版本來安裝封裝。 此問題與 Databricks 有關,與 Azure Machine Learning SDK 無關。 其他程式庫也可能發生此問題。 範例:psutil cryptography==1.5 pyopenssl==16.0.0 ipython==2.2.0
或者,如果持續遇到 Python 程式庫的安裝問題,您可以使用 init 指令碼。 未正式支援此方法。 如需詳細資訊,請參閱叢集範圍的 init 指令碼。
匯入錯誤:無法從
Timedelta
匯入名稱pandas._libs.tslibs
:如果您在使用自動化機器學習時看到此錯誤,請在筆記本中執行下列兩行:%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
匯入錯誤:沒有名為 'pandas.core.indexes' 的模組:如果您在使用自動化機器學習時看到此錯誤:
執行此指令以在 Azure Databricks 計算中安裝兩個套件:
scikit-learn==0.19.1 pandas==0.22.0
中斷鏈接,然後將計算重新附加至您的筆記本。
如果這些步驟無法解決問題,請嘗試重新啟動計算。
FailToSendFeather:如果您在 Azure Databricks 計算上讀取數據時看到
FailToSendFeather
錯誤,請參閱下列解決方案:- 將
azureml-sdk[automl]
封裝更新為最新版本。 - 新增
azureml-dataprep
1.1.8 版或更新版本。 - 新增
pyarrow
0.11 版或更新版本。
- 將
下一步
- 在 Azure Machine Learning 上使用 MNIST 資料集來定型和部署模型。
- 請參閱適用於 Python 的 Azure Machine Learning SDK。