TensorFlow GPU不可用,WSL2安装

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

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

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

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

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

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

1、安装WSL

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

wsl --install

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

好了,重启完我们继续。

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

 2、设置 Linux 用户信息

安装了linux,就开始设置

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

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

 进入显示

官网这样说:

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

 接下来升级更新

 3、设置 Windows Terminal

win+s输入cmd打开终端

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

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

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

 输入:

wsl -l -v

显示:

 这里就WSL安装完成了

5、英伟达CUDA相关安装

官网链接:

NVIDIA GPU Accelerated Computing on WSL 2

这里我们直接开始安装

 进入:Official Drivers | NVIDIA

 

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

 这里我们已经安装过了。

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

sudo apt-key del 7fa2af80

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

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

 链接:CUDA Toolkit 12.1 Downloads | NVIDIA Developer

 

进去就选好了

 下载代码,一步步来吧。

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

(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

等待下载完成

输入

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

一大堆下载安装

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

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

6、安装Miniconda

 我们接着上面的继续在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

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

7、创建conda环境

 在刚才进的conda环境输入

conda create --name tf python=3.9

又开始下载安装一堆东西

 按照提示,我们输入

conda activate tf

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

8、设置GPU

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

conda activate tf
nvidia-smi

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

conda install -c conda-forge cudatoolkit=11.8.0

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

接着安装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

安装完之后是配置环境

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就用cmd就行了,也是换个源吧

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

10、验证是否成功

 验证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环境里装就好了。

还是用上面的验证方法。

 


附带其他博主安装教程

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

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
WSL2是Windows Subsystem for Linux的第二代版本,它允许在Windows操作系统上运行Linux发行版。CUDA是NVIDIA提供的用于并行计算的平台和编程模型。在WSL2安装CUDA可以让你在Windows系统上使用GPU进行深度学习等计算密集型任务。 要在WSL2安装CUDA,需要按照以下步骤进行操作: 1. 首先,确保你已经安装WSL2并且已经配置好了Linux发行版。你可以在Microsoft Store中下载和安装适用于WSL2的Linux发行版,如Ubuntu。 2. 在WSL2中打开终端,并更新系统的软件包列表,可以使用以下命令: ``` sudo apt update ``` 3. 安装必要的依赖库和工具,可以使用以下命令: ``` sudo apt install build-essential ``` 4. 下载并安装NVIDIA驱动程序。你可以从NVIDIA官方网站下载适用于你的GPU型号的Linux驱动程序,并按照官方文档的指导进行安装。 5. 下载并安装CUDA Toolkit。你可以从NVIDIA官方网站下载适用于你的GPU型号的CUDA Toolkit,并按照官方文档的指导进行安装。 6. 配置环境变量。打开你的Linux发行版的配置文件(如`~/.bashrc`或`~/.zshrc`),添加以下行: ``` export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH ``` 7. 保存配置文件并执行以下命令使其生效: ``` source ~/.bashrc ``` 现在,你已经成功在WSL2安装了CUDA。你可以编写并运行CUDA程序,使用GPU进行计算密集型任务。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值