深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境

文章目录

  • 原创声明
  • 前言
  • 一、WSL 2 安装 Ubuntu
  • 二、安装终端软件(可选,但推荐)
  • 三、安装 Nvidia-WSL 驱动
  • 四、Ubuntu 安装 CUDA-WSL 专属驱动
  • 五、安装 miniconda 并测试
  • 六、使用 Pycharm 连接并测试
  • 附录
    • 附录一、其他版本的 CUDA 和 cudnn 安装及其环境变量
        • 其他版本的 CUDA 和 cudnn 的安装
        • cudnn 环境变量配置
    • 附录二、安装 torch2trt
  • 总结
  • 授权须知


原创声明

本文为 HinGwenWoong 原创,如果这篇文章对您有帮助,欢迎转载,转载请阅读文末的【授权须知】,感谢您对 HinGwenWoong 文章的认可!


前言

我们在开发深度学习项目的时候,经常出现对 Linux 友好但是对 Windows 不是完全支持的情况,但是装双系统之后,文件不能共享,这就比较烦恼;如果使用虚拟机,读取不了显卡也比较头痛。

值得兴奋的是,Win10 现在出了 WSL,就是 Windows 下的子系统,将 Linux 生态也并进来了,使用 WSL 可以快速搭建一个 Linux 子系统并且完美运行 cuda,一个字:爽!

下面就一起来搭建吧!

我是 HinGwenWoong,一个有着清晰目标不停奋斗的程序猿,热爱技术,喜欢分享,码字不易,如果帮到您,请帮我在屏幕下方点赞 ,您的点赞可以让技术传播得更远更广,谢谢!


一、WSL 2 安装 Ubuntu

  1. 启用适用于 LinuxWindows 子系统,以管理员身份打开 PowerShell,然后输入以下命令:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
  2. 启用虚拟机功能
    安装 WSL 2 之前,必须启用【虚拟机平台】的功能,因为计算机需要虚拟化功能才能使用此功能。
    以管理员身份打开 PowerShell 并运行:

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    

    执行之后,重新启动计算机,以完成 WSL 的安装并更新到 WSL 2

  3. WSL 2 设置为默认版本:
    打开 PowerShell,然后运行以下命令,将 WSL 2 设置为默认版本:

    wsl --set-default-version 2
    
  4. 使用 Windows 商店安装 Ubuntu:商店传送门
    在上方搜索:Ubuntu,会出现多个版本,选择你需要的版本,这里选择 18.04
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第1张图片

  5. 安装完成后,可以在开始菜单栏看到 Ubuntu
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第2张图片

  6. 第一次需要手动启动,初始化用户名、密码那些

  7. 使用命令检查下内核版本号,推荐 5.10.16.3 以及之后的版本

    uname -r
    

    在这里插入图片描述

  8. 如果版本太低,使用命令进行升级

    wsl.exe --update
    
  9. 更换 Ubuntu 的镜像源为阿里,打开 /etc/apt/sources.list,在开头加上:

    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    
  10. 终端输入 sudo apt-get update 更新镜像源

二、安装终端软件(可选,但推荐)

强烈建议安装 Windows Terminal ,超级好用,Windows 商店传送门

深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第3张图片
使用这个界面就舒服很多了,而且可以切换不同的子系统
深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第4张图片

三、安装 Nvidia-WSL 驱动

  1. 去到官方下载地址下载安装包:
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第5张图片

  2. 选择对应的显卡系列下载安装包
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第6张图片

  3. 执行下载好的 .exe 文件就可以了

  4. 重启电脑

四、Ubuntu 安装 CUDA-WSL 专属驱动

  1. 去到官方下载地址获取安装命令:
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第7张图片

  2. 在 Ubuntu 子系统中,跟着给出的命令,一套带走:

    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/11.5.1/local_installers/cuda-repo-wsl-ubuntu-11-5-local_11.5.1-1_amd64.deb
    sudo dpkg -i cuda-repo-wsl-ubuntu-11-5-local_11.5.1-1_amd64.deb
    sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-5-local/7fa2af80.pub
    sudo apt-get update
    sudo apt-get -y install cuda
    

    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第8张图片

  3. 将 cuda 加入环境变量

    vim ~/.bashrc
    

    加入以下内容:(前提是 CUDA 安装在默认位置)

    # cuda
    export CUDA_HOME=/usr/local/cuda
    export PATH=${CUDA_HOME}/bin:$PATH
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CUDA_HOME}/lib64
    

    修改之后,保存退出,更新下就行

    source ~/.bashrc
    
  4. 使用 nvcc 命令可以看到 CUDA 信息

    nvcc -V
    

    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第9张图片

  5. 使用官方的例子进行测试

    cd ${CUDA_HOME}/samples/4_Finance/BlackScholes
    ./BlackScholes
    

