吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于caffe和Lasagne CNN分類器的FPGA上實現

電子設計 ? 來源:PYNQ開源社區 ? 作者:PYNQ開源社區 ? 2020-11-09 17:28 ? 次閱讀

近來卷積神經網絡(CNN)的研究十分熱門。CNN發展的一個瓶頸就是它需要非常龐大的運算量,在實時性上有一定問題。而FPGA具有靈活、可配置和適合高并行度計算的優點,十分適合部署CNN。

快速開始

環境需求PYNQ v2.4,Python 3.6.5。

需要安裝caffe和Lasagne這兩個計算平臺。我們將使用caffe中預訓練的參數并利用Lasagne來搭建網絡

具體安裝過程參見github項目文件中的 PYNQ案例-分類器.docx這個文檔,其包含了本項目的詳細操作步驟。

Overlay介紹

PYNQ-Classifcation是一個軟件上基于caffe和Lasagne,硬件加速的CNN分類器項目,它使用python語言在PYNQ框架下進行軟件編程和硬件驅動。

上圖為工程項目示意圖。通過軟硬件劃分,在PS端中負責Linux通信,而PL端負責運算加速。在PYNQ中加載bit時,PL端的控制部分將以IP核形式呈現。通過Python,對IP核的參數配置來實現控制。

此項目中采用的CNN結構示意圖(以CIFAR_10為例子),本項目中的卷積層由兩個子層構成,一個是im2col子層,它的作用是將輸入矩陣中的卷積窗口展開乘一維向量,另一個是點乘子層,它的作用是將im2col子層輸出的向量和展開成一維的卷積核相乘加。卷積層有一個參數是output_rectify,這對應的是當前卷積層是否應用Relu非線性層,0為否,1為是。池化層(pool)有兩種選項,一是最大值池化,二是平均值池化。

項目演示(CIFAR-10為例)

運行

/PYNQ-Classification/python_notebooks/Theano/CIFAR_10/Using a Caffe Pretrained Network - CIFAR10.ipynb

-- 如果想嘗試Lenet5則運行

/PYNQ-Classification/python_notebooks/Theano/Lenet/Using a Caffe Pretrained Network - LeNet5.ipynb

它們的notebook類似,只不過硬件上部署的網絡不一樣

開始

將庫都包含進工程,并且讀取caffe中預先訓練好的CIFAR_10模型。

然后

建立一個Lasagne的網絡結構,這個網絡結構和硬件中的結構類似,硬件中去掉了第一個ReLU層。將訓練好的模型參數導入到這個網絡中。

下一步

我們將模型參數導入硬件,使用FPGALoadW函數來實現這一步。函數會打印出一些有關信息

接下來

導入CIFAR_10數據集

這里我們構建一張新的網絡,把原來的中間層換成我們自定義的FPGA_CIFAR10層,這一層把原來的中間層全部包含了進去,并在FPGA上實現。然后輸入數據集,得到結果,結果保存在FPGA_predicted中。最后顯示了準確度,達到72.8%。這里也會顯示一些耗時。

這里我們可以看到這個網絡的部分識別結果。

這里再用CPU運行一遍這個網絡,可以看到它用時46.5秒,比使用FPGA完成卷積慢了很多。

編輯:hfy
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21798

    瀏覽量

    606022
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10904

    瀏覽量

    213026
  • 卷積神經網絡

    關注

    4

    文章

    367

    瀏覽量

    11916
