深度学习项目一般分为三部分,输入读入、模型和损失、训练和测试。我们实现我们自己的项目时大部分代码都可以在Github上找到,能找到就不要自己写,这里面考验的主要能力是搭建大型项目的能力,而不是某个具体模块的实现。下面讲下实现过程:

  • 第一步、数据读入:

数据读入部分一般都能在Github上找到,这部分的代码应该选择较为复杂的。有的Github项目只涉及1个数据集,有的涉及到4个数据集,应该选择四个数据集的代码作为自己的数据集读入部分。

  • 第二步、模型和损失:

因为一般的idea是有baseline的,我们只需要关注baseline的核心代码即可。如果使用了Dectron或MMdetection,我们只需将核心代码拿出即可,然后根据自己的idea对核心代码进行修改。

  • 第三步、调试训练代码:

模型和损失修改完成后,下来不管效果将整个训练代码调通。然后观察损失,损失没有梯度消失和梯度爆炸就完成了。

  • 第四步、调试测试代码:

测试代码大部分也能在Github上找到,应该选简单的,然后根据自己需求进行更改。

  • 第五步:调参

调整网络结构、损失,以及损失中的超参数,重复三、四步。

注意:能适用开源项目比如Dectron或者MMdetection就不要自己定义,因为这种代码一般比较标准。打训练代码和测试代码首先应该寻求调试通,然后在检查结果对不对。