可能出现的错误:

  • 安装完之后,使用官方例子出现错误
    CUDA error at ../../common/inc/helper_cuda.h:779 code=35(cudaErrorInsufficientDriver) "cudaGetDeviceCount(&device_count)"

  • 升级系统!!!! 我升级到 21H2 就可以了

  • 升级完之后去执行
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第10张图片

  • 成功!

五、安装 miniconda 并测试

  1. 使用清华镜像站进行下载,命令:

    wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh
    
  2. 安装开始填写 yes
    在这里插入图片描述

  3. 安装路径,建议是默认
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第11张图片

  4. 安装的最后会询问是否初始化,填写 yes
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第12张图片

  5. 完成!
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第13张图片

  6. 进行 conda 初始化

    conda init
    
  7. 检查 conda 的环境变量:

    vim ~/.bashrc
    

    看到以下信息即可视为成功:

    # >>> conda initialize >>>
    # !! Contents within this block are managed by 'conda init' !!
    __conda_setup="$(<conda 安装路径>/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
    if [ $? -eq 0 ]; then
        eval "$__conda_setup"
    else
        if [ -f "/etc/profile.d/conda.sh" ]; then
            . "/etc/profile.d/conda.sh"
        else
            export PATH="/bin:$PATH"
        fi
    fi
    unset __conda_setup
    # <<< conda initialize <<<
    
  8. 切换 Conda 镜像源:
    可以参考我的一篇文章:Conda 下载慢? 一招帮你解决!

  9. 使用 pytorch 测试能否正常调用 CUDA,如果显示为 TRUE 则为成功!
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第14张图片

六、使用 Pycharm 连接并测试

  1. 在 Python 解释器加入 WSL
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第15张图片
  2. 在下方 Python 控制台 测试,显示 True 即为成功!
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第16张图片

至此,已全部完成,下面是配置 cudnntorch2trt 的环境,如果不需要则跳过

附录

附录一、其他版本的 CUDA 和 cudnn 安装及其环境变量

其他版本的 CUDA 和 cudnn 的安装

  • 这里使用 conda 安装
    conda install cudatoolkit=XX.XX.XX
    conda install cudnn
    

cudnn 环境变量配置

  • 在导入 TensorRT 的时候出现一直找不到:ImportError: libcudnn.so.8: cannot open shared object file: No such file or directory
    在这里插入图片描述
  • 使用命令 sudo find / -name libcudnn.so.8 寻找 cudnn 的安装路径:
    在这里插入图片描述
  • ~/.bashrc 中加入:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/hingwenwoong/miniconda3/pkgs/cudnn-8.2.1-cuda11.3_0/lib
    
    在这里插入图片描述
  • 更新下 source ~/.bashrc,再次测试:
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第17张图片
  • 成功!

附录二、安装 torch2trt

  • 安装显示缺少头文件
    在这里插入图片描述

  • 编辑 setup.py,把 setup.py 里面的 trt_inc_dirtrt_lib_dir 分别改为你的 trtincludelib 目录,就可以 `sudo 安装了:
    深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境_第18张图片

总结

以上就是使用 PyCharm+WSL2+CUDA搭建Windows开发环境 的方法了,感谢您看到这里,希望能够帮助你快速搭建 windows 开发环境

参考文章:

  • [1] Windows WSL 官方教程
  • [2] linux下anoconda 安装tensorflow(解决import出错问题:libcudnn.so.6:cannot open sharedobject file: No such file…

更多阅读推荐
  • Pycharm | 一文掌握 Pycharm 中的 Git 操作 ( 超详细)
  • 深度学习实战 | 智慧工地安全帽和危险区域检测系统(代码已开源!)
  • 深度学习OCR | 文字识别网络 CRNN 论文翻译
  • 深度学习 | TensorFlow 2.x 和 1.x 限制显存(超详细)

授权须知

  1. 原创文章在推送一天后才可进行转载
  2. 转载文章,禁止声明原创
  3. 不允许直接二次转载,转载请根据原文链接联系作者
  4. 若无需改版,在文首清楚标注作者及来源/原文链接,并删除【原创声明】,即可直接转载。
    但对于未注明转载来源/原文链接的文章,我将保留追述的权利。

    作者:HinGwenWoong
    一个有着清晰目标不停奋斗的程序猿,热爱技术,喜欢分享,共同进步!
    CSDN: HinGwenWoong
    原文链接:深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境

  5. 若需要修改文章的排版,请根据原文链接联系作者
  6. 再次感谢您的认可,转载请遵守如上转载须知!

你可能感兴趣的:(深度学习,深度学习,pycharm,ubuntu,人工智能,python)