收藏 人收藏

    評論

    相關推薦

    TF之CNNCNN實現mnist數據集預測

    TF之CNNCNN實現mnist數據集預測 96%采用placeholder用法+2層C及其max_pool法+隱藏層dropout法+輸出層softmax法+目標函數cross_entropy法+
    發表于 12-19 17:02

    TensorFlow的CNN文本分類

    在TensorFlow中實現CNN進行文本分類(譯)
    發表于 10-31 09:27

    如何移植一個CNN神經網絡到FPGA中?

    二次開發。移植一個神經網絡到Lattice FPGA可以分為三步:第一步:使用Tensorflow, Caffe, Keras訓練自己的網絡。(這里Lattice官網的參考設計提供了訓練網絡部分的參考代碼
    發表于 11-26 07:46

    【CANN訓練營第三季】基于Caffe ResNet-50網絡實現圖片分類

    【CANN訓練營第三季】基于Caffe ResNet-50網絡實現圖片分類
    發表于 12-19 22:34

    如何將DS_CNN_S.pb轉換為ds_cnn_s.tflite?

    用于圖像分類(eIQ tensflowlite 庫)。從廣義講,我正在尋找該腳本,您可能已經使用該腳本將 DS_CNN_S.pb 轉換為 ds_cnn_s.tflite我能夠查看兩個
    發表于 04-19 06:11

    基于FPGA的通用CNN加速設計

    基于FPGA的通用CNN加速整體框架如下,通過Caffe/Tensorflow/Mxnet等框架訓練出來的CNN模型,通過編譯
    發表于 10-27 14:09 ?1w次閱讀
    基于<b class='flag-5'>FPGA</b>的通用<b class='flag-5'>CNN</b>加速設計

    簡單快捷地用小型Xiliinx FPGA加速卷積神經網絡CNN

    剛好在知乎看到這個問題?如何用FPGA加速卷積神經網絡CNN,恰巧我的碩士畢業設計做的就是在FPGA
    的頭像 發表于 06-29 07:55 ?4859次閱讀
    簡單快捷地用小型Xiliinx <b class='flag-5'>FPGA</b>加速卷積神經網絡<b class='flag-5'>CNN</b>

    KORTIQ公司推出了一款Xilinx FPGACNN加速IP——AIScale

    近日KORTIQ公司推出了一款Xilinx FPGACNN加速IP——AIScale,它能夠利用實現訓練好的CNN網絡,比如行業標準的R
    的頭像 發表于 01-09 08:45 ?1w次閱讀
    KORTIQ公司推出了一款Xilinx <b class='flag-5'>FPGA</b>的<b class='flag-5'>CNN</b>加速<b class='flag-5'>器</b>IP——AIScale

    商湯聯合提出基于FPGA的Winograd算法:改善FPGACNN性能 降低算法復雜度

    商湯科技算法平臺團隊和北京大學高能效實驗室聯合提出一種基于 FPGA 的快速Winograd算法,可以大幅降低算法復雜度,改善 FPGA CNN 性能。
    的頭像 發表于 02-07 11:52 ?9321次閱讀
    商湯聯合提出基于<b class='flag-5'>FPGA</b>的Winograd算法:改善<b class='flag-5'>FPGA</b><b class='flag-5'>上</b>的<b class='flag-5'>CNN</b>性能 降低算法復雜度

    基于CNN分類回歸聯合學習等的左心室檢測方法

    基于CNN分類回歸聯合學習等的左心室檢測方法
    發表于 06-25 11:15 ?33次下載

    電子學報第七期《一種可配置的CNN協加速FPGA實現方法》

    電子學報第七期《一種可配置的CNN協加速FPGA實現方法》
    發表于 11-18 16:31 ?15次下載

    自己動手寫CNN Inference框架之 (一) 開篇

    服務CNN訓練框架很多,如tensorflow、pytorch、keras、caffe等等。該類框架在PC及服務中的顯卡、高性能CP
    發表于 02-07 11:53 ?0次下載
    自己動手寫<b class='flag-5'>CNN</b> Inference框架之 (一) 開篇

    基于FPGA的深度學習CNN加速設計方案

    因為CNN的特有計算模式,通用處理對于CNN實現效率并不高,不能滿足性能要求。 因此,近來已經提出了基于FPGA,GPU甚至ASIC設計的
    發表于 06-14 16:03 ?2389次閱讀
    基于<b class='flag-5'>FPGA</b>的深度學習<b class='flag-5'>CNN</b>加速<b class='flag-5'>器</b>設計方案

    為什么傳統CNN在紋理分類數據集的效果不好?

    作者:TraptiKalra來源:AI公園,編譯:ronghuaiyang導讀本文分析了常見的紋理數據集以及傳統CNN在紋理數據集分類效果不佳的原因。在機器視覺任務中,將紋理分析與深度學習結合
    的頭像 發表于 09-23 14:26 ?873次閱讀
    為什么傳統<b class='flag-5'>CNN</b>在紋理<b class='flag-5'>分類</b>數據集<b class='flag-5'>上</b>的效果不好?

    cnn卷積神經網絡分類有哪些

    卷積神經網絡概述 卷積神經網絡(Convolutional Neural Network,簡稱CNN)是一種深度學習模型,由多層卷積層和池化層堆疊而成。CNN通過卷積操作提取圖像特征,并通過池化操作降低特征維度,從而實現對圖像
    的頭像 發表于 07-03 09:28 ?741次閱讀
    百家乐官网庄的概率| 百家乐官网国际娱乐城| 百家乐玩法皇冠现金网| 百家乐官网中B是什么| 大发888 备用6222.com| 网上的百家乐官网怎么才能赢| 百家乐官网技巧阅读| 大发888娱乐场下载iypu rd| 赌场百家乐技巧| 网上百家乐官网有哪些玩法| 久盛娱乐城| 大发888娱乐场下载删除| 开心8百家乐现金网| 百家乐官网平注赢钱法| 历史| 日博bet365| 足球百家乐系统| 澳门百家乐赢钱秘| 至尊百家乐官网娱乐网| 百家乐官网游戏机分析仪| 东方明珠线上娱乐| 香港六合彩论坛| 吕百家乐赢钱律| 模拟百家乐游戏软件| 联众百家乐官网的玩法技巧和规则| 百家乐官网不倒翁注码| bet365游戏| 大发888娱乐城17| 百家乐几点不用补牌| 六合彩百家乐有什么平码| 百家乐注册赠金| 喜达百家乐官网的玩法技巧和规则 | 百家乐扑克桌布| 盐城百家乐官网的玩法技巧和规则| 百家乐官网平台注册送彩金| 真钱梭哈| 正规博彩通| bet365注册哪家好 | 网上百家乐网站导航| 永利高百家乐网址| 百家乐是不是有技巧|