В этом пошаговом руководстве рассматриваются настройки BIOS, установка ОС Ubuntu, программного обеспечения для ускорения графического процессора, Python, пакет машинного обучения и глубокого обучения, а также создание виртуальных сред.

Если вы новичок в машинном обучении, работаете с ним ежедневно или даже создаете специализированные компьютеры для машинного обучения, хорошая рабочая система имеет важное значение. Однако настройка среды может занять много времени и нервов (из личного опыта).

Чтобы сделать его еще более сложным, существует множество способов настройки вашей среды и множество программ, которые необходимо включить. В прошлом году я установил бесчисленное количество сред машинного обучения на разных компьютерах и с различными конфигурациями. Я обнаружил, что просматриваю множество веб-сайтов и читаю разные руководства по всем отдельным частям процесса. Поэтому я решил объединить основные шаги по созданию среды машинного обучения и записал их в этом посте. Вы можете включить множество дополнительных опций, однако эта настройка проста и надежна.

Мы переходим от первого запуска нового компьютера к рабочей среде на этом же компьютере за 5 шагов. Кроме того, в этой настройке системы добавлены усовершенствования графического процессора, которые вы определенно захотите использовать при работе с большими моделями машинного обучения. Шаги следующие:

  1. Настройка BIOS компьютера
  2. Установите операционную систему Ubuntu
  3. Установите программное обеспечение для ускорения графического процессора (CUDA и cuDNN)
  4. Создайте виртуальную среду и установите Python
  5. Установить пакеты машинного обучения

Если вы еще не перешли на Linux / Ubuntu или, возможно, даже не слышали об этом, это руководство для вас! Ubuntu - мощная и удобная операционная система для машинного обучения, и работать с терминалом / командной строкой не так сложно, как может показаться. Я надеюсь показать в этом руководстве, что на самом деле это довольно просто.

Начнем!

1. Настройки BIOS

BIOS - это базовая система ввода-вывода вашего компьютера. BIOS инициализирует и тестирует компоненты оборудования системы и загружает операционную систему или загрузчик, если операционная система не установлена. Это система, которую вы видите, когда запускаете (новый) компьютер в первый раз, а операционная система (ОС) еще не установлена.

Если у вас установлена ​​ОС, вы можете войти в BIOS, нажав одну из клавиш BIOS при запуске компьютера до загрузки ОС. Обычно это клавиша ESC или одна из клавиш F1-F12.

Вот так выглядит мой BIOS Home…

Перемещаясь по BIOS, вы можете видеть подробную информацию о вашей системе и изменять настройки. Например, характеристики подключенного оборудования.

1.1. Отключить безопасную загрузку

Чтобы иметь возможность установить и запустить Ubuntu в вашей системе, вам необходимо отключить безопасную загрузку и установить Тип ОС (тип операционной системы) на 'Другая ОС '. Расположение этого меню настроек в BIOS может отличаться. Однако убедитесь, что он позволяет запускать Linux. Вот как я настроил это в своем BIOS:

2. Операционная система: Ubuntu

2.1. Почему Ubuntu?

Для этой настройки я использую Ubuntu в качестве операционной системы (ОС). Ubuntu - один из самых популярных и поддерживаемых дистрибутивов Linux. Существуют различные причины использовать Linux, как указано в этом вопросе на Quora. Прочтите в этом вопросе Quora, почему следует использовать Ubuntu вместо других дистрибутивов Linux.

Для меня наиболее важными причинами перехода на Linux вместо Windows или Mac являются скорость ОС и простое и мощное использование командной строки и репозиториев, которые очень упрощают настройку и обслуживание вашей системы машинного обучения. Я предпочитаю использовать Ubuntu из-за его большого сообщества и поддержки.

2.2. Создайте загрузочный USB

Установить ОС на ваш компьютер можно с помощью загрузочного USB-накопителя, который вы вставляете в USB-порт и получаете к нему доступ при запуске компьютера. Вам понадобится USB-накопитель на 2 ГБ или больше.

