Всем привет,

Этот учебник является продолжением моей предыдущей статьи, обратите внимание.



Это написано при условии, что у вас есть голая машина с доступным графическим процессором, не стесняйтесь пропустить некоторые части, если они были частично предварительно настроены, также я предполагаю, что у вас есть карта NVIDIA, и мы рассмотрим настройку TensorFlow только в это руководство, являющееся самым популярным фреймворком глубокого обучения (Престижность Google!)

Установка драйверов CUDA

CUDA - это платформа параллельных вычислений от NVIDIA и необходимое условие для TensorFlow. Но, как мы поймем позже, на самом деле лучше начать обратный путь, поэтому вернемся к этой части позже.

Установка TensorFlow

Запустите свой терминал (или, возможно, SSH, если удаленная машина). Найдите версию TensorFlow, которая вам нужна для вашего конкретного приложения (если есть), или, если такого ограничения нет, просто выберите TensorFlow 1.8.0, который я использую в настоящее время.

pip install tensorflow-gpu == 1.8.0

Дайте ему установить. Теперь перейдите в оболочку Python, запустив,

питон

В оболочке Python введите:

импортировать тензорный поток как tf

На данный момент, поскольку мы не установили CUDA, вы должны увидеть ошибку, подобную этой:

ImportError: libcublas.so.9.0: невозможно открыть файл общих объектов: нет такого файла или каталога

9.0 и имя файла может быть другим, в зависимости от выбранной вами версии TensorFlow. Но весь смысл обратного пути состоял в том, чтобы узнать, какая версия CUDA нам нужна, в данном случае это 9.0. В официальной документации нет четкого определения соответствия версии TF и ​​версии CUDA, поэтому я всегда находил этот метод обратного проектирования лучше.

Вернемся к установке CUDA.

Использовать

выход()

для выхода из оболочки Python.

Установка драйверов CUDA (на этот раз мы действительно это сделаем, обещаю)

Итак, перейдите к https://developer.nvidia.com/cuda-toolkit-archive. Выберите версию, которую вы только что определили выше.

Linux- ›x86_64-› Ubuntu- ›16.04 (или 17.04) -› deb (сеть)

Загрузите deb на свой компьютер и следуйте инструкциям на странице NVIDIA для установки CUDA. Как только это будет завершено, давайте проверим, все ли прошло хорошо.

Вернувшись, снова откройте оболочку Python и,

импортировать тензорный поток как tf

Итак, мы еще не закончили, теперь вы должны увидеть немного другое сообщение об ошибке. (если вы видите то же, что и раньше, см. «Устранение неполадок» ниже)

ImportError: libcudnn.so.7: невозможно открыть файл общих объектов: нет такого файла или каталога

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

Перейдите на https://developer.nvidia.com/cudnn и зарегистрируйте учетную запись (это бесплатно). После создания учетной записи войдите в систему и перейдите на страницу https://developer.nvidia.com/rdp/cudnn-archive.

Выберите необходимую версию cuDNN, а также убедитесь, что для той версии CUDA вы выбрали эту версию. В этом случае нам нужно,

Загрузить cuDNN v7.0.5 (5 декабря 2017 г.) для CUDA 9.0

и в раскрывающемся списке выберите,

Библиотека cuDNN v7.0.5 для Linux

Файл tgz начнет загрузку, переместите его на свой компьютер, распакуйте его, используя

tar -xzvf ‹CUDNN_TAR_FILENAME›

Папка «cuda» будет извлечена, перейдите в этот каталог и выполните оба эти действия,

sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/

И мы закончили (надеюсь). Снова запустите оболочку Python, и вы знаете, что делать.

Если на этот раз ошибка не возникнет, все в порядке.

Чтобы убедиться, что TensorFlow обнаруживает графический процессор, запустите его в той же оболочке Python.

tf.test.gpu_device_name ()

Он должен распечатать все доступные вам графические процессоры. Это может не работать в более старых версиях TF, в таком случае попробуйте вместо этого на своем терминале:

nvidia-smi

Исправление проблем

Если вы все сделали правильно, но TensorFlow по-прежнему выдает ту же ошибку, хотя nvidia-smi работает, вероятно, проблема связана с переменными пути среды. Выполните их, чтобы исправить:

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
export PATH=/usr/local/cuda/lib64:${PATH}

Если даже команда nvidia-smi не работает, значит, CUDA не был установлен должным образом, начните заново, если вы что-то пропустили.

Сообщите мне о любых проблемах, предложениях или критике.

Ваше здоровье.

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