Вот не ностальгия это, а "вьетнамские флешбеки". Почти весь день пришлось разбираться с убунтой и настраивать тензорфлоу.
Но под конец все таки смог прикрутить то что нужно.
Опущу пока проблемы самой Ubuntu (вот Вы знали что у последней убунты есть проблема если она стоит на SSD? И что попытка убунты загрузиться случается быстрее чем видеоадаптер загрузиться?) приведу пока команды для установки tensorflow + GPU
0) Всегда смотри таблицу совместимости. Для tensorflow это СВЕРХВАЖНО!
1) Драйвера.
Принцип "Ставь последние стабильные" тут не работает, просто потому что версия CUDA тут 12.4 (версия драйверов 550) а tensorflow не умеет работать с этой версией. Драйвера 545 из средствами убунты ставится отказались ругаясь на несовместимость версий. А с 530 проблема в библиотеках tensorflow, на попытку установить tensorflow==2.15 (согласно совместимости) упорно выдавал ошибку
Внезапно, нашел подсказку как установить правильные драйверы на страницы установки CUDA Toolkit 12.3 (А именно эта версия нужна для работы с CUDA 12.3)
Как итог - совместимые драйвера установлены.
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
чтобы в результате увидеть
Сейчас это кажется уже простым. Но чтобы в этом разобраться пришлось потратить день. Да, естественно я не сидел неотрывно, но сам факт.