Задний план

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

  1. Часть 1: Как создать машину для глубокого обучения на GPU
  2. Часть 2: Настройка Ubuntu и Docker для глубокого обучения
  3. Часть 3: Использование глубокого обучения с передачей стиля

Рекомендуемая литература

Другие полезные ссылки

Ярлыки Linux

  • ctrl + alt + arrow_key переключит на другое рабочее пространство.
  • ctrl + alt + t откроет окно терминала.
  • ctrl + alt + f1 приведет вас к входу в консоль.
  • ctrl + alt + f7 перенесет вас в текущий сеанс xorg.

Ярлыки терминала

  • Нажатие стрелок вверх и вниз будет переключать предыдущие команды.
  • mkdir <new_directory_name> создаст новую папку в вашем текущем каталоге.
  • cd <target> переместит вас к цели в дереве каталогов. ‹Target› может быть именем папки в вашем текущем каталоге, это может быть .., чтобы перейти в родительский каталог, или это может быть путь к файлу.
  • ls или ls -l отобразит содержимое вашего текущего каталога.
  • ctrl + shift + c и ctrl + shift + v будут вырезать и вставлять соответственно.
  • ctrl + c отменяет команду.
  • ctrl + shift + t откроет новую вкладку в текущем окне терминала.
  • nvidia-smi покажет вам информацию о вашем графическом процессоре NVIDIA.
  • Больше ярлыков

Установка Linux

Если единственная операционная система (ОС), с которой вы работали, - это Mac OS или Windows, Linux может расстраивать и пугать. Mac и Windows в значительной степени предназначены для того, чтобы позволить пользователю взаимодействовать с компьютером через графический интерфейс пользователя (GUI), в то время как определенные изменения на уровне системы выполняются без ведома пользователя. Несмотря на то, что разные версии Linux (называемые разновидностями на жаргоне Linux) имеют различные доступные графические интерфейсы, использование Linux обычно означает необходимость ознакомления с командной строкой, Терминалом.

Инструкции по установке Ubuntu 16.04

В этом разделе я покажу вам, как настроить Ubuntu 16.04.1 LTS. Вам понадобятся следующие предметы:

  • Дополнительный компьютер, подключенный к Интернету.
  • Флэш-накопитель USB, который можно стереть и отформатировать в FAT32.
  • Доступно подключение к Интернету для вашей машины глубокого обучения.

Прежде чем мы начнем, я должен четко заявить, что в какой-то момент вы столкнетесь с проблемой, которую я не испытывал и не решал. Фактически, этот абзац был добавлен к этому руководству после недавнего входа в систему на моей машине, только чтобы столкнуться с циклом входа в систему, который произошел, когда мой драйвер NVIDIA каким-то образом потерял связь с графическим процессором. Я решил это, используя первый комментарий, предложенный на этом форуме Ask ubuntu. Если вы столкнулись с проблемой, следуйте руководству резинового утенка для ее устранения. Скорее всего, кто-то другой столкнулся с той же проблемой, с которой столкнулись вы, он разместил вопрос об этом, и кто-то другой, столкнувшийся с той же проблемой, предложил решение! Иногда вы пробуете множество решений, прежде чем это поймете, а иногда вам придется начинать все сначала. :)

На дополнительном компьютере (я буду использовать Mac) выполните следующие действия:

  1. Загрузите ISO-образ Ubuntu 16.04.1 LTS. Вы можете захотеть проверить загрузку, но я пропускаю этот шаг.
  2. Вставьте флешку. Сотрите диск, отформатируйте его в FAT32 и назовите его «FAT32». На Mac это можно сделать в программе «Дисковая утилита» и выбрать формат «MS-DOS (FAT)». Обратите внимание, что присвоение диску "FAT32" является потенциальным решением проблемы, которая может возникнуть на шаге 3
  3. Скачайте UNetbootin. После загрузки вставьте флешку и откройте UNetbootin. Проверьте, видна ли ваша флешка в разделе Диски. Если это так, выберите его. В противном случае может быть несколько проблем.
  4. Как только ваша флешка будет обнаружена в UNetbootin, выберите многоточие, чтобы перейти к месту загрузки Ubuntu ISO. Обратите внимание, что при выборе папки «Загрузки» в «Избранном» файлы не отображались. Вместо этого я мог получить доступ к файлу, перейдя в каталог «Пользователи», который впервые появился, когда я щелкнул многоточие, или с помощью панели поиска.
  5. Выберите «ОК», чтобы установить ISO на флэш-накопитель. Процесс установки может занять несколько минут. Если все пойдет хорошо, у вас должно получиться что-то похожее на следующее:

Теперь вы готовы установить Ubuntu на свою машину для глубокого обучения! Обратите внимание: в следующем разделе предполагается, что ваша машина для глубокого обучения начинает работу там, где закончилась Часть 1. Создание машины с графическим процессором.

