Краткое руководство по установке TensorFlow GPU и его необходимых пакетов

Также опубликовано на https://afagarap.works/2020/07/26/installing-tf-gpu-ubuntu2004.html

Когда Ubuntu публикует выпуск с долгосрочной поддержкой (LTS), я обычно немного жду перед обновлением, главным образом потому, что я жду поддержки CUDA и cuDNN для нового выпуска. На этот раз мне потребовалось всего три месяца, чтобы перейти с Ubuntu 18.04 на Ubuntu 20.04 - ну, технически это дистрибутив на основе Ubuntu, то есть Regolith Linux. Мое решение сделать это было просто потому, что я обновил свой SSD со 120 ГБ до 1 ТБ, и поэтому я также перешел на другую ОС - хотя и просто производную от Ubuntu.

Как я и ожидал, мне потребовалось время, чтобы разобраться в моей новой системе. К счастью, я нашел несколько полезных ответов в Интернете, и теперь я расширяю их ответы, добавляя еще немного пояснений. Итак, этот пост фактически основан на ответах, данных meetnick и singrium в этом родственном вопросе, размещенном в Спроси Ubuntu.

Установку TensorFlow GPU в Ubuntu 20.04 можно резюмировать в следующих пунктах:

  • Установите CUDA 10.1, установив nvidia-cuda-toolkit.
  • Установите версию cuDNN, совместимую с CUDA 10.1.
  • Экспорт переменных среды CUDA.
  • Установите TensorFlow 2.0 с поддержкой графического процессора.

Установка CUDA 10.1

Во-первых, убедитесь, что вы используете проприетарный драйвер NVIDIA, перейдя в Дополнительные драйверы, а затем выбрав соответствующий драйвер, например, для CUDA 10.1 требуемая версия драйвера ≥ 418.39. Мы используем проприетарную версию вместо открытой, поскольку CUDA может работать только с проприетарным драйвером.

Мы устанавливаем CUDA 10.1, потому что это версия, совместимая с TensorFlow GPU.

На момент написания этой статьи не было доступного CUDA 10.1 для Ubuntu 20.04, но, как указывает Митник в упомянутой публикации Ask Ubuntu, при установке nvidia-cuda-toolkit также устанавливается CUDA 10.1.

Для большей полноты не пытайтесь использовать 18.10 или 18.04 CUDA 10.1 для Ubuntu 20.04. Я узнал это на собственном горьком опыте, лол!

Итак, вы можете установить CUDA 10.1 в Ubuntu 20.04, запустив,

$ sudo apt install nvidia-cuda-toolkit

После установки CUDA 10.1 запустите nvcc -V. Затем вы получите вывод, аналогичный приведенному ниже, чтобы проверить, была ли установка успешна.

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

В отличие от Ubuntu 18.04 (откуда я был), CUDA устанавливается в 20.04 по другому пути, то есть /usr/lib/cuda, что вы можете проверить, запустив,

$ whereis cuda
cuda: /usr/lib/cuda /usr/include/cuda.h

В Ubuntu 18.04, как вы, возможно, знаете, CUDA устанавливается в /usr/local/cuda или /usr/local/cuda-10.1.

Установка cuDNN

После установки CUDA 10.1 вы можете установить cuDNN 7.6.5, скачав его по этой ссылке. Затем выберите Загрузить cuDNN, и вам будет предложено войти в систему или создать учетную запись NVIDIA. После входа в систему и принятия условий лицензионного соглашения на программное обеспечение cuDNN вы увидите список доступного программного обеспечения cuDNN.

Нажмите «Загрузить cuDNN v7.6.5 (5 ноября 2019 г.) для CUDA 10.1», затем выберите «Библиотека cuDNN для Linux», чтобы загрузить cuDNN 7.6.5 для CUDA 10.1. После загрузки cuDNN извлеките файлы, запустив,

$ tar -xvzf cudnn-10.1-linux-x64-v7.6.5.32.tgz

Затем скопируйте извлеченные файлы в папку установки CUDA,

$ sudo cp cuda/include/cudnn.h /usr/lib/cuda/include/
$ sudo cp cuda/lib64/libcudnn* /usr/lib/cuda/lib64/

Установите права доступа к файлу cuDNN,

$ sudo chmod a+r /usr/lib/cuda/include/cudnn.h /usr/lib/cuda/lib64/libcudnn*

Экспорт переменных среды CUDA

Переменные среды CUDA необходимы TensorFlow для поддержки графического процессора. Чтобы установить их, нам нужно добавить их в ~/.bashrc файл, запустив,

$ echo 'export LD_LIBRARY_PATH=/usr/lib/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=/usr/lib/cuda/include:$LD_LIBRARY_PATH' >> ~/.bashrc

Загрузите экспортированные переменные среды, запустив,

$ source ~/.bashrc

Установка TensorFlow 2.0

После установки необходимых пакетов вы, наконец, можете установить TensorFlow 2.0,

$ pip install tensorflow==2.2.0

Пакет tensorflow теперь включает поддержку графического процессора по умолчанию, в отличие от прежних времен, когда нам нужно было устанавливать tensorflow-gpu специально.

Убедитесь, что TensorFlow может обнаружить ваш графический процессор, запустив,

>>> import tensorflow as tf
>>> tf.config.list_physical_devices("GPU")
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

Если все прошло гладко, у вас должен быть аналогичный результат.

Теперь вы можете наслаждаться использованием TensorFlow для своих проектов глубокого обучения! Ура!

Если вы ищете проект TensorFlow для работы, возможно, вам понравится мой блог Реализация автоэнкодера в TensorFlow 2.0!

Кроме того, если вам понравилась эта статья, возможно, вам понравятся и другие мои блоги!