Шаги по установке пакетов 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. Я хотел бы услышать от вас.