Tensorflow, настройка видеокарты NVIDIA

11.02.2020

Подробная инструкция по настройке видеокарты для обучения моделей TensorFlow на локальной машине находится на официальном сайте библиотеки.

Теоретически все просто. Для полноценного использования видеокарты нужно установить следующие библиотеки от NVIDIA:

  1. драйверы видеокарты;
  2. CUDA;
  3. cuDNN;
  4. TensorRT.

Однако в случае использования Debian 10 есть несколько нюансов.

Прежде всего необходимо сверится со списком поддерживаемых версий CUDA и cuDNN с используемой версией Tensorflow.
Для избежания проблем рекомендуется использовать совместимые версии.

Очень внимательно нужно посмотреть на поддерживаемые версии Python. Потому как, например, Tensorflow 2.0 не поддерживает Python 3.8. А в процессе установки TensorRT нужно будет устанавливать python-пакеты, которые имеют жесткие ограничения на версию интерпретатора.

Установка CUDA

На официальном сайте предлагается сразу 4 способа установки библиотеки для Ubuntu, но у автора адекватно заработал только вариант с run-файлом.

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

После установки необходимо будет прописать пути к бинарникам CUDA в переменную окружения PATH (автор использовал для этого файл ~/.profile) и к библиотекам в LD_LIBRARY_PATH (~/.bashrc). Конкретные значения для этих переменных будут отображены на финальном экране при установке.

cuDNN

Установился из скачанного с сайта NVIDIA .deb-пакета.

TensorRT

На сайте Tensorflow написано, что установка является опциональной. Однако без этого пакета Tensorflow при каждом использовании будет выдавать предупреждения об отсутствующих библиотеках, входящих в состав TensorRT.

Обращайте внимание на совместимость версий TensorRT и CUDA.

Успешно установился только из .tar.gz-пакета.

После распаковки содержит директорию doc в которой можно найти подробные инструкции по установке.

Кроме прочего будет необходимо установить несколько python-пакетов. Рекомендуется устанавливать их глобально. Иначе придется повторять процедуру их установки для каждого виртуального окружения.

Переменные окружения

Для установки LD_LIBRARY_PATH автором был использован ~/.bashrc. В конец нужно добавить следующую строку (для Tensorflow 2.1):

export LD_LIBRARY_PATH="/usr/local/cuda-10.1/lib64:$HOME/projects/nvidia/tensorrt/lib:$LD_LIBRARY_PATH"

Для установки путей к бинарникам CUDA в конец ~/.profile нужно добавить:

PATH="/usr/local/cuda-10.1/bin:$PATH"