课程答辩
1. 课程概述
1.1 课程内容
1.1.1 基础部分
- 理解并掌握 Keras 和 TensorFlow 框架的搭建和训练流程。
- 学习并实践在 Vivado 环境下进行 FPGA 设计,包括封装 IP 核、创建 IPI 子系统、调试等。
- 掌握基于 FPGA 的视频图像处理技术。
1.1.2 综合运用
- 基于 FPGA/ZYNQ 架构,搭建 Mnist 手写体识别系统。
- 实现 VGG 手写数字识别网络的训练,获取网络权重参数。
- 将权重参数进行定点化处理,以适应 FPGA 硬件实现。
- 在 FPGA 上实现神经网络模块,导入定点权重,并添加图像采集、灰度化、显示等模块。
1.2 课程成果
- 成功训练并测试 VGG 网络,在 MNIST 数据集上达到 97.66% 的精确度,在用户数据集上达到 80.39% 的精确度。
- 成功进行权重参数的定点化处理,实现了 FPGA 上的手写数字识别功能。
2. 训练与测试
2.1 网络训练
- 使用 Keras 框架训练 VGG 网络,设置训练次数、batch_size、学习率等参数。
- 训练结束后,使用 MNIST 测试集和用户测试集对网络进行测试,分别达到 97.66% 和 80.39% 的精确度。
2.2 权重参数处理
- 对训练得到的浮点权重进行处理,运行脚本找出合适的定点权重位宽。
- 通过比较浮点权重和不同位宽定点权重的预测结果,找到误差为 0 的位宽。
2.3 硬件实现
- 在 FPGA 上基于视频图像处理框架,添加神经网络模块实现手写数字识别功能。
- 导入定点权重,并添加图像采集、灰度化、显示等模块。
- 生成 bit 文件并下载到开发板进行测试。
3. 心得体会
3.1 成员1
- 学习并实践 FPGA 设计,对硬件编程有了更深入的理解。
- 通过实际操作,掌握了 TensorFlow 框架在图像识别领域的应用。
- 体会到理论与实践相结合的重要性,以及在项目实施过程中团队协作的重要性。
3.2 成员2
- 这次课程答辩让我对 FPGA 硬件编程有了更深刻的认识,尤其是在图像处理方面的应用。
- 通过搭建 Mnist 手写体识别系统,熟练掌握了 TensorFlow 框架的使用。
- 整个项目过程中,我学会了如何将理论应用于实践,以及如何与团队成员进行有效沟通和协作。




