登录你的windows账户并升级windows至预览版本,(过程可能需要1-2个小时)
升级完成后,验证内部版本是否低于20150 ,如果还低说明选错了升级渠道,一定要选择Dev 渠道,最新渠道,获取最新的版本
https://developer.nvidia.com/cuda/wsl
需要登录nvidia账号才能下载,登录账号后下载适合自己的nvidia版本
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启电脑
wsl --set-default-version 2
提示"WSL 2 需要更新其内核组件”。下载并安装 WSL2 Llinx内核
管理员PowerShell
wsl --list --verbose
只要这个版本是2说明wsl2安装成功。(只有2才可以调用GPU)
确保WSL2的linux内核为4.19.121+
下面代码一行一行执行
sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
先安装cuda
apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list' apt-get update
根据自己的显卡驱动安装对应cuda版本
apt-get install -y cuda-toolkit-11-0
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list
sudo apt-get update sudo apt-get install -y nvidia-docker2
sudo service docker stop sudo service docker start
创建一个tensorflow容器
docker run --runtime=nvidia --rm -it --name tensorflow-1.14.0 tensorflow/tensorflow:1.14.0-gpu-py3
不出意外就会报错,因为现最新版的 nvidia-docker有BUG
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: Running hook #1:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: driver error: failed to process request: unknown.
对部分包进行降级
apt-get install nvidia-docker2:amd64=2.5.0-1 \ libnvidia-container-tools:amd64=1.3.3-1 \ nvidia-container-runtime:amd64=3.4.2-1 \ libnvidia-container1:amd64=1.3.3-1 \ nvidia-container-toolkit:amd64=1.4.2-1
再次运行容器
docker run --runtime=nvidia --rm -it --name tensorflow-1.14.0 tensorflow/tensorflow:1.14.0-gpu-py3
测试GPU是否可用
python import tensorflow as tf print(tf.test.is_gpu_available())
https://blog.csdn.net/SUNbrightness/article/details/116797665
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
https://docs.nvidia.com/cuda/wsl-user-guide/index.html#running-cuda
https://github.com/NVIDIA/nvidia-docker/issues/1496
https://docs.docker.com/engine/install/ubuntu/