配置深度学习环境一般有3种方式:
- 直接安装ubuntu系统,独立的系统,正规方式,但对于用windows系统的人来说不方便,尤其只有一台电脑,淡然也可以装双系统,但系统切换也麻烦。、
- 使用vmvare虚拟机等,系统相对独立,但配置cuda显卡麻烦,检测不到显卡,当然也有办法,估计费事一些,没再研究。使用虚拟机性能损耗大些。
- 在windows下使用wls2安装ubuntu,这种方法介于2者中间,使用相对方便,可以同时访问2个系统,linux下也可以访问windows下的盘符,文件。
本文介绍使用wsl2安装ubuntu部署深度学习环境的方法。
本人电脑Y9000P,RTX3060。
1.wls2安装
window11系统
为Linux启用子系统
打开控制面板,选择程序和功能,点击左侧启用或关闭Windows功能
或者使用win+R,输入optionalfeatures
勾选适用于linux的windows子系统和虚拟机平台
1.2 右键以管理员身份打开 PowerShell,输入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
1
运行后重启计算机
1.3下载更新包
下载地址:Linux内核更新包https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
直接运行安装即可
1.4 将 WSL 2 设置为默认版本
wsl --set-default-version 2
1.5 安装ubuntu
打开Microsoft Store,输入ubuntu,找到合适的版本安装即可
需要为 Linux 创建用户帐户和密码。
wls2迁移到D盘
wls2默认的安装位置为c盘,一般来说系统盘的容量通常来说是有限的,需要更改安装目录。
查看 WSL
wsl -l
导出Linux 系统镜像
wsl --export Ubuntu-20.04 d:\ubuntu20.04.tar
移除之前注册的 WSL
wsl --unregister Ubuntu-20.04
我们重新注册 WSL
wsl --import ubuntu d:\WSL\Ubuntu-20.04 d:\ubuntu20.04.tar
我们发现默认账号是 root,我们可以修改默认账号为我们自己的账号。运行如下代码
vim /etc/wsl.conf
添加
[user]
default=你自己的账号名称
3.深度学习环境搭建
1.安装Anaconda
.下载Anaconda
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
2.下载完成运行
sh Anaconda3-2024.02-1-Linux-x86_64.sh
2.安装cuda
1.运行nvidia-smi查看cuda版本
2.安装gcc
sudo apt-get install gcc
3.本文安装的cuda版本为12.1,cuda下载链接cuda12.1
https://developer.nvidia.com/cuda-12-1-1-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=runfile_local
开始电脑为12.3,本人也下载了12.3的cuda,但下边使用torch有问题,又改为12.1,最好版本不要太高,不然后边很麻烦。
Wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_545.23.08_linux.run
sudo sh cuda_12.1.1_545.23.08_linux.run1
https://developer.nvidia.com/cuda-toolkit-archive
4.添加环境变量
sudo vim ~/.bashrc
按insert进入编辑模式,在末尾将以下代码复制进去,然后按esc推出编辑模式,输入:wq保存并退出
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.1/lib64
export PATH=$PATH:/usr/local/cuda-12.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.1
5.输入source ~/.bashrc刷新环境变量,输入nvcc -V查看cuda是否已经安装成功
4.安装cudnn
1.cudnn下载链接cudnn
选择对应的cuda,下载Linux版本
2.cudnn文件复制到cuda中
在windows下下载后可以放到e盘等,自己记住
Windows下的盘符都在/mnt/目录下,linux去这里面找
cd /mnt
找到自己放的文件位置
sudo tar -xvf cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz
cd cudnn-linux-x86_64-8.9.6.50_cuda12-archive
sudo cp -r lib/* /usr/local/cuda-12.1/lib64/
sudo cp -r include/* /usr/local/cuda-12.1/include/
sudo chmod a+r /usr/local/cuda-12.1/lib64/libcudnn*
sudo chmod a+r /usr/local/cuda-12.1/include/cudnn*
5.pytorch安装
pip install torch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1 --index-url https://download.pytorch.org/whl/cu121
安装下载了好久,得有40分钟左右,第一次还出现失败了,因为自己的cuda是12.3版本,后又把12.3版本删掉,安装了12.1版本。注意cuda版本,windows下和ubuntu下可以不一样。
验证是否成功
5.window远程桌面连接
5.1 更换阿里云源
# 备份原来的软件源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 编辑软件源
sudo vim /etc/apt/sources.list
将源内容替换如下
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
先按esc推出编辑模式,再按:wq保存退出。
5.2 安装gnome桌面环境
# 更新软件源
sudo apt-get update -y
# 升级所有软件
sudo apt-get upgrade -y
# 安装gnome桌面环境
sudo apt-get install ubuntu-desktop
# 安装相关工具
sudo apt-get install gnome-tweak-tool
5.3 安装远程控制软件xrdp,对于不需要的来说可以省略这一步,这一步有时会出现不少问题
Ubuntu命令行中运行如下命令完成安装
# 安装xrdp远程控制服务
sudo apt-get install xrdp
#修改默认端口3389改为3390
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
#配置session,否则远程登陆时会闪退
echo "gnome-session" > ~/.xsession
#重启xrdp
sudo systemctl restart xrdp
查看xrdp状态,有绿色的running代表成功运行
#查看xrdp状态
sudo systemctl status xrdp
5. 4 windows远程连接ubuntu桌面
按住Windows+ R,在运行框中输入mstsc后按回车,使用windows自带的远程连接工具。
输入localhost:3390。
输入用户名和密码即可完成远程连接
其实大家用命令行比较多,不需要去远程桌面。后边涉及到配置远程的,不需要搞,我在加systemctl时遇到了一些问题,Windows系统下安装的分发版Ubuntu有的默认不支持systemctl命令,需要这里手动进行安装,这种就不要安装了,容易出错。新的wsl2中可以使用配置打开
# 开启systemd
sudo vim /etc/wsl.conf
# 在 wsl.conf 中写入以下内容,并保存退出
[boot]
systemd=true
- 切换到 PowerShell,关机 WSL 并重新启动
wsl --shutdown
这样再去# 重新启动xrdp服务
sudo systemctl restart xrdp
使用远程桌面去连接就可以localhost:3390