Шаги по установке пакетов Python для Машинного обучения Azure
Azure Machine Learning (AML) предоставляет мощный и удобный способ создания, развертывания и запуска приложений машинного обучения. AML позволяет вам сохранить установленный код на основе Scikit-Learn, PyTorch или любой другой платформы машинного обучения. Это приятно.
Более того, если вы тестируете и запускаете свои эксперименты на своем локальном компьютере, стоимость также довольно низкая. Согласно моему тесту, без запуска экземпляра облачных вычислений вы можете использовать AML всего за 0,25 доллара США в день.
Но, кажется, не так-то просто правильно настроить среду. После многих часов испытаний и потраченного времени я решил задокументировать шаги, которые работают для меня. Все приведенные ниже шаги протестированы в Ubuntu 20.04. Надеюсь, это должно работать в других дистрибутивах Linux.
Некоторые приготовления
Установите правильный Python
Установите правильный Python, по моему мнению, Python 3.7 работает хорошо. некоторые сказали, что Python 3.8 может иметь некоторые проблемы с совместимостью.
И избегайте Python 3.9.
$ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt-get update $ sudo apt-get install python3.7
Используйте виртуальную среду
Для AML AutoML потребуется множество пакетов определенной версии, поэтому используйте виртуальную среду. Вот мои шаги по созданию виртуальной среды Pyton в сценарии bash:
$ python3.7 -m pip install --user virtualenv $ virtualenv aml_venv $ . aml_venv/bin/activate
Установите общие пакеты
Создайте новый файл common_requirements.txt
в любом месте и заполните:
numpy pandas scikit-learn jupyterlab matplotlib
Вы можете добавить больше, если хотите, а затем установить все необходимые пакеты одной командой:
pip install -r common_requirements.txt
Установите исправление, чтобы избежать сбоя аутентификации
Как я пишу, в официальном документе есть скрытый баг, если не установить это исправление, вы, вероятно, получите сообщение об ошибке:
AttributeError: 'AdalAuthentication' object has no attribute 'get_token'
вот несколько обсуждений на этой странице:
Переустановите пакет azure-mgmt-resource
с версией 10.2.0
, это исправит.
pip install azure-mgmt-resource==10.2.0
Установите дотнет 2.1. да 2.1 не 3.0 или 5.0
Если dotnet 2.1 не установлен, вы можете получить ошибку http 404 при загрузке тестового набора данных из AML.
$ wget https://packages.microsoft.com/config/ubuntu/20.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb $ sudo dpkg -i packages-microsoft-prod.deb $ rm packages-microsoft-prod.deb $ sudo apt install dotnet-runtime-2.1
Установите пакеты AML
Теперь установите пакеты, связанные с Azure ML. Первое первым:
$ pip install azureml-core $ pip install azureml-sdk
Можно следовать официальному документу для установки всех остальных пакетов. Но, как я уже говорил, для AML требуются пакеты со строго указанными версиями. Будет утомительно и утомительно устанавливать и тестировать пакеты один за другим (да, я прошел через все это). Есть очень удобный способ установить все пакеты одной командой.
После того, как вы успешно установили пакетazureml-sdk,
, вы сможете найти новый каталог, созданный прямо в каталоге site-packages
.
Обратите внимание, чтобы узнать свой путь site-packages
, запустите этот код Python:
import sys sys.path
И в каталоге …/azureml/automl/core
вы найдете некоторые документы с требованиями для переменной ОС. вот мой путь
/<path>/aml_venv/lib/python3.7/site-packages/azureml/automl/core/validated_linux_requirements.txt
Затем установите все необходимые пакеты одной командой
pip install -r <path to validated_linux_requirements.txt>
Обратите внимание, что вы можете увидеть сообщение об ошибке относительно CUDA, если CUDA не установлена:
The nvcc binary could not be located in your $PATH. Either add it to your path, or set $CUDAHOME to enable CUDA
Просто игнорируйте это. Теперь вы готовы приступить к учебнику по машинному обучению Azure без сообщений об ошибках Python (надеюсь).
Если вам понравилась эта статья, не забудьте показать свою поддержку, аплодируя этой статье. Если у вас есть какие-либо вопросы, оставьте комментарий, и я сделаю все возможное, чтобы ответить. Если вы заметите какие-либо ошибки, не стесняйтесь отметить их.
Вы можете найти меня в Twitter и Linkedin. Я хотел бы услышать от вас.