【OpenMMLab 实战营打卡-第3课】计算机视觉之图像分类代码教学

一、创建环境

1. 加载 anaconda, 创建⼀个 python版本为3.8 的conda环境。

【OpenMMLab 实战营打卡-第3课】计算机视觉之图像分类代码教学_第1张图片

2. 安装PyTorch

由于北京超算GPU资源为RTX3090, 因此加载的cuda版本需要大于等于11.1。使用 pip 安装的torch 不包括 cuda,所以需要使⽤ module 加载 cuda/11.1 模块。本教程使用的PyTorch版本1.10.0+cu111。在这里插入图片描述

3. 安装mmcv

由于超算上使用mim命令安装可能存在兼容性的问题,因此这里使用pip命令安装mmcv-full模块。

pip install mmcv-full==1.7.0 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.10/index.html
4. 安装mmclassification

采用下载编译的方式安装mmclassification模块,要求编译器gcc版本大于5。由于超算上原本编译器版本低于5,因此需要module命令加载一个高版本的gcc,本教程指定gcc版本为7.3。
【OpenMMLab 实战营打卡-第3课】计算机视觉之图像分类代码教学_第2张图片

二、创建数据集

将数据集按照 8:2 的比例划分成训练和验证子数据集,并将数据集整理成 ImageNet的格式。
将训练子集和验证子集放到 train 和 val ⽂件夹下。

1.上传数据集

数据集下载链接: https://pan.baidu.com/s/1RJmAoxCD_aNPyTRX6w97xQ 提取码: 9x5u (百度网盘)

建议先离线下载到本地,然后在通过超算平台传输到data目录下。

# 在mmclassification源码根目录创建data目录
mkdir data && cd data

# 上传数据集到data目录并解压
unzip flower_dataset.zip
2. 划分数据集

创建data_split.py,填入下面代码。

vim data_split.py

【OpenMMLab 实战营打卡-第3课】计算机视觉之图像分类代码教学_第3张图片
【OpenMMLab 实战营打卡-第3课】计算机视觉之图像分类代码教学_第4张图片
【OpenMMLab 实战营打卡-第3课】计算机视觉之图像分类代码教学_第5张图片
在data目录下执行下述命令

# python data_split.py [源数据集路径] [⽬标数据集路径]
python data_split.py /HOME/用户名/run/文件路径/mmclassification/data/flower_dataset /HOME/用户名/run/文件路径/mmclassification/data/flower

得到如下文件目录
【OpenMMLab 实战营打卡-第3课】计算机视觉之图像分类代码教学_第6张图片

三、编写配置文件

1.下载权重
# 在mmclassification目录下创建checkpoints目录
mkdir checkpoints && cd checkpoints

# 下载权重
wget https://download.openmmlab.com/mmclassification/v0/resnet/resnet18_batch256_imagenet_20200708-34ab8f90.pth

权重文件如图所示
在这里插入图片描述

2.编写配置脚本
# 在mmclassification/configs目录下创建resnet18目录
mkdir resnet18 && cd resnet18

# 创建resnet18_b32_flower.py
vim resnet18_b32_flower.py

代码如下:注意红框标出路径是否和自己本地路径一致,以自己的文件路径为准。
【OpenMMLab 实战营打卡-第3课】计算机视觉之图像分类代码教学_第7张图片

3.编写任务脚本
# 在mmclassification创建GPU任务脚本
vim run.sh

run.sh代码如下:

【OpenMMLab 实战营打卡-第3课】计算机视觉之图像分类代码教学_第8张图片

四、提交运算

# 使⽤sbatch命令提交作业脚本
sbatch --gpus=1 run.sh

# 使⽤parajobs查看提交的作业
parajobs

# 查看作业输出⽇志
tail -f slurmj-id.out

【OpenMMLab 实战营打卡-第3课】计算机视觉之图像分类代码教学_第9张图片
以上就是第一次作业的全过程。

你可能感兴趣的:(OpenMMLab,计算机视觉,分类,python)