本文提供有关该 sdk 的不同安装选项的指导。
必备条件
默认安装
使用 azureml-core
。
pip install azureml-core
然后,安装特定作业所需的任何其他包。
升级安装
升级以前的版本:
pip install --upgrade azureml-core
检查版本
验证 SDK 版本:
pip show azureml-core
若要查看环境中的所有包:
pip list
还可在 Python 中显示 SDK 版本,但此版本不包含次要版本。
import azureml.core print(azureml.core.VERSION)
其他 azureml 包
SDK 包含许多其他可安装的可选包。 这些组件包括并非在所有用例中都必需的依赖项,因此,它们未包含在默认安装中,以避免环境过于臃肿。 下表概述了包、其使用场景,以及用于安装、更新和版本检查的命令。
其他用例指南
如果你的用例如下面所述,请记下指导和任何建议的操作。
疑难解答
-
Pip 安装:依赖项不保证与单行安装一致:
这是 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'
如果在 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:
- 海报