Давайте исследуем мир глубокого обучения на первом примере задачи MNIST. Здесь мы выбираем фреймворк MXNET для запуска.
Окружающая обстановка
ОС: Убунту 14.04
ЦП: Intel i7–3770
Графический процессор: Nvidia GeForce GT 640
Диск: 1 ТБ Сата
Оперативная память: 16 ГБ
Установленные инструменты
sudo apt-get update sudo apt-get install -y build-essential git libblas-dev libopencv-dev
Установите инструментарий CUDA
Скачайте Инструментарий CUDA:
Затем установите CUDA из файла .deb.
sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb sudo apt-get update sudo apt-get install cuda
Поскольку в набор инструментов CUDA входит драйвер Nvidia, мы можем проверить корректность командой nvidia-smi:
Если версия драйвера не совпадает, следуйте инструкциям в следующем разделе, чтобы установить драйвер Nvidia вручную.
Вручную установить драйвер Nvidia (опция)
Сначала нам нужно выбрать соответствующую версию драйвера Nvidia, здесь наша библиотека — nvidia-375.
Нажмите ctrl + alt + F1, чтобы войти в терминал tty1, затем временно отключите X-сервер:
sudo service lightdm stop
Загрузите и установите драйвер nvidia (зависит от вашего оборудования)
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-375
Перезапустите X-сервер
sudo service lightdm restart
Загрузите и скомпилируйте MXNET
Загрузите MXNET и скопируйте config.mk в корень проекта:
git clone --recursive https://github.com/dmlc/mxnet cd mxnet cp make/config.mk .
Отредактируйте config.mk следующим образом, обратите внимание, что /usr/local/cuda может выглядеть как /usr/local/cuda-7.5:
USE_CUDA = 1 USE_CUDA_PATH = /usr/local/cuda
Затем скомпилируйте MXNET:
make -j4
Поскольку мы хотим запустить образец MNIST с помощью python, мы можем установить mxnet как локальную библиотеку с помощью
cd python python setup.py install
Запустить пример MNIST
Запустите версию по умолчанию (ЦП) примера MNIST:
cd example/image-classification python train_mnist.py
Мы можем найти, что задержка для одной эпохи составляет 3,197 секунды при работе процессора.
Теперь давайте попробуем с GPU с ядром-0:
cd example/image-classification python train_mnist.py --gpus=0
Вы можете обнаружить, что потребление времени немного уменьшилось.