На вашей машине глубокого обучения:

  1. Вставьте флешку с установленным ISO Ubuntu. Включите компьютер и вызовите BIOS, нажав соответствующую клавишу во время загрузки. Чтобы найти правильный ключ, обратитесь к буклету материнской платы. В моем случае это f11.
  2. В зависимости от вашей материнской платы поведение на этом этапе может отличаться. Вы хотите перейти к флешке и загрузить ее. В моем случае меню с доступными загрузочными устройствами появляется после нажатия клавиши f11, а затем я выбираю флешку с ISO-образом, которая называется «ОС UEFI (SanDisk Cruzer Glide 1.27)».
  3. Появится меню GNU GRUB. Выберите «Установить Ubuntu» и продолжите.
  4. Появится меню установки. Выберите свой язык и продолжайте.
  5. У вас есть два варианта в разделе «Подготовка к установке Ubuntu». Я выберу «Загружать обновления при установке Ubuntu», но не буду выбирать другой вариант. Продолжать.
  6. Вы должны выбрать тип установки. Если у вас есть другие диски с уже установленными операционными системами, вы можете увидеть их здесь. Я выберу «Стереть диск и установить Ubuntu», поскольку установщик позволит мне выбрать пустой SSD на следующем шаге. Продолжать.
  7. Будьте очень осторожны при выборе подходящего диска для установки целевой ОС. Если к вашему компьютеру подключен только один твердотельный накопитель, все в порядке. Однако, если у вас есть другие подключенные диски, вы можете случайно стереть один из них. Если вы выбрали полностью пустой диск, дополнительные параметры разбиения на разделы не должны появляться. После того, как вы выбрали подходящий диск, выберите «Установить сейчас». Затем, когда вас попросят «записать изменения на диск», выберите «Продолжить».
  8. Выберите свой часовой пояс и продолжите.
  9. Выберите раскладку клавиатуры и продолжите.
  10. Введите свое имя, имя компьютера и имя пользователя. Ваше имя может быть любым, каким вы хотите. Ваше имя пользователя будет именем учетной записи, которую вы используете для входа в операционную систему. Я рекомендую дать вашему компьютеру другое имя, чем ваше имя пользователя. При использовании командной строки это обеспечит большую ясность для используемых уровней разрешений. Выберите «Продолжить».
  11. Ubuntu теперь устанавливается на ваш SSD. Этот процесс может занять несколько минут. По завершении вам будет предложено перезагрузить компьютер. Перезагрузите и войдите в Ubuntu.

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

Установка драйвера дисплея NVIDIA

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

Есть несколько способов установить драйвер NVIDIA, и я добился стабильного успеха в следующих:

  1. В вашем браузере перейдите на страницу загрузок NVIDIA.
  2. Введите информацию, подходящую для вашего графического процессора. В моем случае я выбираю «GeForce», «GeForce 10 Series», «GeForce GTX 1070», «Linux 64-bit» и «English» для соответствующих полей. Выберите «Поиск».
  3. Подойдет соответствующий драйвер дисплея. В моем случае это Версия« 375.26 , Дата выпуска 2016.12.14 и Операционная система Linux 64-бит .
  4. Выберите «Загрузить», затем «Принять и загрузить». Сохраните файл. В моем случае имя файла - NVIDIA-Linux-x86_64–375.26.run.

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

  1. На клавиатуре нажмите ctrl + alt + f1, чтобы переключиться на консольный вход.
  2. Вам будет предложено войти в свой компьютер. Введите свое имя пользователя и выберите ввод. Затем введите пароль для своего пользователя и выберите ввод.

Теперь вы увидите командную строку, которая выглядит следующим образом:

<user_name>@<computer_name>:~$

Имя пользователя - это имя того пользователя, которого вы в настоящее время используете, а имя компьютера - это тот компьютер, на который вы в данный момент вошли.

Теперь введите:

sudo service lightdm stop

Команда sudo сообщает компьютеру, что вы хотите выполнить действие с привилегиями корневого уровня. В общем, вы должны быть осторожны всякий раз, когда читаете инструкции, которые говорят вам использовать sudo, и вы должны иметь хорошее представление о том, что делают команды, которые вы вводите. Мы говорим компьютеру остановить service и lightdm, чтобы мы могли выключить x-server в соответствии с этими инструкциями по установке драйвера NVIDIA.

X-сервер и lightdm теперь должны быть выключены. Вы можете подтвердить это, нажав ctrl + alt + f7 на клавиатуре, чтобы переключиться на текущий сеанс xorg. Графический интерфейс, который у вас обычно есть, должен быть отключен, и вы должны просто увидеть текстовое описание диска, на котором вы в данный момент вошли в систему.

