接着学习了一下mmpretrain的训练代码。
首先引入mmpretrain包里的get_model,list_models,inference_model。按照字面意思就是获取模型,展列模型,推理模型

然后模型本身由一个字典来描述。其中主干网络是核心。还有最后两步的neck池化层和head推理结果向量。

然后来到了mmpretrain的亮点部分了,便于后续复用的config文件。里面包括model_setting, data_settings ,optimizer. hooks, enviroments等。我们只要按图索骥修改里面的若干参数即可。

这里老师举例个例子,利用resnet做一个2分类的问题。这时候只要修改
头部head的num_classes=2 ,数据集中的 dataset_type=’CustomDataset’ ,训练集,测试集dataroot的位置。评测指标 val_evaluator. topk=1. 这些参数。

最后老师还提到了一个confusion_matrix。查了查,具体作用如下
在分类算法中,混淆矩阵(Confusion Matrix),也称为错误矩阵(Error Matrix),是一种用于衡量分类模型性能的矩阵形式。它展示了分类算法在测试数据集上的预测结果与真实标签之间的对应关系。
预测为正例 预测为负例
实际为正例 TP(真阳性) FN(假阴性)
实际为负例 FP(假阳性) TN(真阴性)

整个pipeline走下来,我觉得还是清晰明了的。config和训练代码解耦,便于加快各类实验。无论对学术界还是工业界来说都是提效的好方法。
文章介绍了mmpretrain的训练流程,包括获取和展示模型、使用config文件定制参数,如ResNet模型用于2分类问题时的设置。config文件包含了model_setting、data_settings等关键部分,简化了实验复用。混淆矩阵作为评估工具,展示了分类算法的性能。这种解耦的训练代码设计提高了效率,适合学术和工业界。
1000





