Windows通过WSL安装Ubuntu以及深度学习配置

一、Windows上装Ubuntu

三种方式:

  • 虚拟机如VM-WARE、VITRUAL-BOX-->不稳定,使用gpu不方便
  • 双系统-->分配内存,与windows界面分离,只能单独使用linux
  • WSL(Windows Subsystem for Linux)--->适用于Linux的windows子系统
    • 同时使用windows与linux
    • 还可以在linux中使用windows上的gpu
    • 可以很方便的分配在一个合适的硬盘内存中,不需要借助其他软件进行分配

本文选择WSL来装Ubuntu

安装

目前win11安装很方便,最简单的方式为下面一个命令

  • 打开win上的PowerShell 或 Windows 命令提示符,方法是右键单击并选择“以管理员身份运行”,输入:
    wsl --install
    

此命令将启用运行 WSL 并安装 Linux 的 Ubuntu 发行版所需的功能。注意:

  • 上述命令仅在完全未安装 WSL 时才有效
  • 会将ubuntu安装在默认的c盘里面,后续的所有操作都会存在c盘中占用系统内存
  • 将WSL2设置为默认值,WSL1是老版本的,新的windows现在基本上都是WSL2

安装成功后会在开始程序上拥有一个Ubuntu的程序,双击打开后会进入ubuntu的终端,编辑用户名和隐藏的密码

不建议使用默认安装,如果想要安装在win上其他盘中,并选定对应版本的linux,需要进行以下操作,比较推荐

  • 如果你此前通过以上方式或其他方式安装了ubuntu,想要卸载重新安装,则注销代码如下:
    wsl --unregister Ubuntu
    

上述代码的“Ubuntu”为你安装的Ubuntu名称,例如安装了Ubuntu 20.04,就进行替换即可。

  • 查看Ubuntu发行版本,选择你想安装的Ubuntu版本,wsl.exe也可以写成wsl

    wsl.exe --list --online
    
  • 比如选择安装Ubunru-20.04进行安装

    wsl.exe --install Ubuntu-20.04
    
  • 注意上述安装在c盘,我们对其导出打包为tar文件,将其放在E盘的一个文件夹下

    wsl --export Ubuntu-20.04 e:\wsl-ubuntu20.04.tar
    
  • 接下来注销原来c盘的Ubuntu20.04,并解压包文件安装在e盘

    wsl --unregister Ubuntu-20.04  # 注销
    wsl --import Ubuntu-20.04 e:\wsl-ubuntu20.04 e:\wsl-ubuntu20.04.tar --version 2
    
  • 设置默认登陆用户名

    ubuntu2004 config --default-user "your name"
    
  • 登录ubuntu20.04,设置密码

    wsl.exe --user root  # 以root权限登录ubuntu
    passwd root          # 进入ubuntu命令终端后,输入passwd root修改密码
    

至此,ubuntu安装完毕,接下来是一些ubuntu上的使用操作了,安装完成后会在windows上呈现出如下形式,代表安装成功

二、安装anaconda配置深度学习环境

2.1 安装anaconda

选择清华源下载:Index of /,这里我们本地windows下载好了anaconda,将其复制到ubuntu 20.04 home文件夹的用户下,我的在新建的downloads文件夹下,即Anaconda3-2023.09-0-Linux-x86_64.sh:

  • 安装命令:

    sh Anaconda3-2023.09-0-Linux-x86_64.sh
    
  • 一直点击enter键但注意,不要后面不要太快,要求你是否接受他的license,要填yes,如果没在这里停顿一直enter下去,会因为no而没有安装成功,安装成功后,需要添加系统路径,否则不能使用conda命令

    vim ~/.bashrc     # 修改配置文件,添加anaconda系统路径
    export PATH=$PATH:/home/用户名/anaconda3/bin  # 这里的路径根据你的anaconda位置进行设置
    

填写完毕后按esc,进入命令模式再按:wq进行保存,退出进入ubuntu命令终端,输入:

source ~/.bashrc

此时重启ubuntu后,就会在ubuntu命令左边出现base,则anaconda安装和配置成功

换源

  • ubuntu apt安装换源

    sudo vim /etc/apt/source.list
    # 添加以下内容并保存
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    # 更新源:
    sudo apt-get update
    
  • pip换源

    pip install pip -U
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    
  • conda换源

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
    conda config --set show_channel_urls yes
    

2.2 pytorch环境深度学习配置

如果windows上有nvidia gpu就可以直接进行pytorch的gpu安装

  • 输入nvidia-smi查看是否有

  • anaconda创建pytorch新环境, python版本根据自己的来

    conda create -n pytorch python=3.9 
    
  • 安装成功后激活

    conda activate pytorch
    
  • 去该网址下与自己cuda、python版本对应的torch、torchvision与torchaudio,注意cuda向下兼容

    注意到三者的版本必须兼容,需要在pytorch github对应的网址上去查看版本对应,这里我们直接下载cu15对应的三个whl文件

  • 然后通过pip安装

    pip install torch-1.11.0+cu115-cp39-cp39-linux_x86_64.whl
    pip install torchaudio-0.11.0+cu115-cp39-cp39-linux_x86_64.whl
    pip install torchvision-0.12.0+cu115-cp39-cp39-linux_x86_64.whl
    

