深度代码复现跑通了!!!
代码复现对于初学者,一开始接触深度学习代码总是困难的,尤其是对于github上满屏英文、复杂的环境、各种各样的报错,有时候哪怕跟着配套的readme、论文、视频,仍然不能成功跑起来。 在经受了一堆毒打后,笔者也开始有一点自己的理解,这里分享给大家,可能有些不对的地方,希望指正,谢谢!\nstep1: 对于网上已经开源的代码,先把它下载下来。github下载慢可以用 码云 ,具体方法网上有很多,一般成熟的深度学习框架不会特别大。把代码都下下来就是一个良好的开始。\nstep2: 把它解压好用pycharm打开,然后就得到类似下图的一个东西,也许你并没有看懂。所以你需要打开翻译器,把各个文件名的意思搞清楚。(这一步很重要)然后你就能初步理解它这个模块大概是要干什么了。\nstep3: 深度学习框架一般由这么几个部分组成,数据集(下载、划分、加载),网络模型(一个网络会分成很多个不同的模块),优化器损失(有些框架喜欢放一堆损失),训练(定义迭代、打印参数),测试(计算各项指标),可视化,参数统计,跑分模块,许可证,自述。有一个大的框架后,在把各个部分串起来,可以看看训练文件分别调用了哪些文件。 下图我们可以看出,在nets文件中引用了主干网络和一些训练的超参数,在utils文件中引用了损失和参考框、类别。