在 WSL2 上安装 Tensorflow-GPU
Install Tensorflow-GPU on WSL2
有没有人在使用 NVIDIA GPU 的 WSL2 上成功安装 Tensorflow-GPU?我在 WSL2 上有 Ubuntu 18.04,但我正在努力安装 NVIDIA 驱动程序。任何帮助将不胜感激,因为我迷路了。
由于以下文章,我可以确认我能够在 WSL2 上无需 Docker 即可完成此工作:
https://qiita.com/Navier/items/cf551908bae707db4258
确保更新到驱动程序版本 460.15
,而不是 CUDA 文档中列出的 455.41
。
请注意,这不适用于 TCC 模式下的卡(仅限 WDDM)。另外,请务必将文件放在 Linux 文件系统上(即不要放在安装驱动器上,如 /mnt/c/
)。 Linux 文件系统上的性能明显更快(这与 WSL 1 与 WSL 2 的实施差异有关;参见 1, 2, and 3)。
注意: 另见
所以我刚得到这个 运行ning。
您需要执行的步骤是 here。总结一下:
- 注册 windows 内部程序并获取 windows 的开发版本,以便您拥有最新版本
- 安装 wsl 2
- 从 windows 商店安装 Ubuntu
- 在 windows
上安装 wsl 2 cuda 驱动程序
- 安装cuda工具包
- 安装cudnn(可以从windows下载linux版本,然后复制文件到linux)
- 如果您遇到类似 'cannot allocate memory' 的内存错误,那么您可能需要增加 wsl 可以获得的内存量
- 然后安装tensorflow-gpu
- 祈祷它有效
我遇到的错误:
- 如果您第一次打开ubuntu时遇到错误,您需要在 bios 中启用虚拟化
- 如果您不能 运行 安装说明中的 ./Blackscholes 示例,您可能没有正确的 windows 版本!你必须有正确的版本
- 如果在 运行ning tf 时出现 'cannot allocate memory' 错误,您需要给 wsl 更多内存。默认情况下它只能访问一半的内存
- 在 windows 中的用户目录下创建一个 .wslconfig 文件,其中包含您想要的内存量。我的看起来像:
[wsl2]
memory=16GB
在 运行 一些代码后编辑
这比我 运行 直接在 windows 上要慢得多。我从每个纪元 1 分钟变成了 5 分钟。我只是要双启动。
这些是我在 Ubuntu 20.04 中必须遵循的步骤。我不再使用开发频道,测试版频道适用于此用例并且更加稳定。
安装 WSL2
从 Windows 商店安装 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,因为它是 . . .不知何故。
我只是想指出,使用anaconda安装cudatoolkit和cudnn似乎在wsl中不起作用。
也许路径有问题,导致 TF 只在系统路径而不是 conda 环境中查找需要的文件。
有没有人在使用 NVIDIA GPU 的 WSL2 上成功安装 Tensorflow-GPU?我在 WSL2 上有 Ubuntu 18.04,但我正在努力安装 NVIDIA 驱动程序。任何帮助将不胜感激,因为我迷路了。
由于以下文章,我可以确认我能够在 WSL2 上无需 Docker 即可完成此工作:
https://qiita.com/Navier/items/cf551908bae707db4258
确保更新到驱动程序版本 460.15
,而不是 CUDA 文档中列出的 455.41
。
请注意,这不适用于 TCC 模式下的卡(仅限 WDDM)。另外,请务必将文件放在 Linux 文件系统上(即不要放在安装驱动器上,如 /mnt/c/
)。 Linux 文件系统上的性能明显更快(这与 WSL 1 与 WSL 2 的实施差异有关;参见 1, 2, and 3)。
注意: 另见
所以我刚得到这个 运行ning。
您需要执行的步骤是 here。总结一下:
- 注册 windows 内部程序并获取 windows 的开发版本,以便您拥有最新版本
- 安装 wsl 2
- 从 windows 商店安装 Ubuntu
- 在 windows 上安装 wsl 2 cuda 驱动程序
- 安装cuda工具包
- 安装cudnn(可以从windows下载linux版本,然后复制文件到linux)
- 如果您遇到类似 'cannot allocate memory' 的内存错误,那么您可能需要增加 wsl 可以获得的内存量
- 然后安装tensorflow-gpu
- 祈祷它有效
我遇到的错误:
- 如果您第一次打开ubuntu时遇到错误,您需要在 bios 中启用虚拟化
- 如果您不能 运行 安装说明中的 ./Blackscholes 示例,您可能没有正确的 windows 版本!你必须有正确的版本
- 如果在 运行ning tf 时出现 'cannot allocate memory' 错误,您需要给 wsl 更多内存。默认情况下它只能访问一半的内存
- 在 windows 中的用户目录下创建一个 .wslconfig 文件,其中包含您想要的内存量。我的看起来像:
[wsl2]
memory=16GB
在 运行 一些代码后编辑
这比我 运行 直接在 windows 上要慢得多。我从每个纪元 1 分钟变成了 5 分钟。我只是要双启动。
这些是我在 Ubuntu 20.04 中必须遵循的步骤。我不再使用开发频道,测试版频道适用于此用例并且更加稳定。
安装 WSL2
从 Windows 商店安装 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,因为它是 . . .不知何故。
我只是想指出,使用anaconda安装cudatoolkit和cudnn似乎在wsl中不起作用。
也许路径有问题,导致 TF 只在系统路径而不是 conda 环境中查找需要的文件。