训练一个神经网络并移植到Lat
tice
FPGA上,通常需要开发人员既要懂软件又要懂数字
威廉希尔官方网站
设计,是个不容易的事。好在FPGA厂商为我们提供了许多工具和IP,我们可以在这些工具和IP的基础上做二次开发。
移植一个神经网络到Lattice FPGA上可以分为三步:
第一步:使用Tensorflow, Caffe, Keras训练自己的网络。(这里Lattice官网的参考设计提供了训练网络部分的参考代码)
第二步:使用Lattice sensAI 软件编译已训练好的神经网络,定点化网络参数。该软件会根据神经网络结构和预设的FPGA资源进行分析并给出性能评估报告,此外用户还可以在软件中做Inference的
仿真,查看基于浮点参数和基于定点参数的仿真结果。甚至还能通过USB连接PC与FPGA进行硬件调试。
第三步:调用Lattice CNN IP以及其他FPGA组件(例如MIPI视频源接入、ISP、目标画框、NMS算法、视频输出等),构建一个完整CNN Inference系统和产品。