Кто-нибудь успешно установил Tensorflow-GPU на WSL2 с графическими процессорами NVIDIA? У меня Ubuntu 18.04 на WSL2, но мне не удается установить драйверы NVIDIA. Любая помощь будет оценена по достоинству, так как я потерялся.
Установите Tensorflow-GPU на WSL2
Ответы (3)
Так что я только что запустил это.
Действия, которые вам необходимо выполнить, приведены здесь. Резюмируя их:
- Подпишитесь на инсайдерскую программу Windows и получите разрабатываемые сборки Windows, чтобы у вас была последняя версия
- Установить wsl 2
- Установите Ubuntu из магазина Windows
- Установите драйвер wsl 2 cuda в windows
- Установить cuda toolkit
- Установите cudnn (вы можете загрузить версию для Linux из Windows, а затем скопировать файл в Linux)
- Если вы получаете ошибки памяти, такие как «не удается выделить память», вам может потребоваться увеличить объем памяти, который может получить wsl.
- Затем установите tensorflow-gpu
- молитесь, чтобы это сработало
ошибки, которые я обнаружил по пути:
- Если при первом запуске ubuntu вы получаете сообщение об ошибке, вам необходимо включить вирутализацию в BIOS.
- Если вы не можете запустить пример ./Blackscholes в инструкциях по установке, возможно, у вас нет правильной сборки Windows! У вас должна быть правильная версия
- if you are getting 'cannot allocate memory' errors when running tf you need to give wsl more ram. It only access half your ram by default
- create a .wslconfig file under your user directory in windows with the amount of memory you want. Mine looks like:
[wsl2]
memory=16GB
Редактировать после запуска кода
Это намного медленнее, чем когда я работал напрямую с Windows. Я перешел с 1 минуты на эпоху до 5 минут. Я просто собираюсь использовать двойную загрузку.
Я могу подтвердить, что могу заставить это работать без необходимости в Docker на WSL2, благодаря следующей статье:
https://qiita.com/Navier/items/cf551908bae707db4258
Обязательно обновите драйвер до версии 460.15
, а не до 455.41
, как указано в документации CUDA.
Обратите внимание, это не работает с картой в режиме TCC (только WDDM). Кроме того, не забудьте разместить файлы в файловой системе Linux (т. Е. Не на монтируемом диске, например /mnt/c/
). Производительность файловой системы Linux значительно выше (это связано с разницей в реализации WSL 1 и WSL 2; см. 1, 2 и 3).
ПРИМЕЧАНИЕ. См. также Является ли генератор классов (наследующий Sequence) потокобезопасным в Keras / Tensorflow?
Это шаги, которые я должен был выполнить для Ubuntu 20.04. Я больше не на канале разработчиков, бета-канал отлично подходит для этого варианта использования и намного более стабилен.
Установить WSL2
Установите Ubuntu 20.04 из Магазина Windows
Установите драйверы Nvidia для Windows со страницы: https://developer.nvidia.com/cuda/wsl/download
Установите nvcc внутри WSL с помощью: sudo apt install nvidia-cuda-toolkit
Убедитесь, что он там есть: nvcc --version
В моем случае я занимаюсь наукой о данных и уже установил анаконду. Я создал среду с:
conda create --name tensorflow
conda install tensorflow-gpu
Затем просто протестируйте его с помощью этой маленькой программы на Python с активированной средой:
import tensorflow as tf
tf.config.list_physical_devices('GPU')
sys_details = tf.sysconfig.get_build_info()
cuda = sys_details["cuda_version"]
cudnn = sys_details["cudnn_version"]
print(cuda, cudnn)
По непонятным мне причинам моя машина не смогла найти графический процессор без установки nvcc и фактически выдала сообщение об ошибке, в котором говорилось, что она не может найти nvcc.
Я нашел онлайн-руководства, в которых вы загружали CUDA и CUDNN по отдельности, но я думаю, что NVCC включает CUDNN, поскольку он есть. . . там как-то.