nvcc与cudann的安装本文不做介绍,后续只需要在ubuntu上进行安装即可

三、Vscode与Pycharm连接WSL的Ubuntu

  • Vscode

安装SSH后,只需要点击Vscode左下方的远程连接符号,并点解本地WSL进行连接即可自动连接Ubuntu

  • Pycharm

只需要按照之前windows一样创建项目,比如选择文件夹时,选择Ubuntu对应的项目文件夹(因为Ubuntu是子系统所以可以直接选择),然后点击设置里的项目选择ubuntu里的python环境解释器即可

四、WSL-ubuntu安装CUDA、CUDNN

系统环境

  • GPU-->RTX3070-->8G
  • Nvidia-Driver-->511.81
  • CUDA-->11.6
  • anaconda environment name: pytorch
  • python 3.9
  • pytorch-->1.11.0+cu115

安装依赖:gcc、g++, cmake

sudo apt install gcc g++ cmake make -y

安装CUDA

英伟达提供的WSL安装CUDA网址:https://docs.nvidia.com/cuda/wsl-user-guide/index.html

安装CUDA Toolkit for wsl

首先,运行如下命令:(一定要运行否则会报错)

sudo apt-key del 7fa2af80

必须选择WSL-Ubuntu不能单独安装ubuntu的

安装网址:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local

选择版本后会出现安装命令依次执行

安装成功后会在ubunu /usr/loacl文件下出现关于你安装的cuda版本的文件夹(没安装之前是没有的,这个cuda版本与你的nvidia-smi显示的cuda版本是一致,可以认为,它默认是根据你windows上的cuda版本进行配置的

  • /usr/local/cuda/bin/目录下存放着CUDA相关的二进制工具程序,如CUDA编译器nvcc。下面我们会将这个目录加入系统PATH变量中。
  • /usr/local/cuda/include/目录下存放着CUDA库的头文件。如果将来在编译CUDA相关代码时报错找不到头文件,那需要手动指定在该目录下搜索头文件。
  • /usr/local/cuda/lib64/目录下存放着CUDA的工具库,下面我们会将其加入GCC库搜寻目录变量LD_LIBRARY_PATH中。
  • 此外,/usr/lib/wsl/lib/目录下还存放着libcuda.so等库,下面我们会将其加入GCC库搜寻目录变量LD_LIBRARY_PATH中

添加系统环境变量

sudo touch /etc/profile.d/cuda.sh
echo'export PATH=/usr/local/cuda/bin/:$PATH' | sudo tee -a /etc/profile.d/cuda.sh
echo'export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:/usr/lib/wsl/lib/:$LD_LIBRARY_PATH' | sudo tee -a /etc/profile.d/cuda.sh

此时关闭ubuntu终端重新打开输入nvcc -V,显示如下信息表示安装成功

安装CuDNN

若需要卸载cuda,运行如下命令

sudo apt remove cuda-版本号(如cuda-11-6)
sudo rm -f /etc/profile.d/cuda.sh # 删除cuda相关环境变量

安装不同的cuda

  • 从头安装cuda版本工具包
  • sudo update-alternatives --query cuda # 查找当前系统所有的cuda包
  • sudo update-alternatives --config cuda # 设置当前系统默认使用的cuda包

明确需要安装的cudnn的版本号

下载网址:https://developer.nvidia.com/rdp/cudnn-download

  • deb:下载ubuntu20.04对应cuda11.x的cudnn deb文件
  • cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb
  • 安装: sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb
  • 报错后按要求执行sudo cp /var/cudnn-local-repo-ubuntu2004-8.9.7.29/cudnn-local-CD2C2DD4-keyring.gpg /usr/share/keyrings/
  • 再执行sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb
  • 安装完成后执行:sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrin
  • 更新apt源:sudo apt update
  • 查看cuDNN安装包仓库中包含的cuDNN深度学习库有哪些版本:sudo apt list libcudnn*

  • libcudnn8包主要包含cuDNN的动态库(.so文件),不包含头文件与静态库(.a文件)。如果你只需要动态链接cuDNN,安装这个包就够了。
  • libcudnn8-dev包主要包含cuDNN的动态库、头文件和静态库。如果你需要用到cuDNN的头文件,或需要动态/静态链接到cuDNN,那请使用这个包。
  • libcudnn8-samples包只包含cuDNN的示例代码和文档,不包含任何cuDNN库。只安装这个包是无法使用cuDNN的。

安装libcudnn8-dev与libcudnn8-samples包:

sudo apt install libcudnn8-dev libcudnn8-samples

简单地检查一下cuDNN的动态库文件是否安装到位:

readelf -d /usr/lib/x86_64-linux-gnu/libcudnn.so | grep SONAME

以上就是wsl Ubuntu 的cuda与cudnn的安装教程,亲测可行

  • 19
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值