Теперь вернитесь в окно консоли, выбрав ctrl + alt + f1 на клавиатуре. Теперь введите ls или ls -l, чтобы отобразить содержимое каталога, в котором вы находитесь. Перейдите в папку, содержащую драйвер NVIDIA (см. Раздел «Ярлыки терминала» выше). В моем случае я наберу cd Downloads. Обратите внимание, что имена папок и файлов будут чувствительны к регистру.

Теперь введите ls, чтобы подтвердить, что драйвер дисплея NVIDIA находится в текущем каталоге. Если это так, введите sudo sh <name_of_display_driver>, выберите ввод, а затем введите свой пароль. В моем случае я наберу sudo sh NVIDIA-Linux-x86_64-375.26.run. Теперь начнется установка драйвера дисплея NVIDIA.

  • Вам будет предложено ввести Условия использования. Выберите «Принять».
  • Вы можете получить следующее предупреждение: «Сценарий предварительной установки, предоставленный дистрибутивом, не прошел! Вы уверены что хотите продолжить?". Если вы получили это, просто выберите «Продолжить установку».
  • Вы можете получить предупреждение о том, что 32-разрядные библиотеки совместимости не будут установлены. Выберите «ОК».
  • Вам будет предложено следующий вопрос: «Хотите ли вы запустить утилиту nvidia-xconfig для автоматического обновления файла конфигурации X, чтобы драйвер NVIDIA X использовался при перезапуске X? Будет создана резервная копия любого ранее существовавшего файла конфигурации X ». Выберите «Да».
  • Вы должны получить сообщение о том, что файл конфигурации X был успешно обновлен. Выберите «ОК».

На этом этапе драйвер должен быть успешно установлен, и теперь нам нужно перезагрузить нашу систему. Введите sudo reboot и выберите ввод.

Теперь, когда ваша операционная система загружается, графический интерфейс должен иметь гораздо более высокое разрешение, чем раньше. Войдите в свою учетную запись. Чтобы убедиться, что драйвер был успешно установлен:

  1. Откройте терминал в окне терминала, выбрав ctrl + alt + t.
  2. Введите nvidia-smi и выберите ввод.

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

Если вы зашли так далеко, ваши драйверы дисплея успешно установлены, и вы готовы перейти к установке Docker!

Дополнительные установки и конфигурации

На этом этапе вы можете установить какое-либо предпочтительное программное обеспечение или настроить параметры ОС так, чтобы они были более удобными. Вот некоторые из изменений, которые я вношу:

Установка Docker

До использования Docker я вручную управлял различными драйверами NVIDIA CUDA и библиотеками глубокого обучения. Это был болезненный процесс, и мне пришлось несколько раз стереть диск и переустановить ОС, прежде чем наконец заставить ее работать. Даже тогда обновление единой библиотеки было коварной территорией.

Docker - это фантастический ресурс, который «контейнеризует» вашу программную среду. Это позволяет вам создать полную и независимую файловую систему, которая запускает программное обеспечение, без каких-либо изменений системного уровня на главном компьютере. Это также удобно, потому что вы можете поделиться «образом» Docker с кем-то еще, и они могут запустить контейнер на своем локальном компьютере, не тратя на это бремени настройки своей системы в соответствии с вашей собственной. Фактически, вы можете использовать контейнер для запуска всей операционной системы, которая отличается от операционной системы на хосте.

Шаги по установке Docker

Следуйте официальным инструкциям, чтобы установить Docker. Обратите внимание, что на шаге 6 Обновите источники APT я использовал следующую команду:

echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list

Установите рекомендуемые пакеты в разделе «Требования к версии Ubuntu».

Как только вы дойдете до заголовка Установить определенную версию, можете останавливаться. Я рекомендую сделать еще один шаг, чтобы настроить Docker как пользователя без полномочий root, чтобы вам не приходилось вводить команду sudo при запуске Docker.

Установка подключаемого модуля NVIDIA Docker

NVIDIA Docker - это плагин, который позволяет Docker более надежно использовать графические процессоры NVIDIA. Установите NVIDIA Docker, следуя инструкциям по распространению Ubuntu. Обратите внимание: если вы используете оболочку Fish, вам нужно переключиться на оболочку Bash, набрав bash перед тем, как начать процесс установки NVIDIA Docker.

Знакомство с Docker

Страница Docker предлагает подробное руководство для изучения того, как использовать Docker. Рекомендую пройти через это. Я также настоятельно рекомендую изучить этот другой учебник, который посвящен науке о данных и содержит несколько полезных советов.

Поздравляю! Теперь вы готовы погрузиться в глубокое обучение с помощью нейронной передачи стиля! Часть 3: Использование глубокого обучения с передачей стиля.

Это живой документ, который может быть изменен. Если вы обнаружите неточности или оставите комментарии, ответьте ниже!