本文介绍如何使用 GPU 云服务器进行 ViT 模型离线训练,完成简单的图像分类任务。
ViT 全称 Vision Transformer,该模型由 Alexey Dosovitskiy 等人提出,在多个任务上取得 SoTA 结果。示意图如下:

对于一幅输入的图像,ViT 将其划分为多个子图像 patch,每个 patch 拼接 position embedding 后,和类别标签一起作为 Transfomer Encoder 的一组输入。而类别标签位置对应的输出层结果通过一个网络后,即得到 ViT 的输出。在预训练状态下,该结果对应的 ground truth 可以使用掩码的某个 patch 作为替代。
示例环境
实例类型:本文可选实例为 GN7 与 GN8,结合 Technical 提供的 GPU 对比,Turing 架构的 T4 性能优于 Pascal 架构的 P40。本文最终选用 GN7.5XLARGE80。
所在地域:由于可能需上传一些尺寸较大的数据集,需优先选择延迟最低的地域。本文使用 在线 Ping 工具测试,所在位置到提供 GN7 的重庆区域延迟最小,因此选择重庆区域。
系统盘:100GB 高性能云硬盘。
操作系统:Ubuntu 18.04
带宽:5Mbps
本地操作系统:MacOS
设置实例免密登录(可选)
1. (可选)您可在本机 ~/.ssh/config 中,配置服务器的别名。本文创建别名为 tcg。
2. 通过 ssh-copy-id 命令,将本机 SSH 公钥复制至 GPU 云服务器。
3. 在 GPU 云服务器中执行以下命令,关闭密码登录以增强安全性。
echo 'PasswordAuthentication no' | sudo tee -a /etc/ssh/ssh\_config
4. 执行以下命令,重启 SSH 服务。
sudo systemctl restart sshd
PyTorch-GPU 开发环境配置
若使用 GPU 版本的 PyTorch 进行开发,则需要进行一些环境配置。步骤如下:
1. 安装 Nvidia 显卡驱动 执行以下命令,安装 Nvidia 显卡驱动。
sudo apt install nvidia-driver-418
安装完成后执行如下命令,查看是否安装成功。
nvidia-smi
返回结果如下图所示,表示已安装成功。

2. 配置 conda 环境 依次执行以下命令,配置 conda 环境。

最低0.47元/天 解锁文章
1346

被折叠的 条评论
为什么被折叠?



