Найти тему
Когда скучно SDET`у

Ubuntu 22.04 + TensorFlow 2.16 + cudnn 8

Вот не ностальгия это, а "вьетнамские флешбеки". Почти весь день пришлось разбираться с убунтой и настраивать тензорфлоу.

Но под конец все таки смог прикрутить то что нужно.

Опущу пока проблемы самой Ubuntu (вот Вы знали что у последней убунты есть проблема если она стоит на SSD? И что попытка убунты загрузиться случается быстрее чем видеоадаптер загрузиться?) приведу пока команды для установки tensorflow + GPU

0) Всегда смотри таблицу совместимости. Для tensorflow это СВЕРХВАЖНО!

Build from source  |  TensorFlow

1) Драйвера.

Принцип "Ставь последние стабильные" тут не работает, просто потому что версия CUDA тут 12.4 (версия драйверов 550) а tensorflow не умеет работать с этой версией. Драйвера 545 из средствами убунты ставится отказались ругаясь на несовместимость версий. А с 530 проблема в библиотеках tensorflow, на попытку установить tensorflow==2.15 (согласно совместимости) упорно выдавал ошибку

Внезапно, нашел подсказку как установить правильные драйверы на страницы установки CUDA Toolkit 12.3 (А именно эта версия нужна для работы с CUDA 12.3)

-2

Как итог - совместимые драйвера установлены.

2) CUDA Toolkit 12.3

Тут проблем не было. Заходим на страницу https://developer.nvidia.com/cuda-toolkit выбираем нужную версию, прокликиваем нужные параметры, выполняем приведенные команды

3) cudnn

Для работы с CUDA 12.3 нужна версия 8.х но, почему-то nvidia не стала делать аналог удобной установки аналогично тулкиту а просто все завернула в отдельный .deb файл. Как итог стало чуть замороченнее и непрозрачнее. Ладно, пофиг.

Заходим на страницу архива https://developer.nvidia.com/rdp/cudnn-archive скачиваем нужную версию и устанавливаем. В принципе, он устанавливается из самой убунты, но можно и командой

sudo dpkg -i /path/to/deb/file

3.1) На вкусное. Судя по всему не все библиотеки он устанавливает или все, но не туда. Во всяком случае пока я не доустановил 3 библиотеки - работать у меня отказывалось.

sudo apt update
sudo apt install libcudnn8
sudo apt install libcudnn8-dev
sudo apt install libcudnn8-samples

4) Теперь можно спокойно ставить tensorflow

pip install tensorflow[and-cuda]==2.16.1

чтобы в результате увидеть

-3

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