安装用于 Python 的 Azure 机器学习 SDK

本文提供有关该 SDK 的不同安装选项的指导。

必备条件


默认安装

使用 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 机器学习硬件加速模型服务加速 FPGA 上的深度神经网络。 pip install azureml-accel-models
pip install --upgrade azureml-accel-models
pip show azureml-accel-models
azureml-train-automl 提供用于生成和运行自动化机器学习试验的类。 还安装常见的数据科学包,包括 pandasnumpyscikit-learn

如果你希望在远程计算上提交自动化 ML 运行,并且不需要在本地执行任何 ML,建议使用瘦客户端和 azureml-train-automl-client 包(它是 azureml-sdk 的一部分)。

若要详细了解如何安装和使用完整的 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 包含用于管理 Synapse 会话和提交代码的 Magic 命令,以及用于监视 Jupyter 和 JupyterLab 的 Spark 作业进度的 SparkMonitor 小组件 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 机器学习管道中执行的预生成步骤。 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 服务,用于将 AzureML SDK 提供的部分功能公开给 VS Tools for AI 扩展(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 笔记本的扩展。 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 机器学习工作室中使用公平性评估仪表板 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 机器学习管道中执行的预生成步骤。 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 中进行安装,必须在此包之前单独安装“torch”和“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 超级计算机计算目标的 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 用于直观跟踪运行的小组件。 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 Data Science Virtual Machine 在 2018 年 9 月 27 日之后创建的 Azure Data Science Virtual Machine 已预装 Python SDK。
运行 Azure 机器学习教程笔记本 如果所用的 SDK 版本低于教程或笔记本中所述的版本,则应升级你的 SDK。 教程和笔记本中的某些功能可能需要其他 Python 包,例如 matplotlibscikit-learnpandas。 每个教程和笔记本中的说明将会指出所需的包。

疑难解答

  • Pip 安装:依赖项不保证与单行安装一致:

    这是 pip 的已知限制,因为作为单行安装时,pip 没有有效的依赖项解析程序。 它仅查看第一个独特依赖项。

    在以下代码中,azureml-datadriftazureml-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 包以获取模型解释”。这是一个已知问题。 作为解决方法,请执行以下步骤之一:

    1. 在本地安装 azureml-explain-model。
        pip install azureml-explain-model
    
    1. 通过在 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

    1. 打开 Anaconda 提示符并克隆一组示例笔记本的 GitHub 存储库。
    git clone https://github.com/Azure/MachineLearningNotebooks.git
    
    1. cd 到 how-to-use-azureml/automated-machine-learning 文件夹,其中提取了示例笔记本,然后运行:
    automl_setup
    
  • 在本地计算或 Azure Databricks 群集上运行 AutoML 时出现 KeyError: 'brand'

    如果在 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 基本环境中,在最新 pip (>20.1.1) 上安装适用于 Python 的 Azure 机器学习 SDK 时,所有已发布的适用于 Python 的 Azure 机器学习 SDK 版本都会遇到此问题。 请尝试以下解决方法:

    • 应避免在 conda 基本环境中安装 Python SDK,而是应创建 conda 环境并在新创建的用户环境中安装 SDK。 最新的 pip 应在这个新的 conda 环境中运行。

    • 在 docker 中创建映像时,如果不能脱离 conda 基本环境,请在 docker 文件中固定 pip<=20.1.1。

    conda install -c r -y conda python=3.6.2 pip=20.1.1
    

后续步骤

尝试通过以下后续步骤来了解如何使用适用于 Python 的 Azure 机器学习服务 SDK:

  1. 阅读 Azure 机器学习 Python SDK 概述,通过代码示例了解关键类和设计模式。
  2. 按照 Azure 机器学习 Python 入门教程开始创建试验和模型。