以风格迁移为例:

  1. 风格迁移多篇经典顶刊文章,找到共同存在的问题,比如:capvst的纹理特征提取不明显;

  2. 找到一篇较新的顶刊文章,如:capvst;

  3. 理解架构,用可逆残差网络来保留内容亲和度,用空间压缩模块,和Channel Refinement去除通道冗余,从而提升效率。最后用cWCT线性变换模块传输内容表示来匹配样式表示,反向推理生成风格化图像;

  4. 复现实验:
    a. 直接用它的预训练模型参数(pth文件)+ 新数据运行测试文件就可以吗?
    用对方给定的预训练模型参数+新数据测试得出的结果只能作为你论文中的baseline,也就是你自己提出的方法对比的基线。
    b. 它代码里给的 pth 文件就是他在公开数据集上预训练的模型权重吗?

    c. 是否需要验证他的模型在推荐的数据集上是否可以收敛?
    可以验证也可以不验证,一般不用,除非你想证明这篇文章是不是作假了。

  5. 使用已有的预训练参数在这个跑通的模型上进行模块的替换和修改,比如将可逆残差换成ViT;
    在跑自己的算法的时候,你可以在公共的大规模的预训练数据集上自己重新预训练,没必要用它的预训练权重,只有符合以下情况下可以使用:
    a. 你的方法的架构和已有的模型的架构完全一致;
    b. 你要用到的预训练数据和已有模型的预训练数据一致。换句话说,从resnet换成vit之后模型架构改变了,也就没法用预训练权重了

  6. 验证修改后的模型是否可以收敛;
    验证收敛只是看算法或者代码实现有没有问题,最终要看的是准确率或者某个其他指标有没有提升,这个指标在训练的过程中也是可以通过指定验证集来查看的

  7. 微调;

  8. 对比实验:在多个模型上使用自己的数据集进行实验,对比实验结果;
    a. 直观结果,输出风格迁移图片的效果;
    b. 对比 Gram loss,SSIM,测试时间等指标;

  9. 消融实验:
    消融实验很有必要!具体包括你所添加的模块在加/不加的情况下的正确率以验证其性能;超参的设置,例如多个损失函数相加时的权重的改变对结果的影响等等

  10. 写论文