В моей предыдущей статье я шаг за шагом объяснил, как настроить среду глубокого обучения на AWS. Одним из важных шагов была установка CUDA toolkit и cuDNN. Однако этот шаг потребовал много времени. В этой статье я буду использовать docker, в частности nvidia-docker, вместо этого, чтобы упростить процесс установки и, следовательно, ускорить процесс установки.
Мы будем использовать тот же экземпляр Amazon EC2 GPU, что и в прошлый раз:
- Изображение: ami-b03ffedf (Ubuntu Server 16.04 LTS (HVM), тип тома SSD)
- Регион: eu-central-1 (ЕС Франкфурт)
- Тип экземпляра: g2.2xlarge
- Хранилище: 30 ГБ (рекомендуется не менее 20+ ГБ)
1. Создайте новый экземпляр EC2 GPU.
2. Обновите драйверы NVIDIA и установите docker + nvidia-docker
Драйвер NVIDIA
Обновите графический драйвер:
$ sudo add-apt-repository ppa:graphics-drivers/ppa -y
$ sudo apt-get update
$ sudo apt-get install -y nvidia-375 nvidia-settings nvidia-modprobe
Докер
Установите Docker Community Edition (дополнительную информацию об установке см. В официальном руководстве):
$curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - #
Verify that the key fingerprint is9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 $
sudo apt-key fingerprint 0EBFCD88 $sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
$ sudo apt-get update $sudo apt-get install -y docker-ce
NVIDIA-Docker
Установите nvidia-docker и его плагин:
$ wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb $ sudo dpkg -i /tmp/nvidia-docker_1.0.1-1_amd64.deb && rm /tmp/nvidia-docker_1.0.1-1_amd64.deb
3. Проверьте свою среду:
Теперь мы можем использовать nvidia-docker, чтобы проверить, все ли работает должным образом:
$ sudo nvidia-docker run --rm nvidia/cuda nvidia-smi
Примечание. Если вы запустите команду в первый раз, она сначала загрузит изображение. Более того, если вы не хотите работать от имени sudo
, вам необходимо добавить пользователя EC2 в группу докеров sudo usermod -a -G docker ubuntu
(подробности см. В Руководстве по AWS).
Вот результат, который вы должны увидеть:
Теперь вы можете использовать официальный образ докера TensorFlow или образ Theano, чтобы быстро запустить среду глубокого обучения, или вы можете написать свой собственный файл докера и отправить его в концентратор докеров.
Пример для TensorFlow:
Запустите последний контейнер TensorFlow в оболочке (для других вариантов, таких как запуск программ TensorFlow как записных книжек Jupyter, ознакомьтесь с официальным руководством TensorFlow):
$ sudo nvidia-docker run -it tensorflow/tensorflow:latest-gpu bash
Запустите простой пример на Python, чтобы убедиться, что TensorFlow правильно работает с поддержкой графического процессора:
import tensorflow as tf a = tf.constant(5, tf.float32) b = tf.constant(5, tf.float32) with tf.Session() as sess: sess.run(tf.add(a, b)) # output is 10
Это результат, которого вы должны ожидать:
Заключение
В этом сообщении в блоге я использовал докер для настройки среды глубокого обучения на AWS. Это значительно ускоряет процесс настройки. Это особенно полезно для тех, у кого дома нет собственных графических процессоров;)
Следуйте за мной в твиттере: @datitran