TensorFlow GPU不可用,WSL2安装

这个帖子写给23年刚买电脑、系统是win11,tensorflow版本是2.10以上的兄弟们。不符合的可以去看其他答案了。

这是以我三天来的安装经历来写的,希望能给后来的兄弟们减少时间的浪费。

win11,安装的tensorflow的版本都是2.12的,但是从2.10开始tensorflow就不支持gpu了,这点在英文版的安装页面里有

TensorFlow GPU不可用,WSL2安装_第1张图片

而中文版是没有这个提示的,估计也是很多人试了很多遍,检查了很多次环境变量都解决不了为什么就是不能调用gpu的原因。此时我们只能通过wsl2的方式来安装了,这是在windows里运行了一个虚拟机环境

TensorFlow GPU不可用,WSL2安装_第2张图片

 想要去官网看的点链接,记得改成英文

不想去的可以接着看,我一步步记录。

1、安装WSL

进到https://learn.microsoft.com/zh-cn/windows/wsl/install安装WSL2,

TensorFlow GPU不可用,WSL2安装_第3张图片

wsl --install

显示这个就是安装完成,此时重启电脑。

好了,重启完我们继续。

提示:上述命令默认安装ubuntu,不想用的可以按照下面图片里的进行更改

TensorFlow GPU不可用,WSL2安装_第4张图片

 2、设置 Linux 用户信息

安装了linux,就开始设置

官方给了链接:https://learn.microsoft.com/zh-cn/windows/wsl/setup/environment#set-up-your-linux-username-and-password

可以WIN+S搜ubuntu,也可以在安装应用里找到

TensorFlow GPU不可用,WSL2安装_第5张图片

 进入显示

TensorFlow GPU不可用,WSL2安装_第6张图片

官网这样说:

TensorFlow GPU不可用,WSL2安装_第7张图片

根据提示,输入passwd,进行密码设置,输入时不会显示,

TensorFlow GPU不可用,WSL2安装_第8张图片

 接下来升级更新

TensorFlow GPU不可用,WSL2安装_第9张图片

 3、设置 Windows Terminal

TensorFlow GPU不可用,WSL2安装_第10张图片

win+s输入cmd打开终端

边上有个向下的箭头,打开,点设置,然后在启动里的默认终端应用程序选择windows终端

TensorFlow GPU不可用,WSL2安装_第11张图片

 也不知道设置这啥用,先设置吧

4、检查正在运行的WSL版本

TensorFlow GPU不可用,WSL2安装_第12张图片

 输入:

wsl -l -v

显示:

TensorFlow GPU不可用,WSL2安装_第13张图片

 这里就WSL安装完成了

5、英伟达CUDA相关安装

官网链接:

NVIDIA GPU Accelerated Computing on WSL 2

TensorFlow GPU不可用,WSL2安装_第14张图片

这里我们直接开始安装

TensorFlow GPU不可用,WSL2安装_第15张图片 进入:Official Drivers | NVIDIA

 TensorFlow GPU不可用,WSL2安装_第16张图片

CUDA这里大家应该都安装过了,没有安装的,就点链接进去安装就好了

TensorFlow GPU不可用,WSL2安装_第17张图片 这里我们已经安装过了。

 注意:CUDA是安装win11的,但工具包也就是CUDA Toolkit要安装linux的,

TensorFlow GPU不可用,WSL2安装_第18张图片

sudo apt-key del 7fa2af80

这行代码应该是之前安装过Linux的,我输入没有结果,报了个warning

我就没管,继续下一步,下载Ubuntu-WSL专属的工具包

 链接:CUDA Toolkit 12.1 Downloads | NVIDIA Developer

 TensorFlow GPU不可用,WSL2安装_第19张图片

进去就选好了

TensorFlow GPU不可用,WSL2安装_第20张图片 下载代码,一步步来吧。

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

 (1)cmd进入终端,输入wsl.exe,进入Linux

输入:

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin

TensorFlow GPU不可用,WSL2安装_第21张图片

(2) 输入

sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb

等待下载完成

TensorFlow GPU不可用,WSL2安装_第22张图片

输入

sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb

TensorFlow GPU不可用,WSL2安装_第23张图片

输入

sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update

 TensorFlow GPU不可用,WSL2安装_第24张图片

输入

sudo apt-get -y install cuda

一大堆下载安装

TensorFlow GPU不可用,WSL2安装_第25张图片

 到这里CUDA工具包就安装好了。

TensorFlow GPU不可用,WSL2安装_第26张图片

这里是说没有用WSL-Ubuntu软件包安装Toolkit 的要参考的。

6、安装Miniconda

TensorFlow GPU不可用,WSL2安装_第27张图片

 我们接着上面的继续在ubuntu里输入

curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -o Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

TensorFlow GPU不可用,WSL2安装_第28张图片

可能需要重新启动终端或 source ~/.bashrc 以启用 conda 命令。 使用conda -V 测试是否安装成功。

7、创建conda环境

TensorFlow GPU不可用,WSL2安装_第29张图片

 在刚才进的conda环境输入

conda create --name tf python=3.9

又开始下载安装一堆东西

TensorFlow GPU不可用,WSL2安装_第30张图片

 按照提示,我们输入

conda activate tf

来激活刚才创建的tf环境,接下来的东西要在环境激活的条件下才能完成。

8、设置GPU

TensorFlow GPU不可用,WSL2安装_第31张图片

 激活环境,并查看是否安装了GPU驱动

conda activate tf
nvidia-smi

TensorFlow GPU不可用,WSL2安装_第32张图片

 这里又安装了一下cudatoolkit,不知道为啥,不管了,安吧

conda install -c conda-forge cudatoolkit=11.8.0

得,上一次的下载安装又来一次

TensorFlow GPU不可用,WSL2安装_第33张图片

接着安装cudnn,pip安装换个源吧,快一点,我习惯用豆瓣源了,也可以换其他源pycharm通过pip下载一直不成功的解决方法_pycharm包下载不了_坠星不坠的博客-CSDN博客

pip install nvidia-cudnn-cu11==8.6.0.163 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

TensorFlow GPU不可用,WSL2安装_第34张图片

安装完之后是配置环境

CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib

上面这个每进一次就要配置一次,接下来是自动配置,下面两句是一行,不要复制成两行了

mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

9、安装 TensorFlow

注意:不要使用 conda 安装 TensorFlow。 它可能没有最新的稳定版本。 推荐使用 pip,因为 TensorFlow 仅正式发布到 PyPI。

TensorFlow GPU不可用,WSL2安装_第35张图片

所以接下来安装tensorflow就用cmd就行了,也是换个源吧

pip install --upgrade pip
pip install tensorflow==2.12.0

10、验证是否成功

TensorFlow GPU不可用,WSL2安装_第36张图片

 验证cpu

python3 -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

验证gpu

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

显示,gpu显示空,我估计是失败了,继续找为什么。


问题解决,可以用GPU了!!!

又用了两个小时找各种方法试,怀疑是自己流程没对,也重新装了几个docker环境,到装第三个的时候发现有一步错了,装tensorflow的时候是在conda环境里装,教程说的是不要用conda命令,我理解成不要在conda环境里了,换成在conda环境里装就好了。

还是用上面的验证方法。

TensorFlow GPU不可用,WSL2安装_第37张图片

 


附带其他博主安装教程

在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)、pytorch_conda安装cuda_溯水襄陵_的博客-CSDN博客

你可能感兴趣的:(tensorflow,python,深度学习)