日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

基于FPGA实现的MobileNet V1,FPGA深度学习加速器设计 CNN Accelerators based on FPGAs

發(fā)布時間:2023/11/27 生活经验 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于FPGA实现的MobileNet V1,FPGA深度学习加速器设计 CNN Accelerators based on FPGAs 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Automatic Generation of Multi-precision Multi-arithmetic CNN Accelerators for FPGAs

最近arXiv上掛出來一篇文章,采用FPGA實現(xiàn)MobileNet V1,并且完全是不借助片外資源,用的是on-chip memory,沒有利用off-chip RAM。整個模型在FPGA的內(nèi)部有限資源上實現(xiàn)的。能夠使得幀率在3000 FPS,這個是最近我看到的一個很快的實現(xiàn)速度了。整個網(wǎng)絡(luò)采用了多精度實現(xiàn),而且是軟硬件結(jié)合的方式。整個實現(xiàn)流程如圖所示。

圖1: 基于FPGA實現(xiàn)的MobileNet V1加速器設(shè)計流程

文中也提到了常規(guī)算法,在FPGA上實現(xiàn)所采用的方式,即將計算展開,叫做roll-unroll,?flatten。本文采用的flattened streaming cores來進行計算。整個卷積的計算采用的寄存器實現(xiàn),能夠高效的進行操作。這個工程量還是非常大的。下圖展示了常規(guī)卷積的實現(xiàn)過程,一個周期cycle計算每一層output的c'個通道上的每一個點的值。采用移位或者乘法器的方式實現(xiàn)。第二個分圖展示的是depthwise convolution的計算過程,對每一層單獨使用一層filter。這個表示也是standard convolution和depthwise convolution的原理解釋。

圖2: 網(wǎng)絡(luò)的實現(xiàn)過程

對于多精度,多bit數(shù)的執(zhí)行,將activation的值,設(shè)置為8 bit 定點數(shù),只是說定點量化的整數(shù)和小數(shù),是可以varying from convolution layer。每一層各有不同,是 一個貪心搜索算法來搜索得到的。?

圖3:N-bit定點數(shù)的表示,p代表小數(shù)的位數(shù)

同時,作者也單獨把BN層來進行量化,這里是16位?定點數(shù)。

圖4:BN層的量化過程

整體實現(xiàn)難度很大,需要仔細的去看實現(xiàn)細節(jié)。在真實實現(xiàn)過程中,問題還是很多。各種配置文件。c++寫一些比較上層難以優(yōu)化和實現(xiàn)的算法和代碼。下端verilog寫卷積的模板文件,以及可分離卷積,這些規(guī)則極強,大量for循環(huán)計算的模塊,Verilog效率高。混合精度的實現(xiàn),需要利用寄存器來發(fā)揮優(yōu)勢,而浮點數(shù)據(jù)的操作,就要消耗更多資源,這時候需要用上層一點的類似于HLS來實現(xiàn)。整個流水的設(shè)計,需要緊密的在每一層上做好時鐘計算和設(shè)計,上一層的網(wǎng)絡(luò)輸出結(jié)果,以如何的方式,直接接入下一層的計算。整個流水排開之后,才能達到所敘述的3000fps。單獨處理一張圖片,應(yīng)該是不能達到的。

圖5:流水現(xiàn)實過程

?具體實現(xiàn)過程還有很多細節(jié),作者的最優(yōu)權(quán)重搜索算法,如何對應(yīng)不同的input size,模型大小,做擴展,而且是可配置的,這些在FPGA實現(xiàn)上,算是一個優(yōu)點。因為其他的FPGA實現(xiàn)的方法,都是寫完一個,就定死,不方便在重新改寫模型的大小,因為里面涉及時序,涉及流水的對齊。這個軟件定義模型,然后在硬件綜合生成電路,再轉(zhuǎn)換為bit流的方式,可以加快各種模型原型實現(xiàn)的速度。總體不錯。如果想更仔細的看里面的各種細節(jié),查看原文吧。

論文鏈接:Automatic Generation of Multi-precision Multi-arithmetic CNN Accelerators for FPGAs?https://arxiv.org/pdf/1910.10075v1.pdf?

**如果有用,記得點贊👍加收藏哦。!!!!**

總結(jié)

以上是生活随笔為你收集整理的基于FPGA实现的MobileNet V1,FPGA深度学习加速器设计 CNN Accelerators based on FPGAs的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。