适用FPGA的小型神经网络(一)

之前推荐过适合FPGA的神经网络,包括CNN、DNN及SNN等,想实现的可以去看下:

优秀的 Verilog/FPGA开源项目介绍(三十五)- TinyML

优秀的 Verilog/FPGA开源项目介绍(二十四)- 脉冲神经网络 (SNN)

优秀的 Verilog/FPGA开源项目介绍(二十二)- 深度神经网络 (DNN)

优秀的 Verilog/FPGA开源项目介绍(二十一)- 卷积神经网络(CNN)

优秀的 Verilog/FPGA开源项目介绍(二十)- 张量处理单元(TPU)

今天我们分享几个用FPGA实现的小型神经网络,侧重应用。

LeNet

LeNet主要用来进行手写字符的识别与分类,其确立了CNN的结构,现在神经网络中的许多内容在LeNet的网络结构中都能看到:

C1,卷积层 S2,池化层 C3,卷积层 S4,池化层 C5,卷积层 F6,全连接层 OUTPUT,全连接层

《基于MATLAB与FPGA的图像处理教程》LeNet5

https://gitee.com/crazybingo/Book_VIP/tree/master/2_FPGA_Sim/8.2_LeNet5

这是《基于MATLAB与FPGA的图像处理教程》中一个例程,经过MATLAB仿真与FPGA实现,在相关开发板上验证通过。

DigitalRecognition-基于LeNet-5

https://github.com/suisuisi/FPGAandCNN/tree/main/DigitalRecognition

神经网络在浅色背景上检测深色数字的项目,详细的设计和视频演示,大家看README即可。

AlexNet

AlexNet是2012年ImageNet竞赛的冠军模型,其作者是神经网络领域三巨头之一的Hinton和他的学生Alex Krizhevsky(参考:https://blog.csdn.net/sinat_39620217/article/details/131083754)。

AlexNet与此前的LeNet相比,具有更深的网络结构,包含5层卷积和3层全连接,对比LeNet如下所示。

alexnet-FPGA and GPU

对 FPGA 和 GPU 上的AlexNet CNN 执行时间的基准测试。

https://github.com/pratikpv/alexnet

该项目除了学习神经网络知识外,也在Xilinx FPGA上运行OpenCL给了详细的参考示例,链接如下:

https://gitlab.com/Tango-DNNbench/Tango/tree/master/FPGA

CNN_OPEN & DNN_PUF_FPGA

利用SystemVerilog生成Lenet模型,并在FPGA上进行综合和实现。

https://github.com/renaturation/DNN_PUF_FPGA

该项目是个研究类项目,适合学习和练手。

总结

在FPGA运行神经网络在前几年是个很火的方向,最近一些敏捷开发像OpenCL、HLS等已经冲淡了不少热度,用纯HDL开发相关项目出现的越来越少了。但是今天这些小型神经网络项目适合入门相关行业,适合理解相关知识点。每个项目中有很多很多相关的例程,今天只是介绍一些个人认为比较经典的项目。

相关推荐
IT古董4 分钟前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
mahuifa6 分钟前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐7 分钟前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类
落魄君子12 分钟前
ELM分类-单隐藏层前馈神经网络(Single Hidden Layer Feedforward Neural Network, SLFN)
神经网络·分类·数据挖掘
蓝天星空21 分钟前
Python调用open ai接口
人工智能·python
睡觉狂魔er21 分钟前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶
scan72444 分钟前
LILAC采样算法
人工智能·算法·机器学习
leaf_leaves_leaf1 小时前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零11 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
菌菌的快乐生活1 小时前
理解支持向量机
算法·机器学习·支持向量机