Установите Tensorflow-GPU на WSL2

Кто-нибудь успешно установил Tensorflow-GPU на WSL2 с графическими процессорами NVIDIA? У меня Ubuntu 18.04 на WSL2, но мне не удается установить драйверы NVIDIA. Любая помощь будет оценена по достоинству, так как я потерялся.


person A. Hendry    schedule 01.09.2020    source источник
comment
Вы следовали этому руководству? docs.nvidia.com/cuda/wsl-user- guide / index.html # running-dlfw.   -  person Fariborz Ghavamian    schedule 02.09.2020
comment
@FariborzGhavamian Да, я сделал. У меня есть NVIDIA Titan V, подключенный к Dell Precision 7540 через eGPU Razor Core X Chroma с использованием Thunderbolt3. Карта обнаруживается Tensorflow 2.3 в Windows, но Docker в Ubuntu-18.04 LTS сообщает, что не может найти графический процессор.   -  person A. Hendry    schedule 02.09.2020


Ответы (3)


Так что я только что запустил это.

Действия, которые вам необходимо выполнить, приведены здесь. Резюмируя их:

  1. Подпишитесь на инсайдерскую программу Windows и получите разрабатываемые сборки Windows, чтобы у вас была последняя версия
  2. Установить wsl 2
  3. Установите Ubuntu из магазина Windows
  4. Установите драйвер wsl 2 cuda в windows
  5. Установить cuda toolkit
  6. Установите cudnn (вы можете загрузить версию для Linux из Windows, а затем скопировать файл в Linux)
  7. Если вы получаете ошибки памяти, такие как «не удается выделить память», вам может потребоваться увеличить объем памяти, который может получить wsl.
  8. Затем установите tensorflow-gpu
  9. молитесь, чтобы это сработало

ошибки, которые я обнаружил по пути:

  • Если при первом запуске 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
    1. 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 минут. Я просто собираюсь использовать двойную загрузку.

person Ben    schedule 08.01.2021
comment
Связанные инструкции ошибочны, а также неадекватны. Например, чтобы убедиться, что вы работаете под WSL2, они говорят: запустите дистрибутив Linux и убедитесь, что он работает в режиме WSL 2, используя следующую команду: wsl.exe --list -v command - person user3673; 07.03.2021

Я могу подтвердить, что могу заставить это работать без необходимости в 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?

person A. Hendry    schedule 03.09.2020
comment
Статья не на английском - person asaf92; 17.12.2020
comment
@ asaf92 Мне не нужно было понимать мандарин, чтобы следовать инструкциям (я умел читать между строк). Однако при необходимости вы можете воспользоваться переводчиком Google. Этот метод работал у меня в то время, когда я писал этот ответ. - person A. Hendry; 22.05.2021

Это шаги, которые я должен был выполнить для 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, поскольку он есть. . . там как-то.

person user2415706    schedule 28.04.2021