安装用于 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 |
提供用于生成和运行自动化机器学习试验的类。 还安装常见的数据科学包,包括 pandas 、numpy 和 scikit-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 包,例如 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
在本地计算或 Azure Databricks 群集上运行 AutoML 时出现 KeyError: 'brand'
如果使用 SDK 1.7.0 或更早版本在 2020 年 6 月 10 日之后创建新环境,则由于 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.8 pip=20.1.1
后续步骤
尝试通过以下后续步骤来了解如何使用适用于 Python 的 Azure 机器学习服务 SDK:
- 阅读 Azure 机器学习 Python SDK 概述,通过代码示例了解关键类和设计模式。
- 按照 Azure 机器学习 Python 入门教程开始创建试验和模型。