繁体   English   中英

在 WSL2 上安装 Tensorflow-GPU

[英]Install Tensorflow-GPU on WSL2

有没有人在使用 NVIDIA GPU 的 WSL2 上成功安装 Tensorflow-GPU? 我在 WSL2 上有 Ubuntu 18.04,但正在努力安装 NVIDIA 驱动程序。 任何帮助将不胜感激,因为我迷路了。

所以我刚刚开始运行。

您需要遵循的步骤在这里 总结一下:

  1. 注册windows insider program,获取windows的开发版本,让你拥有最新版本
  2. 安装 wsl 2
  3. 从 windows 商店安装 Ubuntu
  4. 在windows上安装wsl 2 cuda驱动
  5. 安装 cuda 工具包
  6. 安装cudnn(可以从windows下载linux版本,然后复制文件到linux)
  7. 如果您收到 memory 错误,例如“无法分配内存”,那么您可能需要增加 memory wsl 可以获得的数量
  8. 然后安装tensorflow-gpu
  9. 祈祷它有效

我一路上遇到的错误:

  • 如果您第一次打开 ubuntu 时出现错误,您需要在 bios 中启用虚拟化
  • 如果您无法运行安装说明中的 ./Blackscholes 示例,您可能没有正确构建的 Windows! 你必须有正确的版本
  • 如果在运行 tf 时出现“无法分配内存”错误,则需要为 wsl 提供更多内存。 默认情况下它只能访问一半的内存
    1. 在你windows的用户目录下创建一个.wslconfig文件,里面有你想要的memory的数量。 我的看起来像:
[wsl2]
memory=16GB 

运行一些代码后编辑

这比我直接在 windows 上运行时要慢得多。 我从每个纪元 1 分钟变成了 5 分钟。 我只是要双启动。

这些是我为 Ubuntu 20.04 必须遵循的步骤。 我不再使用开发频道,测试版频道适用于此用例并且更加稳定。

安装 WSL2

从 Windows Store 安装 Ubuntu 20.04

为 Windows 安装 Nvidia 驱动程序: https://developer.nvidia.com/cuda/wsl/download

使用以下命令在 WSL 内部安装 nvcc: sudo apt install nvidia-cuda-toolkit

检查它是否在那里: nvcc --version

对于我的用例,我从事数据科学工作,并且已经安装了 anaconda。 我创建了一个环境:

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 的情况下无法找到 GPU 并且实际上给出了一条错误消息说它找不到 nvcc。

我发现在线教程让您分别下载 CUDA 和 CUDNN,但我认为 NVCC 包含 CUDNN,因为它是。 . . 不知何故。

由于以下文章,我可以确认我能够在 WSL2 上无需 Docker 即可完成此工作:

https://qiita.com/Navier/items/cf551908bae707db4258

请务必更新到驱动程序版本460.15 ,而不是455.41文档中列出的 455.41。

请注意,这不适用于 TCC 模式下的卡(仅限 WDDM)。 另外,请务必将您的文件放在 Linux 文件系统上(即不要放在挂载驱动器上,例如/mnt/c/ )。 Linux 文件系统的性能明显更快(这与 WSL 1 与 WSL 2 的实施差异有关;参见123 )。

注意:另见Is the class generator (inheriting Sequence) thread safe in Keras/Tensorflow?

我只想指出,使用 anaconda 安装 cudatoolkit 和 cudnn 在 wsl 中似乎不起作用。

也许路径存在一些问题,使 TF 仅在系统路径而不是 conda 环境中查找所需的文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM