0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

3个DNN的项目介绍

FPGA技术江湖 来源:FPGA技术江湖 作者:FPGA技术江湖 2022-06-16 09:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

介绍

深度神经网络 (DNN) 是一种人工神经网络(ANN),在输入层和输出层之间具有多层。有不同类型的神经网络,但它们基本由相同的组件组成:神经元、突触、权重、偏差和函数。这些组件的功能类似于人类大脑,可以像任何其他 ML 算法一样进行训练。

3241cbd6-ed13-11ec-ba43-dac502259ad0.png

例如,经过训练以识别狗品种的 DNN 将遍历给定的图像并计算图像中的狗是某个品种的概率。用户可以查看结果并选择网络应该显示哪些概率(超过某个阈值等)并返回建议的标签。每个数学操作都被认为是一个层,复杂的 DNN 有很多层,因此被称为“深度”网络。

324f329e-ed13-11ec-ba43-dac502259ad0.png

关于DNN、ANN、CNN区别,请看下图:

326b7cf6-ed13-11ec-ba43-dac502259ad0.png

https://blog.csdn.net/lff1208/article/details/77717149

IBM_AccDNN

https://github.com/IBM/AccDNN

AccDNN(深度神经网络加速器核心编译器)又名;DNNBuilder

项目介绍

在这个项目中,我们提出了一种新颖的解决方案,可以自动将经过 Caffe 训练的深度神经网络转换为 FPGA RTL 级别的实现,无需任何编程工作,并为用户的识别任务提供统一的 API

因此,没有任何 FPGA 编程经验的开发人员可以将他们的 FPGA 加速深度学习服务部署在数据中心或边缘设备中,仅提供他们经过训练的 Caffe 模型。该作品发表在 ICCAD'18 上,并获得了前端最佳论文奖。了解更多设计细节。请参考我们的论文(https://docs.wixstatic.com/ugd/c50250_77e06b7f02b44eacb76c05e8fbe01e08.pdf)。

转换过程

转换包括三个阶段:

首先对 Caffe 网络文件进行解析,得到网络结构。我们估计每一层的工作量以确定在 FPFA 资源约束下的并行度。

该网络中定义的每一层通过在库中实例化相应的神经层来生成一个定制的 Verilog 模块。顶层模块也是根据net文件中定义的层顺序将这些自定义实例连接在一起生成的,并且在这个阶段也生成了权重所需的片上内存。

综合生成的源文件、布线和布局,生成可执行的 FPGA 位文件。

327d5520-ed13-11ec-ba43-dac502259ad0.png

AccDNN 缺点

仅支持 Caffe 框架训练的模型。

仅支持卷积层、最大池化层、全连接层和批量归一化层。

Caffe .prototxt 中定义的网络中卷积层和全连接层的总数应少于 15 层

DNN-Hardware-Accelerator

https://github.com/ryaanluke/DNN-Hardware-Accelerator

https://github.com/gwatcha/dnn_accelerator

介绍

在本实验中,将以嵌入式 Nios II 系统为核心构建深度神经网络加速器。在本项目中还将学习如何与片外 SDRAM 连接,以及如何使用 PLL 生成具有特定属性的时钟

由于整个系统比我们之前构建的系统更复杂,因此在将设计的所有部分连接在一起之前,编写大量的测试单元并仔细调试将变得尤为重要。

深度神经网络

我们将使用一种称为多层感知器 (MLP) 的神经网络对 MNIST 手写数字数据集进行分类。也就是说,我们的 MLP 将以 28×28 像素的灰度图像作为输入,并确定该图像对应的数字 (0..9)。

MLP 由几个线性层组成,它们首先将前一层的输出乘以权重矩阵,并为每个输出添加一个恒定的“偏差”值,然后应用非线性激活函数来获得当前层的输出(称为激活)。我们的 MLP 将有一个 784 像素的输入(28×28 像素的图像)、两个 1000 个神经元的隐藏层和一个 10 个神经元的输出层;具有最高值的输出神经元将告诉我们网络认为它看到了哪个数字。对于激活函数,我们将使用整流线性单元 (ReLU),它将所有负数映射到 0,将所有正数映射到自身。

在推理过程中,每一层计算a' = ReLU( W · a + b ),其中W是权重矩阵,a是前一层的激活向量,b是偏置向量,a'是当前层的激活向量。