Создадим загрузочный USB. Перейдите в раздел загрузок на официальном сайте Ubuntu и загрузите ISO-файл Ubuntu. Вы хотите выбрать версию LTS (Life Time Support). На момент написания этой статьи у меня была последняя версия - Ubuntu 16.04 LTS.

Загрузите файл и следуйте инструкциям по созданию загрузочного USB-накопителя, содержащего этот файл. В зависимости от операционной системы, которую вы используете в настоящее время, следуйте руководству Windows или MAC. Если вы каким-то образом уже пользуетесь Ubuntu, воспользуйтесь этим руководством.

2.3. Установить Ubuntu

Теперь, когда у нас есть загрузочный USB-накопитель, пора вставить его в USB-порт и запустить вашу систему. Для некоторых систем загрузочный диск распознается автоматически. На других вам сначала нужно войти в BIOS. Войдите в BIOS и щелкните только что вставленный диск, чтобы начать установку.

Переход к загрузочному диску вручную в BIOS может выглядеть так, как показано на изображении ниже. Дважды щелкните диск, чтобы начать установку.

Ubuntu дает вам возможность сначала попробовать запустить его с USB. Поиграйте, чтобы убедиться, что все работает нормально, а затем установите Ubuntu в своей системе.

Следуйте инструкциям в меню установки или просмотрите официальное руководство по установке Ubuntu. Это руководство очень ясное, поэтому я не буду повторять здесь все отдельные шаги. Если вы впервые работаете с Ubuntu, вы можете в основном придерживаться параметров по умолчанию, предложенных установщиком. Более того, сообщество сделало несколько отличных руководств и сообщений с подробными объяснениями всех опций. Все это можно найти в Интернете с помощью гугла;)

Совет. Ubuntu также позволяет зашифровать вашу систему и домашнюю папку для большей безопасности.

После установки перезагрузите компьютер, поскольку будет предложено завершить установку. При запуске вам будет предложено удалить установочный носитель (ваш usb). Удалите этот USB-накопитель и войдите в Ubuntu с паролем, который вы выбрали во время установки.

2.4. Проверить установку

В системах Linux действия легко выполняются с помощью Терминала. Это то же самое, что и терминал Mac. В Windows это называется Командная строка или Командная строка.

Откройте новый терминал через меню навигации или воспользуйтесь горячими клавишами:

CTRL + ALT + T

Введите в терминале следующую команду, чтобы проверить установленную версию Ubuntu:

lsb_release -a

И введите команду ниже, чтобы увидеть подробную информацию о дистрибутиве Linux:

uname -a

Результат должен выглядеть примерно так:

3. Установите программное обеспечение для ускорения графического процессора.

Ряд инструментов машинного обучения использует программное обеспечение с ускорением на графическом процессоре для обучения и запуска моделей. В частности, для глубокого обучения используются графические процессоры из-за их более высокой вычислительной мощности по сравнению с процессорами, что сокращает ценное время обучения моделей. Более подробное объяснение NVIDIA можно прочитать здесь.

На момент написания этой статьи самым популярным программным обеспечением для ускорения графического процессора для ML / DL было CUDA в сочетании с cuDNN, разработанное NVIDIA. Сначала мы установим CUDA. После этого cuDNN, который на самом деле просто вопрос добавления некоторых файлов в каталог CUDA.

3.1. Предпосылки

Подробное описание предварительных условий для установки CUDA можно найти в Официальном руководстве по установке CUDA для Linux. Основные этапы:

Убедитесь, что у вас есть графический процессор с поддержкой CUDA, введя в терминал следующие команды:

lspci | grep -i nvidia

Убедитесь, что у вас есть поддерживаемая версия Linux.

