Установка Tensorflow и PyTorch GPU для видеокарт Nvidia для Ubuntu
Чтобы ускорить обучения нейронных сетей их надо делать на видеокартах. CUDA — это технология от Nvidia, которая позволяет программировать вычисления на видеокартах Nvidia.
Воспользутесь инструкцией, если вам нужно установить драйвер Nvidia в LXC или докер контейнер .
Установка драйверов Nvidia
Убедитесь, что у вас установлена видеокарта Nvidia:
_x000D_nvidia-smiДля системы Ubuntu с видеокартой Nvidia нужно поставить драйвер. На момент написания данного поста последний драйвер 525.147.05.
Установите ядро:
_x000D_aptitude update_x000D_aptitude install linux-generic linux-headers-generic linux-image-genericУстановите драйвер Nvidia:
_x000D_aptitude install nvidia-driver-535 linux-modules-nvidia-535-genericДля ядра hwe
_x000D_apt-get install linux-generic-hwe-22.04 linux-headers-generic-hwe-22.04 linux-tools-generic-hwe-22.04_x000D_apt-get install linux-modules-nvidia-535-generic-hwe-22.04Удалите старый ключ от Nvidia репозитория, если он у вас был подключен до этого:
_x000D_apt-key del 7fa2af80Подключите репозиторий Nvidia:
_x000D_wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin -O "/etc/apt/preferences.d/cuda-repository-pin-600"_x000D_echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /" > /etc/apt/sources.list.d/nvidia.listУстановите новый ключ от Nvidia репозитория:
_x000D_apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pubУстановите CUDA 11:
_x000D_aptitude update_x000D_aptitude install cuda-cudart-11-7 libcublas-11-7 libcufft-11-7 libcufile-11-7 libcurand-11-7 libcusolver-11-7 libcusparse-11-7 libcudnn8 cuda-cufft-10-2Можете также установить полный пакет CUDA:
_x000D_aptitude install cuda-11-7Установка PyTorch
Установка:
_x000D_pip3 install torch torchvision torchaudio numpy matplotlib_x000D_Проверьте доступность GPU в PyTorch:
_x000D_python3 -c "import torch; print(torch.cuda.is_available())"Установка Tensorflow
Для начала, установите основные библиотеки Tensorflow GPU, Keras, Numpy, Matplotlib. В командой строке введите команды:
_x000D_pip3 install tensorflow-gpu tensorflow_probability tensorflow_addons_x000D_pip3 install keras_x000D_pip3 install numpy_x000D_pip3 install matplotlibПроверьте версию Tensorflow:
_x000D_python3.8 -c "import tensorflow as tf; print(tf.__version__)"Проверьте список драйверов:
_x000D_python3.8 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"_x000D_Если без ошибок библиотека выдала список графических процессоров, значит все установилось корректно.
В начале вашей программы на python для Tensorflow должны быть следующие строки:
_x000D_import os, sys_x000D__x000D_# Устанавливает переменные окружения_x000D_#os.environ["TF_GPU_ALLOCATOR"]="cuda_malloc_async"_x000D_os.environ["TF_CPP_VMODULE"]="gpu_process_state=10,gpu_cudamallocasync_allocator=10"_x000D__x000D_import tensorflow as tf_x000D__x000D_# Устанавливает размер памяти GPU в Мбайт_x000D_gpu_memory_limit = 1024_x000D_gpus = tf.config.list_physical_devices('GPU')_x000D_tf.config.experimental.set_memory_growth(gpus[0], True)_x000D_tf.config.experimental.set_virtual_device_configuration(_x000D_ gpus[0],_x000D_ [tf.config.experimental.VirtualDeviceConfiguration(memory_limit=gpu_memory_limit)])_x000D_logical_gpus = tf.config.experimental.list_logical_devices('GPU')И при обучении нейронной сети ставьте batch_size не более 128. При большом batch_size потребляется много видеопамяти, и выходят ошибки, о том что CUDA не может выделить память. CUDA_ERROR_OUT_OF_MEMORY
Установка Tensorflow на CPU
Если вы хотите установить нейронную сеть на CPU, то выполните команды:
_x000D_pip3 uninstall tensorflow-gpu_x000D_pip3 install tensorflow-cpu tensorflow_probability tensorflow_addonsЭто полезно, если вы используете Tensorflow JS, а пишите нейронную сеть на PyTorch.