不要被神经网络等花哨的术语吓倒——你实际上是在构建一个加速器来进行矩阵向量乘法。这里的大部分挑战来自与片外 SDRAM 存储器的交互以及正确处理诸如waitrequest和readdatavalid 之类的信号

不需要知道这些网络是如何训练的,因为我们已经为您训练了网络并预先格式化了图像(请参阅data文件夹的内容和测试输入列表)。但是,如果好奇,可以查看scripts/train.py我们是如何训练 MLP 的。

328a56a8-ed13-11ec-ba43-dac502259ad0.png

关于该项目的一些补充说明请查看下面的PDF:

https://github.com/ryaanluke/DNN-Hardware-Accelerator/blob/main/Deep%20Neural%20Networks%20on%20FPGA.pdf

DNN-accelerator-on-zynq

https://github.com/joycenerd/DNN-accelerator-on-zynq

https://github.com/karanam1997/Dnnweaver-Zed-board-/tree/master/DNNWeaver_original

https://github.com/anonsum/DNNWeaver_Simulations

设计要求:

329b95a8-ed13-11ec-ba43-dac502259ad0.png

整个系统框图如下:

32adb51c-ed13-11ec-ba43-dac502259ad0.png

相关的设计文档:

https://github.com/joycenerd/DNN-accelerator-on-zynq/blob/master/2019DD_lab12Finalv4.pdf

Handwritting-number-distinguishing-with-DNN-by-Nexys-4-DDR-in-Verilog-HDL

https://github.com/MaxMorning/Handwritting-number-distinguishing-with-DNN-by-Nexys-4-DDR-in-Verilog-HDL

用 Verilog HDL 实现 DNN 区分手写数字,在Nexys 4 DDR 上运行。

32bd3b18-ed13-11ec-ba43-dac502259ad0.png

总结

今天介绍了3个DNN的项目,主要是DNN复杂度较TPU或者CNN高了几个台阶,所以用它来直接对FPGA进行移植难度很大,还是只建议对第一个IBM项目进行研究,其他在ZYNQ上进行数字识别适合实现,其他都不怎么推荐。

关于DNN或者CNN也介绍了几十个项目了,这些只适合学习研究,并不适合拿来商用,所以后台喷我的小伙伴要求也不要太高,这些开源的项目能直接商用的少之又少,大部分项目只适合学习。还有一些项目是学生做的,所以你们也不必喷:说是拿一些学生做的项目能干什么,我这里只想说,这些项目至少能给您一些参考,什么事情总比从零开始好,或者让你们了解一些同龄人在学校里在干什么,最后,这些项目您又看不上您开源几个出来~

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4829

    浏览量

    106839
  • dnn
    dnn
    +关注

    关注

    0

    文章

    61

    浏览量

    9454

