WSL2 安装 Tensorflow
假设我们要安装新版的TensorFlow,但自从2.10版本后就不再支持Windows端的GPU加速了,所以最好的解决办法是使用WSL2。
目标:在WSL2上安装TensorFlow 2.19.0 并配置GPU加速
安装 WSL2
这个很简单
安装显卡驱动
这个也很简单
版本确认
参考TensorFlow官网中不同版本所需的Python、Cuda、CuDNN的版本要求。这里有一个巨坑,需要把语言调成英语才能看完整,中文情况下资料更新非常慢
因此,确认需要安装的版本为Python 3.12,CUDA 12.5, cuDNN 9.3
安装miniconda
参考官网教程:Installing Miniconda - Anaconda
安装完成后,如果不想自动进入base环境,可以使用:
conda config --set auto_activate_base false
创建并进入虚拟环境:
conda create -n tf python==3.12
conda activate tf
安装CUDA
官网:CUDA Toolkit 12.8 Update 1 Downloads | NVIDIA Developer
注意:不要直接安装最新版的,需要看清楚版本安装
这里点击 Archive of Previous CUDA Releases
找到我们需要的版本
依次选择,可以看到安装的命令:
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.5.0/local_installers/cuda-repo-wsl-ubuntu-12-5-local_12.5.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-5-local_12.5.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-5-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
依次执行安装即可
如何判断是否安装好?在命令行使用 nvcc -V,如果能查看到版本就说明安装好了
如果遇到这种情况:
更新一下配置就好了:
nano ~/.bashrc
在末尾添加两行:
export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin
然后更新配置:
source ~/.bashrc
就可以使用nvcc -V来查看版本了
可以看到,这里成功安装了 CUDA 12.5
安装cuDNN
官网:cuDNN 9.8.0 Downloads | NVIDIA Developer
同样,点击以前的版本:
依次选择自己的系统版本,按照命令来安装即可
注意,最后一行 sudo apt-get -y install cudnn 需要选择自己的cuda对应的版本。例如,我这里实际安装命令为:
wget https://developer.download.nvidia.com/compute/cudnn/9.3.0/local_installers/cudnn-local-repo-ubuntu2204-9.3.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2204-9.3.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2204-9.3.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn-cuda-12
安装TensorFlow
使用下面的命令安装(保证在虚拟环境下):
pip install tensorflow[and-cuda]
验证
通过下面命令验证是否安装成功:
python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
如果能出现GPU就说明安装成功
后续
可以使用vscode连接到WSL2进行开发