一般情况下,拿到一批数据之后,首先会根据任务先用领域内经典的Model作为baseline跑通,然后再在这个框架内加入自己设计的Model,微调代码以及修改一些超参数即可。总体流程参考如下:
- 先写dataset部分,包括数据的读取、预处理、增广等操作,将数据集准备好。
- 然后model部分baseline无需修改,proposed是自行设计,定义模型的结构和参数,建立模型架构。
- 最后是train部分,这里调用所有的类实现训练:包括定义模型,模型包裹;获取dataloader;定义loss,优化器,学习率,定义early stoping策略;保存模型权重,保存日志。
当然,文无定法。这个顺序并不是固定不变的,也可以根据具体情况作出相应的调整。例如,当你的数据集已经准备好了,可以直接开始定义模型,然后再定义训练过程;或者在进行模型训练之前,先进行数据集的分析和可视化等操作。
体会1
源自:作者三四但不犹豫
对于图像任务:
- 顺序上,先写dataset部分,检查基本的transform,再搭model&#