WSL安装ubuntu 20.02及深度学习环境配置
文章目录
前言
写这篇文章之前自己安装过两次环境,可能每次都会产生碰到同样的问题,为了搭建适合自己的虚拟环境保证每一步的正确性,按顺序记录一下
步骤一:安装wsl2
搜索输入“power”,找到Windows PowerShell之后以管理员身份运行。
在弹出的命令窗口中依次输入以下命令:
①下载并安装WSL:
wsl --install
安装后要求你重启生效,重启一次
②使用Windows的Deployment Image Servicing and Management (DISM)工具,启用Windows子系统(Linux)的功能。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
③启用虚拟机平台的功能。WSL2需要此功能。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
④将WSL的默认版本设置为2(Windows 11默认安装的为WSL2,不需要执行该命令,win10需要执行)
步骤二:安装ubuntu 20.02 LST
①我是从Microsoft 商店下载,也可以在powershell输入下列命令下载
Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx -OutFile Ubuntu20.04.appx -UseBasicParsing
②将当前目录下名为Ubuntu20.04.appx的文件重命名为Ubuntu.zip
Rename-Item .\Ubuntu20.04.appx Ubuntu.zip
③解压缩名为Ubuntu.zip的文件
Expand-Archive .\Ubuntu.zip -Verbose
④进入解压文件夹,运行exe程序文件
cd .\Ubuntu\
.\ubuntu2004.exe
安装ubuntu 20.02 设置用户名密码即可
步骤三:更新ubuntu 20.02 软件
①打开Ubuntu 20.04终端。更新软件包索引
sudo apt update
②升级所有可升级的软件包
sudo apt upgrade
③更换Ubuntu软件源
sudo nano /etc/apt/sources.list
http://archive.ubuntu.com/ubuntu/替换为你选择的更快的镜像源
http://mirrors.tuna.tsinghua.edu.cn/ubuntu/
步骤四:开启ssh服务
①安装OpenSSH服务器
sudo apt install openssh-server
②检查SSH服务状态
sudo service ssh status
如果服务没有运行,启动它:
sudo systemctl start ssh
为了确保每次启动时SSH服务都会运行,可以启用它
sudo systemctl enable ssh
③配置sshd_config文件
sudo vi /etc/ssh/sshd_config
取消注释 Port 22 行以指定SSH端口(默认为22)
取消注释 PasswordAuthentication yes 行以允许密码认证
保存文件并退出编辑器
④检查Ubuntu防火墙设置
确保Ubuntu防火墙(如UFW)允许SSH流量。运行以下命令允许SSH连接:
sudo ufw allow ssh
查看ip地址
ip addr show or if config
步骤五:端口转发
由于WSL2使用虚拟网络适配器,具有自己的私有IP地址,因此局域网内的其他机器无法直接访问WSL2实例。
①打开Windows PowerShell,以管理员身份运行
②允许传入流量连接到WSL2
New-NetFirewallRule -DisplayName "WSL2 SSH" -Direction Inbound -LocalPort 22 -Action Allow -Protocol TCP
③找到wsl2实例的ip地址
wsl hostname -I
④设置端口转发规则,将传入的连接转发到WSL2实例
netsh interface portproxy add v4tov4 listenport=22 listenaddress=0.0.0.0 connectport=22 connectaddress=<WSL2_IP_Address>
⑤验证端口转发规则是否正确设置
netsh interface portproxy show v4tov4
大概是下图的样式:
侦听 ipv4: 连接到 ipv4:
地址 端口 地址 端口
--------------- ---------- --------------- ----------
0.0.0.0 22 172.17.26.6 22
步骤六:设置静态IP
①打开 /etc/wsl.conf 文件
sudo nano /etc/wsl.conf
②添加以下内容
[network]
generateResolvConf = false
③在 /etc/netplan/ 目录下创建一个名为 00-wsl.yaml 的新文件
sudo nano /etc/netplan/00-wsl.yaml
④添加以下配置到文件中,将 <desired_ip_address> 替换为您希望分配给WSL2实例的IP地址
<desired_ip_address>是你想要的ip,ip必须在主机ip 的范围内
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses: [<desired_ip_address>/24]
nameservers:
addresses: [8.8.8.8]
⑤应用新的网络配置:
sudo netplan apply
⑥重启wsl
wsl --shutdown
⑦更新端口转发规则
netsh interface portproxy add v4tov4 listenport=22 listenaddress=0.0.0.0 connectport=22 connectaddress=<static_ip_address>
需要添加gcc g++ 等, 安装CUDA前可能需要使用安装对于的nvidia 驱动
cmake能安装最好, docker能安装最好
步骤七:安装CUDA
- windows 11 目前应该支持 与 wsl互通,在window安装即可。
在目前的版本由于wsl端使用window的版本,不需要安装cuda,以下检查增加对版本的检查
检查GPU支持
nvcc --version
nvidia-smi
不能查看gpu支持的情况下,安装以下,适用于Cuda 12.X以上版本
sudo apt install nvidia-utils-535-server
步骤七到此结束,前往步骤八
①下载CUDA
查找相应的CUDA版本
CUDA 下载
②配置CUDA 环境变量
vi ~/.bashrc
#把这三行复制到文件底部
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#更新一下bashrc文件
source /home/$USER/.bashrc
#更新一下可能需要的依赖
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
检查版本
nvcc -V
步骤八:安装conda
安装即可,网络教程很多很详细
wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
bash Anaconda3-2023.03-1-Linux-x86_64.sh
记得换源,换阿里源或者清华源
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
写在 ~/.condarc里面,没有这个文件就自己创建
步骤九:如何安装pytorch-cuda版本
前往 官网
查看合适版本,我使用的 CUDA 12.6,安装这个方式下载3h,也可能不需要下载3h,前提是使用国内镜像。
步骤十:安装mlatom依赖,安装mlatom
pip install numpy scipy torch torchani tqdm matplotlib statsmodels h5py pyh5md sgdml rmsd openbabel pyscf rmsd rdkit pandas ase fortranformat
步骤十: 安装附加软件包
- ASE (可用于几何优化和热化学计算)
- COLUMBUS (使用CASSCF时需要安装)
- DeePMD-kit (能够实现几个机器学习势)
- dftd4 (使用D4色散校正时需要安装,使用AIQM1,ANI-2x-D4和ANI-1x-D4时需要安装)
- GAP and QUIP (使用GAP-SOAP机器学习势时需要安装)
- Gaussian (可用于QM计算、几何优化、频率和热化学计算,运行IRC和非谐波频率计算时需要安装)
- hyperopt (可用于超参数优化)
- MACE (使用MACE势时需要安装)
- MNDO (可用于/推荐用于AIQM1以及其他半经验QM方法)
- Newton-X (进行紫外可见光谱模拟时需要安装)
- Orca (使用CCSD(T)*/CBS时需要安装,可用于DFT计算)
- PhysNet (使用PhysNet势时需要安装)
- sGDML (使用sGDML势时需要安装)
- Sparrow (可用于/推荐用于AIQM1以及其他半经验QM方法)
- TorchANI (使用AIQM1和ANI势时需要安装)
- Turbomole (进行ADC(2)计算时需要安装)
有很多软件的接口,不需要全部安装
AIQM1 的依赖包括Sparrow,MNDO,dftd4
MNDO软件 需要去官网申请,需要私聊,解压后配置环境变量
export mndobin=[path to the executable]/mndo2020
Sparrow 安装开发版本, python版本可能无法使用
dftd4 安装包