這很重要
本文提供使用 Azure Machine Learning SDK v1 的相關信息。 SDK v1 自 2025 年 3 月 31 日起已被取代。 其支援將於 2026 年 6 月 30 日結束。 您可以在該日期之前安裝並使用 SDK v1。 您使用 SDK v1 的現有工作流程將在支援終止日期後繼續運作。 不過,如果產品發生架構變更,它們可能會面臨安全性風險或重大變更。
建議您在 2026 年 6 月 30 日之前轉換至 SDK v2。 如需 SDK v2 的詳細資訊,請參閱 什麼是 Azure Machine Learning CLI 和 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 Machine Learning 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 Machine Learning 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-dataprep1.1.8 版或更新版本。 - 新增
pyarrow0.11 版或更新版本。
- 將
後續步驟
- 在 Azure Machine Learning 上使用 MNIST 資料集來定型和部署模型。
- 請參閱適用於 Python 的 Azure Machine Learning SDK。