как указать python == 3.6.8 для PyTorch Estimator (conda_packages недостаточно) - PullRequest
0 голосов
/ 16 октября 2019

Мне нужно запустить скрипт Python в Машинном обучении Azure, используя python = 3.6.8 (не по умолчанию 3.6.2) . Я использую оценщик AML " PyTorch () ", для параметра " conda_packages " устанавливается значение ["python == 3.6.8"] .

Я полагаюсь на эту страницу документации для оценщика PyTorch:

https://docs.microsoft.com/en-us/python/api/azureml-train-core/azureml.train.dnn.pytorch?view=azure-ml-py

Когда мой скрипт выполняется, я распечатываю " 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)]

Я ожидал увидеть python3.6.8 , так как я указал это в аргументе conda_packages в Оценщике PyTorch

, я также попытался переместить " python == 3.6.8 " из conda_packages в pip_packages, но получилошибка, из-за которой pip не смог найти этот пакет.

К вашему сведению, у меня есть другой пакет, указанный в pip_packages, и он правильно устанавливается во время этого процесса. Похоже, значение arg " conda_packages " не используется (я не могу найти упоминания об ошибке установки conda или python в журналах AML для моей работы).

Ответы [ 2 ]

1 голос
/ 23 октября 2019

еще одна опция - указание файла зависимости conda conda_dependencies_file_path с верной версией Python. В следующих документах представлена ​​подробная документация о том, как это сделать. как только вы укажете conda_depencies_file_path, он переопределяет pip_packages и conda_packages, поэтому я рекомендую поместить все ваши пакеты в файл зависимостей conda

https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.conda_dependencies.condadependencies?view=azure-ml-py

0 голосов
/ 23 октября 2019

При отправке учебного задания Azure ML запускает ваш сценарий в среде conda в контейнере Docker. Контейнеры PyTorch имеют следующие установленные зависимости:

Зависимости
PyTorch 1.0 / 1.1 / 1.2 Python 3.6.2 CUDA (только изображение с графическим процессором) 10.0 cuDNN (Только изображение с графическим процессором) 7.6.3 NCCL (только изображение с графическим процессором) 2.4.8 azureml-defaults Последний OpenMpi 3.1.2 horovod 0.16.1 miniconda 4.5.11 torchvision 1.0 / 1.1 / 1.2 torchvision 0.2.1 git 2.7.4 тенорборд 1.14 будущий 0.17.1 Образы Docker расширяют Ubuntu 16.04.

Чтобы установить дополнительные зависимости, вы можете использовать параметр pip_packages или conda_packages. Или вы можете указать параметр pip_requirements_file или conda_dependencies_file. Кроме того, вы можете создать свой собственный образ и передать параметр custom_docker_image в конструктор оценщика.

Я бы предложил вам обновить параметр conda_dependencies_file, чтобы увидеть, работает ли он или нет.

Ссылка: https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-train-pytorch#create-a-pytorch-estimator

...