模块化设计
# 下载配置文件和与训练权重
$ mim download mmcls --config mobilenet-v2_8xb32_in1k --dest .
# 使用Python API 推理
from mmcls.apis import init_model, inference_model, show_result_pyplot
model = init_model('mobilenet-v2_8xb32_in1k.py',
'mobilenet_v2_batch256_imagenet_20200708-3b2dc3af.pth',
device='cuda:0')
result = inference_model(model, 'banana.png')
show_result_pyplot(model, 'banana.png', result)
# 推理结果result
{'pred_class': 'banana’,
'pred_label': 954,
'pred_score': 0.9999284744262695}
单张图像推理
python demo/image_demo.py ${IMAGE_FILE} ${CONFIG_FILE} ${CHECKPOINT_FILE}
在测试集上测试
单卡
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--metrics ${METRICS}] [--out
${RESULT_FILE}]
多机多卡
./tools/dist_test.sh ${CONFIG_FILE} ${CHECKPOINT_FILE} ${GPU_NUM} [--metrics ${METRICS}] [--out ${RESULT_FILE}]
使用说明:https://mmclassification.readthedocs.io/en/latest/getting_started.html#inference-asingle-image
单卡训练
python tools/train.py ${CONFIG_FILE} [optional arguments]
单机、多机多卡训练
./tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM} [optional arguments]
使用任务调度器Slurm 启动任务
[GPUS=${GPUS}] ./tools/slurm_train.sh ${PARTITION} ${JOB_NAME} ${CONFIG_FILE} ${WORK_DIR}
从checkpoint 恢复训练
增加--resume-from ${CHECKPOINT_FILE} 参数
使用说明:https://mmclassification.readthedocs.io/en/latest/getting_started.html#train-a-model
MIM 为所有OpenMMLab 工具提供了统一的命令行接口
下载配置文件和预训练权重
mim download mmcls --config mobilenet-v2_8xb32_in1k --dest .
训练(支持单卡、多卡、Slurm 任务管理器)
mim train mmcls {参数同mmcls 自己的train.py}
mim train mmcls {参数同mmcls 自己的train.py} -G 4 –g 4 –p ${PARTITION} --launcher slurm
测试
mim test mmcls {参数同mmcls 自己的test.py} --gpus 4 --launcher pytorch
使用说明:https://github.com/open-mmlab/mim
可以使用MIM 配置MMCV 和MMClassification
深度学习模型的训练涉及几个方面:
在OpenMMLab 项目中,所有这些项目都涵盖在一个配置文件中,一个配置文件定义了一个完整的训练过程
也适用于其他OpenMMLab 工具包
https://mmclassification.readthedocs.io/en/latest/modelzoo_statistics.html