我需要使用 python = 3.6.8(不是默认的3.6.2)在Azure机器学习下运行python脚本。我正在使用AML“ PyTorch()”估算器,将“ conda_packages ” arg设置为 [“ python == 3.6.8”] 。
我依赖于此文档页面的PyTorch Estimator:
我的脚本运行时,我打印出“ sys.version ”,并看到它仍设置为 python 3.6.2 :
python: 3.6.2 | packaged by conda-forge | (default, Jul 23 2017, 22:59:30) [GCC 4.8.2 20140120 (Red Hat 4.8.2-15)]
我希望看到 python 3.6.8 ,因为我在PyTorch Estimator的conda_packages arg中指定了这一点。
我还尝试将“ python == 3.6.8 ”从conda_packages移到pip_packages,但是收到一条错误消息,指出pip无法找到该软件包。
仅供参考,我在pip_packages中指定了另一个软件包,在此过程中确实可以正确安装。似乎没有使用“ conda_packages ” arg的值(我的工作的AML日志中没有提到conda或python安装错误)。
答案 0 :(得分:1)
另一个选择是使用正确的python版本指定一个conda依赖文件conda_dependencies_file_path。以下文档概述了有关操作方法的详细文档。一旦指定conda_depencies_file_path,它将覆盖pip_packages和conda_packages,因此我建议将所有软件包放入conda依赖文件
答案 1 :(得分:0)
提交培训作业时,Azure ML在Docker容器内的conda环境中运行脚本。 PyTorch容器安装了以下依赖项。
依赖项
PyTorch 1.0 / 1.1 / 1.2
Python 3.6.2
CUDA(仅GPU映像)10.0 cuDNN(仅GPU映像)7.6.3 NCCL(仅GPU映像)2.4.8azureml-defaults最新的OpenMpi 3.1.2 horovod 0.16.1 miniconda 4.5.11火炬1.0 / 1.1 / 1.2火炬视觉0.2。 1 git 2.7.4 tensorboard 1.14 future 0.17.1 Docker映像扩展了Ubuntu 16.04。
要安装附加依赖关系,可以使用pip_packages或conda_packages参数。或者,您可以指定 pip_requirements_file或conda_dependencies_file参数。另外,您可以构建自己的图像,然后将custom_docker_image参数传递给estimator构造函数。
我建议您更新conda_dependencies_file参数以查看其是否有效。