原文标题:​优秀的 Verilog/FPGA开源项目- 深度神经网络 (DNN)

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件
    的头像 发表于 11-28 07:27 798次阅读

    开源项目!FourThirdsEye 开源 M4/3 相机模块

    四分之三系统 (Micro Four Thirds) 画幅的 IMX294 图像传感器。本项目旨在为高级树莓派项目提供一高质量、价格实惠且易于获取的相机模块。 FourThirdsEye 可拍摄 1070
    发表于 07-30 13:43

    Amazing Hand:一开源的3D打印仿真机械手项目

    “  本文介绍了一款名为 Amazing Hand 的开源仿人机械手项目。该项目旨在解决市面上机器人手普遍昂贵且表现力不足的问题,提供一低成本(低于200欧元)、轻量化(400克)且
    的头像 发表于 07-21 11:22 5318次阅读
    Amazing Hand:一<b class='flag-5'>个</b>开源的<b class='flag-5'>3</b>D打印仿真机械手<b class='flag-5'>项目</b>

    嵌入式AI技术漫谈 如何组建一AI项目开发小组

    我们来谈一谈如何组建一AI项目开发小组: 为什么要为嵌入式AI项目 组建一专门的开发小组 相对于以往成熟的项目开发体系,嵌入式AI
    的头像 发表于 06-11 16:34 1083次阅读

    Altera Agilex 3 FPGA和SoC产品介绍

    Altera 的 Agilex 3 FPGA 和 SoC 可在不影响性能的前提下显著提高成本效益。其通过出色的 Hyperflex FPGA 架构、先进的收发器技术、更高的集成度和更强大的安全
    的头像 发表于 06-03 16:40 1333次阅读
    Altera Agilex <b class='flag-5'>3</b> FPGA和SoC产品<b class='flag-5'>介绍</b>

    拓维信息自研大模型项目入选湖南省“数字新基建”100标志性项目

    在数字中国建设全面提速、人工智能与实体经济深度融合的时代背景下,拓维信息自主研发的“基于昇腾&鲲鹏算力底座的大模型一体化平台及应用”项目,入选《湖南省“数字新基建”100标志性项目名单
    的头像 发表于 04-22 17:42 971次阅读
    拓维信息自研大模型<b class='flag-5'>项目</b>入选湖南省“数字新基建”100<b class='flag-5'>个</b>标志性<b class='flag-5'>项目</b>

    树莓派保姆?5创意树莓派项目来袭!

    有什么比一很酷的RaspberryPi项目更好的呢?当然是能帮助你更好地指导你混乱的日常生活的一RaspberryPi项目。尽管这些SBC项目
    的头像 发表于 03-28 16:03 725次阅读
    树莓派保姆?5<b class='flag-5'>个</b>创意树莓派<b class='flag-5'>项目</b>来袭!

    深度解析——使用Luatools工具烧录一具体的项目到Air780EPM核心板中!

    本篇文章重点介绍如何使用Luatools工具烧录一具体的项目到Air780EPM开发板中。 一、准备好项目文件   在烧录项目文件到Air
    的头像 发表于 03-25 15:06 619次阅读
    深度解析——使用Luatools工具烧录一<b class='flag-5'>个</b>具体的<b class='flag-5'>项目</b>到Air780EPM核心板中!

    开源项目!如何制作一手机用的电动3D扫描转盘

    这个项目里,作者会教你怎么做一简单的电动3D扫描转盘,主要是给手机用的。整个装置分为三部分:顶板、齿轮板和底座。顶板是固定的平台,用来
    发表于 03-25 13:45

    Open Echo:一开源的声纳项目

    “  这是一还在迭代中的项目。开源的回声测深仪/水深测量仪/声呐系统,适用于水文测绘及科研用途。基于Arduino平台开发并具备良好兼容性  ”   Open Echo 概览 作为持续迭代
    的头像 发表于 03-20 11:14 2055次阅读
    Open Echo:一<b class='flag-5'>个</b>开源的声纳<b class='flag-5'>项目</b>

    【「AI Agent应用与项目实战」阅读体验】书籍介绍

    结构如下: 可以看到整体的内容是非常丰富的,对于一本89元的书来说,除第一章是总体介绍外,包含10应用案例,可以说是超值了,平均一案例还不到9块钱,都不够一杯奶茶,所以还有什么理由不掌握呢
    发表于 03-05 20:40

    2025年半导体行业将启动18新晶圆厂项目

    ,其中包括3座200毫米晶圆厂和15座300毫米晶圆厂。这些新晶圆厂的建设不仅将提升全球半导体产能,还将进一步推动半导体技术的发展和创新。 从地区分布来看,美洲和日本在2025年的新晶圆厂建设项目中处于领先地位,各计划建设4
    的头像 发表于 01-09 14:48 2471次阅读

    STM32CubeMX的菜单介绍

    项目工程,你可以基于此项目进行项目开发。下图是菜单栏的功能介绍:具体用法请参考付费视频。原文标题:STM32CubeMX的菜单
    的头像 发表于 12-25 21:03 700次阅读
    STM32CubeMX的菜单<b class='flag-5'>介绍</b>

    充电桩3C认证有哪些测试项目

    充电桩3C认证的测试项目是为了确保产品在电气安全、电磁兼容性(EMC)、环境适应性等方面达到国家标准的要求。以下是基于现有资料整理的一些主要测试项目,这些测试旨在保障充电桩的安全性和可靠性:
    的头像 发表于 12-25 17:13 1703次阅读

    vLLM项目加入PyTorch生态系统,引领LLM推理新纪元

    近日,vLLM项目宣布正式成为PyTorch生态系统的一部分,标志着该项目与PyTorch的合作进入了一全新的阶段。本文将从以下几个方面进行介绍,特别提醒:安装方案在第四
    的头像 发表于 12-18 17:06 1608次阅读
    vLLM<b class='flag-5'>项目</b>加入PyTorch生态系统,引领LLM推理新纪元