Мне нужно запустить скрипт python в Машинном обучении Azure, используя python = 3.6.8 (не по умолчанию 3.6.2). Я использую AML «PyTorch ()» оценщик, устанавливая для аргумента «conda_packages» значение [«python == 3.6.8»] .
Я полагаюсь на эту страницу документации для оценщика PyTorch:
Когда мой скрипт запускается, я распечатываю «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, так как указал это в аргументе conda_packages в PyTorch Estimator.
Я также попытался переместить «python == 3.6.8» из conda_packages в pip_packages, но получил сообщение об ошибке, в котором говорилось, что pip не может найти этот пакет.
К вашему сведению, у меня есть еще один пакет, указанный в pip_packages, и он правильно устанавливается во время этого процесса. Похоже, что значение аргумента «conda_packages» не используется (я не могу найти упоминания об ошибке установки conda или python в журналах AML для моей работы).
При отправке учебного задания 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 torch 1.0 / 1.1 / 1.2 torchvision 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 конструктору оценщика.
Я бы посоветовал вам обновить параметр conda_dependencies_file, чтобы узнать, работает он или нет.
Ссылка: https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-train-pytorch#create-a-pytorch-estimator
еще один вариант — указать файл зависимостей 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