安裝適用於 Python 的 Azure Machine Learning SDK
本文是 SDK 不同安裝選項的指南。
必要條件
- Python 已安裝 3.7 版或更新版本。 針對 azureml-automl 套件,僅使用 3.7 或 3.8 版。
- 已安裝 pip
默認安裝
使用 azureml-core
。
pip install azureml-core
然後安裝特定作業所需的任何其他套件。
升級安裝
提示
建議您一律將 azureml-core 更新為最新版本。
升級舊版:
pip install --upgrade azureml-core
檢查版本
確認您的 SDK 版本:
pip show azureml-core
若要檢視環境中的所有套件:
pip list
您也可以在 Python 中顯示 SDK 版本,但此版本不包含次要版本。
import azureml.core
print(azureml.core.VERSION)
若要深入瞭解如何設定 Azure 機器學習 服務的開發環境,請參閱設定您的開發環境。
其他 azureml 套件
SDK 包含許多其他可安裝的選用套件。 這些包含所有使用案例不需要的相依性,因此不會包含在默認安裝中,以避免環境膨脹。 下表概述套件、其使用案例和命令,以安裝、更新和版本檢查。
其他套件 | 使用案例 | 安裝/升級/顯示版本 |
---|---|---|
azureml-automl-core |
包含 Azure 機器學習 的核心自動化機器學習類別。 此套件由 azureml-train-automl-client 和 azureml-train-automl-runtime 使用。 |
pip install azureml-automl-core pip install --upgrade azureml-automl-core pip show azureml-automl-core |
azureml-accel-models |
使用 Azure ML 硬體加速模型服務,加速 FPGA 上的深度神經網路。 | pip install azureml-accel-models pip install --upgrade azureml-accel-models pip show azureml-accel-models |
azureml-train-automl |
提供用於建置和執行自動化機器學習實驗的類別。 也安裝常見的數據科學套件,包括 pandas 、 numpy 和 scikit-learn 。 如果您想要在遠端計算上提交自動化 ML 執行,而且不需要在本機執行任何 ML,建議您使用屬於的 azureml-sdk 精簡用戶端azureml-train-automl-client 、 套件。 如需安裝和使用完整 automl SDK 或其精簡客戶端的詳細資訊,azureml-train-automl-client 請參閱其他使用案例指引。與 Python 標準類似,支援一個版本回溯和一個版本向前相容性,但僅適用於完整 azureml-train-automl 套件。 例如,如果使用 SDK 1.29.0 版來定型模型,則可以使用 1.28.0 和 1.30.0 之間的 SDK 版本推斷。 |
針對本機 conda 環境:pip install azureml-train-automl pip install --upgrade azureml-train-automl pip install show azureml-train-automl 遠端計算的精簡用戶端: pip install azureml-train-automl-client pip install --upgrade azureml-train-automl-client pip install show azureml-train-automl-client |
azureml-contrib |
安裝 azureml-contrib-* 套件,其中包含實驗性功能或預覽功能。 | pip install azureml-contrib pip install --upgrade azureml-contrib pip show azureml-contrib |
azureml-datadrift |
包含功能,可偵測模型定型數據何時偏離其評分數據。 | pip install azureml-datadrift pip install --upgrade azureml-datadrift pip show azureml-datadrift |
azureml-interpret |
用於模型可解譯性,包括黑箱和白箱模型的功能和類別重要性。 | pip azureml-interpret pip install --upgrade azureml-interpret pip show azureml-interpret |
azureml-widgets |
包含 Azure 機器學習 的核心套件、模組和類別。 | pip install azureml-widgets pip install --upgrade azureml-widgets pip show azureml-widgets |
azureml-contrib-services |
提供評分腳本以要求原始 HTTP 存取的功能。 | pip install azureml-contrib-services pip install --upgrade azureml-contrib-services pip show azureml-contrib-services |
azureml-tensorboard |
提供導出實驗執行歷程記錄並啟動 TensorBoard 的類別和方法,以可視化實驗效能和結構。 | pip install azureml-tensorboard pip install --upgrade azureml-tensorboard pip show azureml-tensorboard |
azureml-mlflow |
包含 Azure 機器學習 與 MLFlow 整合的功能。 | pip install azureml-mlflow pip install --upgrade azureml-mlflow pip show azureml-mlflow |
azureml-automl-runtime |
包含在 Azure 機器學習 中執行執行的自動化機器學習類別。 | pip install azureml-automl-runtime pip install --upgrade azureml-automl-runtime pip show azureml-automl-runtime |
azureml-widgets |
包含可在 Jupyter Notebook 中檢視機器學習訓練執行進度的功能。 | pip install azureml-widgets pip install --upgrade azureml-widgets pip show azureml-widgets |
azureml-train-restclients-hyperdrive |
包含使用 azureml-train-core 建立 HyperDriveRuns 所需的類別。 | pip install azureml-train-restclients-hyperdrive pip install --upgrade azureml-train-restclients-hyperdrive pip show azureml-train-restclients-hyperdrive |
azureml-train-core |
包含基底估算器類別和泛型估算器類別、深度神經網路 (DNN) 定型中使用的估算器、Scikit-Learn 訓練中使用的估算器、支援超參數微調的模組和類別。 | pip install azureml-core pip install --upgrade azureml-core pip show azureml-core |
azureml-train-automl-runtime |
包含功能,代表 Azure 機器學習 中的核心自動化 ML 和運行時間元件。 | pip install azureml-train-automl-runtime pip install --upgrade azureml-train-automl-runtime pip show azureml-train-automl-runtime |
azureml-train-automl-client |
包含 Azure 機器學習 的核心套件、模組和類別。 | pip install azureml-train-automl-client pip install --upgrade azureml-train-automl-client pip show azureml-train-automl-client |
azureml-telemetry |
此套件可用來收集遙測數據,例如記錄訊息、計量、事件和活動訊息。 | pip install azureml-telemetry pip install --upgrade azureml-telemetry pip show azureml-telemetry |
azureml-synapse |
包含Magic命令來管理 Synapse 工作階段,並提交程式代碼和 SparkMonitor 小工具,以監視 Jupyter 和 JupyterLab 的 Spark 作業進度 | pip install azureml-synapse pip install --upgrade azureml-synapse pip show azureml-synapse |
azureml-sdk |
Thos 套件可用來在 Azure 機器學習 服務上建置和執行機器學習工作流程 | pip install azureml-sdk pip install --upgrade azureml-sdk pip show azureml-sdk |
azureml-pipeline-steps |
包含可在 Azure 機器學習 Pipeline 中執行的預先建置步驟。 | pip install azureml-pipeline-steps pip install --upgrade azureml-pipeline-steps pip show azureml-pipeline-steps |
azureml-pipeline-core |
包含 Azure 機器學習 管線的核心功能,這是可設定的機器學習工作流程。 | pip install azureml-pipeline-core pip install --upgrade azureml-pipeline-core pip show azureml-pipeline-core |
azureml-pipeline |
此套件可用來建置、優化及管理機器學習工作流程 | pip install azureml-pipeline pip install --upgrade azureml-pipeline pip show azureml-pipeline |
azureml-opendatasets |
包含 Azure 機器學習 管線的核心功能,這是可設定的機器學習工作流程。 | pip install azureml-opendatasets pip install --upgrade azureml-opendatasets pip show azureml-opendatasets |
azureml-interpret |
包含在 Azure 機器學習 中使用模型可解譯性的功能。 | pip install azureml-interpret pip install --upgrade azureml-interpret pip show azureml-interpret |
azureml-defaults |
此套件是 Azure 機器學習 內部使用的中繼套件。 | pip install azureml-defaults pip install --upgrade azureml-defaults pip show azureml-defaults |
azureml-dataset-runtime |
此套件的目的是要協調 AzureML 套件內的相依性。 此套件是內部套件,不適合直接使用。 | pip install azureml-dataset-runtime pip install --upgrade azureml-dataset-runtime pip show azureml-dataset-runtime |
azureml-datadrift |
包含功能,可偵測模型定型數據何時偏離其評分數據。 | pip install azureml-datadrift pip install --upgrade azureml-datadrift pip show azureml-datadrift |
azureml-contrib-server |
此套件是本機 HTTP 服務,用來向適用於 AI 延伸模組的 VS Tools 公開 AzureML SDK 所提供的功能子集(VSCode 和 Visual Studio) | pip install azureml-contrib-server pip install --upgrade azureml-contrib-server pip show azureml-contrib-server |
azureml-contrib-run |
此套件可用來包含 AzureML 與 Mlflow 的整合程式碼。 | pip install azureml-core pip install --upgrade azureml-core pip show azureml-core |
azureml-contrib-reinforcementlearning |
包含在 Azure 機器學習 中建立 Windows 計算目標的功能。 | pip install azureml-contrib-reinforcementlearning pip install --upgrade azureml-contrib-reinforcementlearning pip show azureml-contrib-reinforcementlearning |
azureml-contrib-pipeline-steps |
包含特製化 Azure 機器學習 管線步驟和相關聯組態的模組和類別。 | pip install azureml-contrib-pipeline-steps pip install --upgrade azureml-contrib-pipeline-steps pip show azureml-contrib-pipeline-steps |
azureml-contrib-notebook |
包含在 Azure 機器學習 中使用 Jupyter Notebook 的擴充功能。 | pip install azureml-contrib-notebook pip install --upgrade azureml-contrib-notebook pip show azureml-contrib-notebook |
azureml-contrib-gbdt |
此套件包含 LightGBM 估算器。 | pip install azureml-contrib-gbdt pip install --upgrade azureml-contrib-gbdt pip show azureml-contrib-gbdt |
azureml-contrib-functions |
包含將 Azure 機器學習 模型封裝至 Azure Functions 的功能。 | pip install azureml-contrib-functions pip install --upgrade azureml-contrib-functions pip show azureml-contrib-functions |
azureml-contrib-fairness |
此套件支援在 Azure 機器學習 Studio 中使用公平評定儀錶板 | pip install azureml-contrib-fairness pip install --upgrade azureml-contrib-fairness pip show azureml-contrib-fairness |
azureml-contrib-dataset |
包含在 Azure 機器學習 中使用資料集物件的特製化功能。 | pip install azureml-contrib-dataset pip install --upgrade azureml-contrib-dataset pip show azureml-contrib-dataset |
azureml-contrib-automl-pipeline-steps |
包含可在 Azure 機器學習 Pipeline 中執行的預先建置步驟。 | pip install azureml-contrib-automl-pipeline-steps pip install --upgrade azureml-contrib-automl-pipeline-steps pip show azureml-contrib-automl-pipeline-steps |
azureml-contrib-automl-dnn-vision |
此套件僅供 AutoML 系統產生的腳本使用。 若要在 Windows 中安裝,必須先個別安裝「火炬」和「torchvision」套件,才能安裝此套件。 | pip install azureml-contrib-automl-dnn-vision pip install --upgrade azureml-contrib-automl-dnn-vision pip show azureml-contrib-automl-dnn-vision |
azureml-contrib-automl-dnn-forecasting |
Azure ML CLI 擴充功能一般套件。 在 azure-cli-ml 和 azure-cli-ml-preview 中通用。 | pip install azureml-contrib-automl-dnn-forecasting pip install --upgrade azureml-contrib-automl-dnn-forecasting pip show azureml-contrib-automl-dnn-forecasting |
azureml-contrib-aisc |
適用於 AzureML AI Super Computer 計算目標的 AzureML Contrib。 AISCCompute 是受控 AI 計算基礎結構,可由叢集管理員附加至工作區。 | pip install azureml-contrib-aisc pip install --upgrade azureml-contrib-aisc pip show azureml-contrib-aisc |
azureml-cli-common |
Azure ML CLI 擴充功能一般套件。 在 azure-cli-ml 和 azure-cli-ml-preview 中通用。 | pip install azureml-cli-common pip install --upgrade azureml-cli-common pip show azureml-cli-common |
azureml-automl-dnn-nlp |
此套件僅供 AutoML 系統產生的腳本使用。 | pip install azureml-automl-dnn-nlp pip install --upgrade azureml-automl-dnn-nlp pip show azureml-automl-dnn-nlp |
azureml-accel-models |
使用 Azure ML 硬體加速模型服務,加速 FPGA 上的深度神經網路。 | pip install azureml-accel-models pip install --upgrade azureml-accel-models pip show azureml-accel-models |
azureml-inference-server-http |
此套件會啟用本機開發、CI/CD 整合、伺服器路由。 | pip install azureml-inference-server-http pip install --upgrade azureml-inference-server-http pip show azureml-inference-server-http |
azure-ml-component |
此套件包含使用元件撰寫和管理 Azure 機器學習 元件撰寫及提交管線的功能 | pip install azure-ml-component pip install --upgrade azure-ml-component pip show azure-ml-component |
azureml-pipeline-wrapper |
此套件包含使用模組撰寫和管理 Azure 機器學習 模組、撰寫和提交管線的功能 | pip install azureml-pipeline-wrapper pip install --upgrade azureml-pipeline-wrapper pip show azureml-pipeline-wrapper |
azureml-designer-cv-modules |
預先處理和轉換影像的模組,例如裁剪、填補或重設大小。 | pip install azureml-designer-cv-modules pip install --upgrade azureml-designer-cv-modules pip show azureml-designer-cv-modules |
azureml-designer-pytorch-modules |
根據 pytorch 架構定型和推斷影像分類模型的模組。 | pip install azureml-designer-pytorch-modules pip install --upgrade azureml-designer-pytorch-modules pip show azureml-designer-pytorch-modules |
azureml-designer-vowpal-wabbit-modules |
以 Vowpal Wabbit 架構為基礎的定型和推斷模型的模組。 | pip install azureml-designer-vowpal-wabbit-modules pip install --upgrade azureml-designer-vowpal-wabbit-modules pip show azureml-designer-vowpal-wabbit-modules |
azureml-designer-classic-modules |
各種用於數據處理、模型定型、推斷和評估的模組。 | pip install azureml-designer-classic-modules pip install --upgrade azureml-designer-classic-modules pip show azureml-designer-classic-modules |
azureml-designer-recommender-modules |
根據深度神經網路定型和推斷建議模型的模組。 | pip install azureml-designer-recommender-modules pip install --upgrade azureml-designer-recommender-modules pip show azureml-designer-recommender-modules |
azureml-designer-internal |
針對內建模組提供的內部功能。 | pip install azureml-designer-internal pip install --upgrade azureml-designer-internal pip show azureml-designer-internal |
azureml-designer-core |
數據類型定義、數據io和常用函式的核心功能。 | pip install azureml-designer-core pip install --upgrade azureml-designer-core pip show azureml-designer-core |
azureml-designer-datatransform-modules |
轉換數據集的模組,例如套用數學運算、sql 查詢、裁剪極端值或產生統計數據報表。 | pip install azureml-designer-datatransform-modules pip install --upgrade azureml-designer-datatransform-modules pip show azureml-designer-datatransform-modules |
azureml-designer-dataio-modules |
將數據載入 Azure 機器學習設計工具的模組,並將數據寫入雲端式記憶體。 | pip install azureml-designer-dataio-modules pip install --upgrade azureml-designer-dataio-modules pip show azureml-designer-dataio-modules |
azureml-designer-serving |
提供在部署服務中叫用內建模組的功能。 | pip install azureml-designer-serving pip install --upgrade azureml-designer-serving pip show azureml-designer-serving |
azureml-contrib-datadrift |
包含機器學習中使用的各種數據集的數據漂移偵測功能,包括定型數據集和評分數據集。 | pip install azureml-contrib-datadrift pip install --upgrade azureml-contrib-datadrift pip show azureml-contrib-datadrift |
azureml-contrib-explain-model |
包含 azureml-explain-model 套件的實驗性功能,其提供各種服務來提供機器學習模型可解譯性。 | pip install azureml-contrib-explain-model pip install --upgrade azureml-contrib-explain-model pip show azureml-contrib-explain-model |
azureml-contrib-opendatasets |
此套件提供一組 API 來取用 Azure 開放數據集。 | pip install azureml-contrib-opendatasets pip install --upgrade azureml-contrib-opendatasets pip show azureml-contrib-opendatasets |
azureml-train-widgets |
包含 Jupyter Notebook 的 Widget,以可視化方式追蹤您的執行。 | pip install azureml-train-widgets pip install --upgrade azureml-train-widgets pip show azureml-train-widgets |
如需上述套件的詳細資訊,請參閱 pypi 上的 AzureML。
其他使用案例指引
如果您的使用案例如下所述,請記下指引和任何建議的動作。
使用案例 | 指引 |
---|---|
使用 automl |
在 新的 64 位 Python 環境中安裝完整的azureml-train-automl SDK 。 由於對 LightGBM 架構的相依性,因此需要新的 64 位環境。 此套件會安裝並釘選特定版本的數據科學套件,以取得相容性,這需要乾淨的環境。 精簡用戶端 azureml-train-automl-client 、套件不會安裝其他數據科學套件,或需要乾淨的 Python 環境。 如果您只需要將自動化 ML 執行提交至遠端計算,而且不需要提交本機執行或下載本機模型,建議您 azureml-train-automl-client 這麼做。 只有使用完整 azureml-train-automl 套件定型的模型,才支援一個版本回溯和一個版本向前相容性。 例如,如果使用 SDK 1.29.0 版來定型模型,則可以使用 1.28.0 和 1.30.0 之間的 SDK 版本推斷。 |
使用 Azure Databricks | 在 Azure Databricks 環境中,使用本指南中詳述的連結庫來源來安裝 SDK。 此外,請參閱這些秘訣,以取得在 Azure Databricks 上使用適用於 Python 的 Azure 機器學習 SDK 的進一步資訊。 |
使用 Azure 資料科學虛擬機器 | Azure 資料科學虛擬機器 會在 2018 年 9 月 27 日之後建立,隨附預安裝 Python SDK。 |
執行 Azure 機器學習 教學課程或筆記本 | 如果您使用比教學課程或筆記本中所述的舊版 SDK,您應該升級 SDK。 教學課程和筆記本中的某些功能可能需要額外的 Python 套件,例如 matplotlib 、 scikit-learn 或 pandas 。 每個教學課程和筆記本中的指示都會說明需要哪些套件。 |
疑難排解
Pip 安裝:不保證相依性與單行安裝一致:
這是 pip 的已知限制,因為當您安裝為單一行時,它沒有正常運作的相依性解析程式。 第一個唯一的相依性是它唯一查看的相依性。
在下列程式代碼
azureml-datadrift
中,和azureml-train-automl
都是使用單行 pip 安裝來安裝。pip install azureml-datadrift, azureml-train-automl
在此範例中
azureml-datadrift
,假設需要 1.0 版 > ,而且azureml-train-automl
需要 1.2 版 < 。 如果 的最新版本azureml-datadrift
是 1.3,則不論舊版的套件需求為何,azureml-train-automl
這兩個套件都會升級至 1.3。若要確保您的套件已安裝適當的版本,請使用下列程式代碼中的多行進行安裝。 訂單不是這裡的問題,因為 pip 會明確降級為下一行呼叫的一部分。 因此,會套用適當的版本相依性。
pip install azureml-datadrift pip install azureml-train-automl
安裝 azureml-train-automl-client 時,不保證安裝說明套件:
執行已啟用模型說明的遠端 AutoML 執行時,您會看到錯誤訊息:「請安裝 azureml-explain-model 套件以取得模型說明」。這是已知問題。 因應措施遵循下列步驟之一:
- 在本機安裝 azureml-explain-model。
pip install azureml-explain-model
- 在 AutoML 組態中傳遞 model_explainability=False,以完全停用可解釋性功能。
automl_config = AutoMLConfig(task = 'classification', path = '.', debug_log = 'automated_ml_errors.log', compute_target = compute_target, run_configuration = aml_run_config, featurization = 'auto', model_explainability=False, training_data = prepped_data, label_column_name = 'Survived', **automl_settings)
Panda 錯誤:通常會在 AutoML 實驗期間看到:
使用 pip 手動設定環境時,您可能會注意到因為安裝不支援的套件版本而發生錯誤(特別是來自 pandas)。
例如,
ModuleNotFoundError: No module named 'pandas.core.internals.managers'; 'pandas.core.internals' is not a package
若要防止這類錯誤, 請使用 automl_setup.cmd安裝 AutoML SDK:
- 開啟 Anaconda 提示,並複製一組範例筆記本的 GitHub 存放庫。
git clone https://github.com/Azure/MachineLearningNotebooks.git
- cd 到解壓縮範例筆記本的 how-to-use-azureml/automated-machine-learning 資料夾,然後執行:
automl_setup
KeyError:在本機計算或 Azure Databricks 叢集上執行 AutoML 時,「品牌」
如果在 2020 年 6 月 10 日之後建立新的環境,使用 SDK 1.7.0 或更早版本,定型可能會因為 py-cpuinfo 套件中的更新而失敗。 (在 2020 年 6 月 10 日或之前建立的環境不會受到影響,因為使用了快取的訓練影像,因此在遠端計算上執行的實驗也一樣。若要解決此問題,請採取下列兩個步驟之一:
將 SDK 版本更新為 1.8.0 或更新版本(這也會將 py-cpuinfo 降級為 5.0.0):
pip install --upgrade azureml-sdk[automl]
將已安裝的 py-cpuinfo 版本降級為 5.0.0:
pip install py-cpuinfo==5.0.0
錯誤訊息:無法卸載 'PyYAML'
適用於 Python 的 Azure 機器學習 SDK:PyYAML 是
distutils
已安裝的專案。 因此,如果部分卸載,我們無法準確判斷屬於它的檔案。 若要在忽略此錯誤時繼續安裝 SDK,請使用:pip install --upgrade azureml-sdk[notebooks,automl] --ignore-installed PyYAML
Azure 機器學習 SDK 安裝失敗,但發生例外狀況:ModuleNotFoundError:沒有名為 'ruamel' 或 'ImportError: 沒有名為 ruamel.yaml' 的模組
在 conda 基底環境中,針對所有已發行版本的 Azure 機器學習 機器學習 SDK for Python,在 conda 基底環境中安裝適用於 Python 的最新 pip (>20.1.1)時,遇到此問題。 請參閱下列因應措施:
請避免在 conda 基底環境中安裝 Python SDK,而是建立 conda 環境,並在新建立的用戶環境上安裝 SDK。 最新的 pip 應該在該新的 conda 環境中運作。
若要在 docker 中建立映射,其中您無法從 conda 基底環境切換,請在 docker 檔案中釘選 pip<=20.1.1。
conda install -c r -y conda python=3.8 pip=20.1.1
下一步
請嘗試下列後續步驟,瞭解如何使用適用於 Python 的 Azure 機器學習 服務 SDK:
- 閱讀 Azure Machine Learnin Python SDK 概觀,以瞭解具有程式碼範例的主要類別和設計模式。
- 請遵循 Azure 機器學習 Python 用戶入門教學課程,開始建立實驗和模型。