mmclassfication项目
mmclassfication项目文件夹结构
mmclassification
├── mmcls (dataset,backbone的底层源码)
├── tools (训练,测试脚本,有分布式和非分布式等)
├── configs (训练,测试的配置文件)
├── docs
├── data
程序运行指令
#使用 CPU 训练(禁用 GPU 并运行单 GPU 脚本)
export CUDA_VISIBLE_DEVICES=-1
python tools/train.py ${CONFIG_FILE} [optional arguments]
#使用单个 GPU 进行训练
python tools/train.py ${CONFIG_FILE} [optional arguments]
#备注 os.environ['CUDA_VISIBLE_DEVICE']='n'
#在train.py脚本文件开始处使用此指令可强行在n号GPU上运行,后面的--gpuid参数失效
#使用多个GPU进行分布式训练,运行sh脚本文件
CUDA_VISIBLE_DEVICE=n,m PORT=xxxxxxx bash tools/dist_train.sh ${CONFIG_FILE} gpu_number
PORT的六位数可变更
#一些常见参数
--resume-from ${CHECKPOINT_FILE}:从以前的模型权重文件恢复训练。
resume-from 和 load-from 的不同点:
--resume-from 加载模型参数和优化器状态,并且保留检查点所在的周期数,常被用于恢复意外被中断的训练。
--load-from 只加载模型参数,但周期数从 0 开始计数,常被用于微调模型。
配置文件
可以使用 python tools/misc/print_config.py /PATH/TO/CONFIG 命令来查看完整的配置信息,从而方便检查所对应的配置文
#config配置文件
_base_ = [
'../_base_/models/resnet50.py', # 模型
'../_base_/datasets/imagenet_bs32.py', # 数据
'../_base_/schedules/imagenet_bs256.py', # 训练策略
'../_base_/default_runtime.py' # 默认运行设置
]
#可以将各个模块的配置文件路径写在此处,或是将各个模块的配置文件内容(字典形式)复制到下面
#两者选其一即可,如果都有,则选下面的配置文件内容,写在下面代表改动了配置文件参数