uname -m && cat /etc/*release

Убедитесь, что в системе установлен GCC.

gcc --version

Установите заголовки ядра и пакеты разработки (вам нужно ввести свой пароль для этой команды, так как вы должны выполнить ее как пользователь root с помощью sudo).

sudo apt-get install linux-headers-$(uname -r)

В целом в вашем терминале результат должен выглядеть примерно так:

3.2. Установите последние версии драйверов NVIDIA

Чтобы иметь возможность запускать программное обеспечение с ускорением на GPU, необходимо установить последние версии драйверов NVIDIA. Предполагая, что на вашем компьютере установлен графический процессор NVIDIA, что в настоящее время является нормой для машинного обучения.

Зайдите на официальный сайт NVIDIA и выберите характеристики своего графического процессора. В этой системе у меня GeForce GTX 1060, поэтому выбор для меня следующий:

Здесь не нужно загружать драйверы. Просто запомните номер версии. Последние версии драйверов можно легко установить из командной строки.

Откройте свой терминал и установите последнюю версию драйвера nvidia. Введите требуемый номер версии. Необязательно указывать цифры после цифр, нужная версия будет найдена автоматически.

sudo apt-get install nvidia-<version number>

Затем обновите Advanced Packaging Tool (apt) и перезагрузите систему, чтобы все заработало.

sudo apt-get update
sudo reboot -h now

Проверьте, установлены ли последние версии драйверов. Результат должен выглядеть примерно так, как на экране ниже.

nvidia-smi

Или используйте графический интерфейс и найдите на своих компьютерах программу «Дополнительные драйверы» и выберите правильный драйвер.

3.3. Загрузите и установите CUDA

Перейдите на официальную страницу загрузки CUDA и выберите характеристики вашей системы. Загрузите deb (локальные) файлы базового установщика и доступные исправления.

Убедитесь, что вы загрузили версию CUDA, совместимую с пакетами ML, которые вы будете использовать позже. На момент написания этого поста последней версией CUDA является 9.1, однако, например, Tensorflow - популярный пакет ML, который мы устанавливаем позже - поддерживает только CUDA до версии 9.0. (Я покажу, как установить Tensorflow и другие пакеты в следующей главе).

В своем терминале перейдите в папку, в которой вы сохранили файлы deb. Вероятно, это папка загрузок или указанная вами папка.

1. Проверьте загрузки, используя их контрольные суммы. Проверьте загрузку, сравнив контрольную сумму md5 файла с суммами, указанными по адресу: http://developer.nvidia.com/cuda-downloads/checksums.

md5sum <file> 

2. Теперь установите репозитории и CUDA. Сначала установите метадату репозитория базового установщика с его файлом .deb с помощью следующей команды:

sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb

Совет: используйте кнопку TAB для автозаполнения при вводе текста в терминале!

3. Установите открытый ключ GPG CUDA:

sudo apt-key add /var/cuda-rep-<version>/<key mentioned in the documentation> 

4. Обновите кеш репозитория APT:

sudo apt-get update

5. Установите CUDA:

sudo apt-get install cuda

6. Включите /usr/local/cuda-<version>/bin в PATH:

export PATH=/usr/local/cuda-<version>/bin${PATH:+:${PATH}} 

7. Установите патчи по порядку. Для каждого патча выполните следующие действия:

sudo dpkg -i cuda-repo-<package_details>
sudo apt-get update
sudo apt-get upgrade cuda

8. Проверьте установленную версию CUDA, запустив в своем терминале:

cat /usr/local/cuda/version.txt 

Вы можете прочитать официальную документацию по установке CUDA для получения дополнительной информации.

3.4. Скачайте и установите cuDNN

Перейдите на домашнюю страницу NVIDIA cuDNN. Войдите в свою учетную запись или создайте новую, если у вас ее еще нет. Затем щелкните раздел загрузки и выберите правильную версию cuDNN. cuDNN должен соответствовать вашей установленной версии CUDA и обратить внимание на последнюю версию, совместимую с пакетами ML, которые вы планируете установить позже! Ознакомьтесь с их руководствами по установке и необходимой документацией. (Поверьте мне, если есть какие-либо проблемы с совместимостью, вы хотите узнать их как можно скорее, а не в конце процесса.)

Загрузите библиотеку cuDNN для Linux. Перейдите в каталог, в котором вы сохранили файл Tar, и разархивируйте пакет.

tar -xzvf cudnn-<version>-linux-x64-v7.tgz

Затем скопируйте следующие файлы в свой каталог CUDA:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h
/usr/local/cuda/lib64/libcudnn*

Дополнительную информацию можно найти в официальном руководстве cuDNN.

Теперь перезагрузите вашу систему, используя sudo reboot -h now.

Поздравляю! Вы выполнили самую сложную часть установки основных компонентов вашей системы машинного обучения.

4. Создайте виртуальную среду.

Виртуальные среды позволяют вам создавать отдельные системы в вашей системе, откуда вы можете устанавливать и запускать пакеты. Установка пакетов в виртуальных средах вместо вашей собственной / корневой системы позволяет вам работать с разными версиями пакетов без конфликтов. Выполните следующие шаги, чтобы создать виртуальную среду для Python. (Я использую Python3 в качестве языка программирования в этой настройке, поскольку в настоящее время это самый популярный язык для ML)

  1. Установите pip и виртуальную среду
sudo apt-get install python3-pip python3-dev python-virtualenv

2. Создайте новую виртуальную среду с именем «venv» и укажите версию Python, которую вы хотите использовать в ней. Вы можете выбрать любое имя для виртуальной среды.

virtualenv -p python3.5 venv

3. Активируйте виртуальную среду.

source venv/bin/activate

Теперь вы в виртуальной среде. Текущая среда отображается в вашем терминале в скобках.

(venv) me@pc:~$: 

5. Вы можете деактивировать venv, набрав deactivate и нажав ENTER.

В следующей главе мы установим несколько популярных пакетов машинного обучения и глубокого обучения в виртуальной среде.

5. Установите пакеты машинного обучения и глубокого обучения.

Войдите в свою виртуальную среду и проверьте установленные пакеты с помощью pip list --format=columnscommand. Вы можете видеть, что ряд пакетов пришел вместе с установкой.

PIP - это система управления пакетами, используемая для установки программных пакетов, написанных на Python, и управления ими.

Давайте установим несколько часто используемых пакетов Python с помощью pip. Pip делает этот процесс действительно гладким и легким. Pip также напрямую определяет правильную версию Python для ваших пакетов. - Убедитесь, что вы находитесь в своей виртуальной среде!

pip install numpy
pip install scipy
pip install pandas
pip install matplotlib

Проверьте установленные пакеты в виртуальном окружении с помощью pip list --format=columns. Как вы видите в списке, некоторые пакеты содержат дополнительные пакеты. Это связано с тем, что большинство пакетов построено на других пакетах и, следовательно, для работы необходимо также импортировать свои базовые пакеты.

Пришло время установить несколько популярных пакетов машинного обучения и глубокого обучения.

  1. Установите Scikit-learn
pip install scikit-learn

2. Установите Tensorflow. Теперь мы можем установить расширенную версию GPU, учитывая шаги, которые мы предприняли в предыдущих главах. Если у вас возникли проблемы с установкой Tensorflow, вы можете прочитать официальное руководство по установке virtualenv в Ubuntu здесь.

pip3 install --upgrade tensorflow-gpu

3. Установите Керас.

pip install keras

Вау, это было действительно просто! Никаких скачиваний и перетаскивания файлов ..

Используя вышеуказанные методы, вы можете создавать другие виртуальные среды и устанавливать пакеты ML. Если пакет еще не имеет опции установки pip, следуйте инструкциям в документации. Вот несколько интересных пакетов машинного обучения: PyTorch, XGBoost, LightGBM и CatBoost.

Вот и все! Если вы выполнили действия, описанные в этом руководстве, поздравляем! Вы полностью настроили среду машинного обучения в Ubuntu с ускорением графического процессора на своем компьютере.

Я надеюсь, что это было полезно для вас, и удачи в вашем пути к машинному обучению! Если у вас есть какие-либо вопросы по комментариям, не стесняйтесь комментировать ниже. Я постараюсь на них ответить. Также не стесняйтесь делиться этой историей.