经查找现有大部分代码均为大佬们编写,虽效果好用但是难以自己修改,代码内部逻辑对于我自己这种小白来说比较难吃透,因此决定自己在学习大佬们的代码后,自己搭一个自己较为清晰的代码结构。虽然有重复造轮子之嫌,但是总觉得不合适自己的轮子很难走的很远。希望自己搭好自己的架构后,可以在此基础上进行很简单的修改来实现不同深度学习模型的训练与测试功能。同时也想在此记录下自己的整个代码思路,方便自己后续回看学习,同时若是能对其他和我一样看不懂其他大佬代码的同学产生帮助则十分开心。下面将从一个小白的视角来对代码进行注释和解释,初窥门槛,如有不对的地方,还欢迎大家多多交流指正。
很想像大佬们一样,将深度学习的代码分为若干个独立的部分,将每一个部分模块化,就好像一个个积木块一样,而网络模型只是其中一个积木。这样在使用不同的模型时,就好像将网络模型这块积木拿下来换成其他的积木块,加载数据、参数等其余积木块均不需要发生变化,这样整体代码更为稳定,也更方便不同模型之间的比较。
基于此,参考github上若干个代码,将我自己的代码分为一以下几个主要模块:
main.py | 主函数代码,在terminal中运行main.py即可训练模型 |
dataload | 数据加载部分,功能以确定形式为加载数据集 |
main< |