因此,对于比赛总结了一些方法和建议提供给大家:
1. 项目初期做好详细的文献调研和规划。对项目开展进行预研,总结出难点和耗时的部分,集中精力攻克。
2. 建立存储库。可以使用Github,每日进行更新并用注释写出还存在的问题,这就方便了解问题并协助解决,从而提升整个团队的工作效率。
3. 重视技术文档。项目进展一定阶段后及时制作技术文档,方便阅览和交流,也方便比赛进行到不同时期针对主办方要求完成作品提交。
4. 劳逸结合,技术难点集中突破。赛事持续时间达半年,因此要做好长期作战的准备,注重劳逸结合。遇到技术困难,及时和指导老师及同学交流,尽快解决,解决不了的就做好长期学习、短期集中突破的准备。
本次比赛团队针对CNN神经网络Soc进行了完整的设计,对CNN各个运算子单元模块进行了寄存器级的设计分析、开发和优化,首先实现了流水线架构的CNN神经网络加速器,在此基础上讨论了架构、电路和软件实现不同层面的优化方案。
在可配置CNN神经网络Soc开发过程中,本文利用verilog HDL从底层对CNN神经网络常用单元进行了加速设计,卷积神经网络采用感受域有限策略和加法树结构,池化运算单元提出了行池化和列池化的方案。神经网络使用Tensorflow进行训练并提取参数,采用16位动态量化。之后团队会整理该部分资料开源在github上,包括如何使用Tensorflow构建自己的数据集、自定义神经网络的训练和参数提取、CNN神经网络的动态量化、调试验证方案以及优化策略等等。