使用Open-mmLab进行ResNed-50 classification应用
1. Involution介绍
Involution的详细介绍请看这篇文章:
2. 基于OpenMMLab mmclassification的应用
若要使用RedNet,首先需熟悉mmclassification的使用,其详细介绍可看这篇文章:
使用Open-mmLab库进行RES-50 classification
3. 使用Open-mmLab库进行RedNet-50 classification
首先在官网上下载Involution-main
(下载链接),解压后将其对应文件拷贝至mmclassification-master
文件夹内,接下来进入正式流程:
-
准备数据集
同上文ResNet-50
-
参数设定
在
**/configs/rednet
路径下,找到rednet50_b32x64_warmup_coslr_imagenet.py
修改相应配置文件,其中:
_base_包括:
_base_ = [
'../_base_/models/rednet50.py', # 模型配置
'../_base_/datasets/mynet_bs32.py', # 数据集配置
'../_base_/schedules/imagenet_bs2048_coslr_130e.py', # 训练策略配置
'../_base_/default_runtime.py' # 日志、存储相关配置
]
-
自定义数据集的加载
同上文ResNet-50
-
模型配置
注意根据类别选择相应的topk
# model settings
model = dict(
type='ImageClassifier',
backbone=dict(
type='RedNet',
depth=50,
num_stages=4,
out_indices=(3, ),
style='pytorch'),
neck=dict(type='GlobalAveragePooling'),
head=dict(
type='LinearClsHead',
num_classes=1000,
in_channels=2048,
loss=dict(
type='LabelSmoothLoss',
loss_weight=1.0,
label_smooth_val=0.1,
num_classes=1000),
topk=(1, 1),
))
-
训练策略
同上文ResNet-50,调整合适的训练策略
-
训练模型
单一GPU训练命令如下:
python tools/train.py D:\DeepLearning\mmclassfication_inv\configs\rednet\rednet50_b32x64_mynet.py --work-dir D:\DeepLearning\mmclassfication_inv\myred50
其中optional arguments包括工作目录的定义
--work_dir ${YOUR_WORK_DIR}
例如: