深度学习环境安装

本地信息: winidows11, 命令行软件是Windows Terminal, 安装有wsl, 系统是22.04.

服务器信息: Ubuntu 22.04, 将安装pytorch, 用显卡来训练模型.

基本环境安装

SSH登录

1
ssh username@ip

更新系统

1
sudo apt update

安装Python

1
sudo apt install python3

安装Miniconda

从页面Miniconda — conda documentation复制下载地址.

到服务器用下面的命令下载文件:

1
wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Linux-x86_64.sh

安装:

1
bash Miniconda3-py310_23.3.1-0-Linux-x86_64.sh

安装完毕后, 再运行bash, 就进入base环境了.

安装基础依赖

1
sudo apt install build-essential

安装nvidia driver

搜索驱动包

1
sudo apt search nvidia-driver | grep nvidia-driver

安装最新的:

1
sudo apt install nvidia-driver-530

安装成功后就可以用nvidia-smi看到系统信息了.

用pip安装torch等包

我这里用的pip, 也可以到pytorch官网看推荐的安装命令. 听李沐说似乎用conda更好一点. 不过既然用pip装了, 那我就这样来用了.

1
pip install jupyter d2l torch torchvision

测试显卡是否可用

1
2
3
4
python

import torch
torch.cuda.is_available()

关闭SSH连接

快捷键: ctrl+d, 也可以通过在命令行输入exit来退出.

好的小Tips

端口映射

把服务器端口8888映射到本地8888端口, 这样在服务器运行jupyter notebook的时候, 就可以在本地直接打开链接了.

1
ssh -L8888:localhost:8888 username@ip

配置免密登录

在本地, 命令行输入ssh-keygen, 一路默认, 生成密钥. 最后将有提示, 里面有两个关键的路径:

1
2
- Your identification has been saved in C:\Users\xxx/.ssh/id_rsa
- Your public key has been saved in C:\Users\xxx/.ssh/id_rsa.pub

接下来将公钥发送到服务器. 因为windows没有ssh-copy-id这个命令, 因此用下面的命令

1
cat ~/.ssh/id_rsa.pub | ssh username@ip "cat >> ~/.ssh/authorized_keys"

之后再ssh登录服务器就不需要输入密码了.

如果是linux系统, 可以用下面的命令:

1
sshpass -p'你的密码' ssh-copy-id -i ~/.ssh/id_rsa.pub -f -o StrictHostKeyChecking=no username@ip

注意, 如果你的密码里有特殊字符, 那么密码两边的单引号是必不可少的.

用vscode连接远程服务器

我习惯了用vscode来写代码.

安装vscode插件"Remote - SSH".

启用插件后, 在软件窗口左侧找到一个像"电脑"的小图标, 在侧栏中点"齿轮", 打开设置, 配置文件有几个位置, 我选的是用户目录下的那个配置文件. 写入下面的内容:

1
2
3
4
5
Host 名字 # 给主机起一个名字
    HostName 服务器ip
    User 用户名
    Port 22
    IdentityFile "C:\Users\xxx/.ssh/id_rsa"

保存配置, 刷新一下远程主机列表(有一个小按钮, 仔细瞅瞅), 看到添加的服务器后, 连接, 应该可以直接连上.

将本地文件上传到服务器

上传数据集. 我是先在本地压缩成zip文件, 然后用rsync同步到服务器. 由于windows用rsync不方便, 因此这一步我是在wsl里做的. 命令:

1
rsync /mnt/d/xxx/dataset.zip username@ip:/home/ubuntu/d2l --info=progress2

参数--info=progress2是为了在传输过程中显示进度的, 不然的话啥都不显示, 不知道传了多少了, 也不知道还需要传多长时间.

解压zip压缩包. 文件上传到服务器后, 可用下面的命令来解压.

1
unzip dataset.zip

可以加参数: -d, 解压到指定文件夹, -q, 安静模式, 解压时不显示任何信息.

最后

本文主要参考李沐的视频03 安装【动手学深度学习v2】_哔哩哔哩_bilibili环境安装,BERT、GPT、T5 性能测试,和横向对比【100亿模型计划】_哔哩哔哩_bilibili, 在此表示感谢.