一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算詳解

DIri_ALIFPGA ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:工程師陳翠 ? 2018-07-23 09:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

卷積是一種線性運(yùn)算,其本質(zhì)是滑動(dòng)平均思想,廣泛應(yīng)用于圖像濾波。而隨著人工智能深度學(xué)習(xí)的發(fā)展,卷積也在神經(jīng)網(wǎng)絡(luò)中發(fā)揮重要的作用,如卷積神經(jīng)網(wǎng)絡(luò)。本參考設(shè)計(jì)主要介紹如何基于INTEL 硬浮點(diǎn)的DSP Block實(shí)現(xiàn)32位單精度浮點(diǎn)的卷積運(yùn)算,而針對(duì)定點(diǎn)及低精度的浮點(diǎn)運(yùn)算,則需要對(duì)硬浮點(diǎn)DSP Block進(jìn)行相應(yīng)的替換即可。

原理分析

設(shè):f(x), g(x)是兩個(gè)可積函數(shù),作積分:

基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算詳解

隨著x的不同取值,該積分定義了一個(gè)新的函數(shù)h(x),稱為函數(shù)f(x)與g(x)的卷積,記為h(x)=f(x)*g(x)。

如果卷積的變量是序列x(n)和h(n),則卷積的結(jié)果為

基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算詳解

其中*表示卷積。因此兩個(gè)序列的卷積,實(shí)際上就是多項(xiàng)式的乘法,用個(gè)例子說(shuō)明其工作原理。a = [7,5,4]; b = [6,7,9];則實(shí)現(xiàn)a和b的卷積,就是把a(bǔ)和b作為一個(gè)多項(xiàng)式的系數(shù),按多項(xiàng)式的升冪或降冪排列,即為:

基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算詳解

因此得到a*b=[42,79,122,73,36];與Matlab運(yùn)算結(jié)果一致。而二維卷積可以采用通用多項(xiàng)式乘積方法實(shí)現(xiàn)卷積運(yùn)算。

基于INTEL FPGA的實(shí)現(xiàn)分析

如上我們確定了兩個(gè)序列的卷積等同于兩個(gè)多項(xiàng)式的乘法,因此當(dāng)我們需要計(jì)算序列[a0,a1,a2, …,an-1]與[b0,b1,b2, …,bn-1]的卷積結(jié)果時(shí),可以成立a,b兩個(gè)n階多項(xiàng)式,如下所示:

基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算詳解

則[a0,a1,a2, …,an-1]與[b0,b1,b2, …,bn-1]的卷積結(jié)果即為由a*b得到的多項(xiàng)式的各項(xiàng)系數(shù)所組成的序列。令c=a*b,得到

基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算詳解

則由多項(xiàng)式c的各階系數(shù)所組成的新的序列[c0,c1,c2, …,c2n-1]即為[a0,a1,a2, …,an-1]與[b0,b1,b2, …,bn-1]的卷積結(jié)果。則按照高階多項(xiàng)式計(jì)算展開(kāi)可得到:

基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算詳解

┆┆

基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算詳解

┆┆

基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算詳解

因此卷積的運(yùn)算可以轉(zhuǎn)化為行向量與列向量相乘的結(jié)果,即乘累加的運(yùn)算結(jié)構(gòu)。

Intel FPGA在Arria10DSP Block中首次支持了單精度硬浮點(diǎn)DSP block,是行業(yè)內(nèi)第一個(gè)支持單精度DSP block,硬浮點(diǎn)DSP block架構(gòu)如圖1所示:

基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算詳解

圖1 硬浮點(diǎn)DSPblock架構(gòu)

硬浮點(diǎn)DSP Block包含硬浮點(diǎn)乘法器,硬浮點(diǎn)加法器,支持乘累加運(yùn)算,因此采用硬浮點(diǎn)DSPblock實(shí)現(xiàn)行列向量相乘是非常好的方式。下面我們針對(duì)一個(gè)實(shí)際的卷積運(yùn)算,介紹如何基于INTEL硬浮點(diǎn)DSP block實(shí)現(xiàn)。假設(shè)我們需要求隨機(jī)數(shù)組a=[4,8,9,11]與b=[10,5,7,13]的卷積運(yùn)算結(jié)果,則根據(jù)上面的分析,保持?jǐn)?shù)組a順序不變,而數(shù)組b需根據(jù)上述分析結(jié)果,針對(duì)每一個(gè)卷積結(jié)果產(chǎn)生新的序列。所以整個(gè)實(shí)現(xiàn)包括數(shù)列重組模塊和硬浮點(diǎn)乘法器模塊及輸出處理。下面是實(shí)現(xiàn)框圖及仿真結(jié)果。

圖2 實(shí)現(xiàn)框圖

圖3 Modelsim仿真結(jié)果

仿真結(jié)果與Matlab實(shí)現(xiàn)結(jié)果一致,并且該設(shè)計(jì)中充分考慮了FPGA并行擴(kuò)展特性,對(duì)于低速率要求的設(shè)計(jì)可采用DSP Block復(fù)用的方式節(jié)約DSP block數(shù)量。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    556

    文章

    8153

    瀏覽量

    356283
  • FPGA
    +關(guān)注

    關(guān)注

    1644

    文章

    22008

    瀏覽量

    616535
  • intel
    +關(guān)注

    關(guān)注

    19

    文章

    3494

    瀏覽量

    188219

原文標(biāo)題:基于INTEL FPGA硬浮點(diǎn)DSP實(shí)現(xiàn)卷積運(yùn)算

文章出處:【微信號(hào):ALIFPGA,微信公眾號(hào):FPGA極客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    進(jìn)群免費(fèi)領(lǐng)FPGA學(xué)習(xí)資料!數(shù)字信號(hào)處理、傅里葉變換與FPGA開(kāi)發(fā)等

    ~ 01、數(shù)字信號(hào)處理的FPGA實(shí)現(xiàn) 旨在講解前端數(shù)字信號(hào)處理算法的高效實(shí)現(xiàn)。首先概述了當(dāng)前的FPGA技術(shù)、器件以及用于設(shè)計(jì)最先進(jìn)DSP
    發(fā)表于 04-07 16:41

    如何使用MATLAB實(shí)現(xiàn)一維時(shí)間卷積網(wǎng)絡(luò)

    本文對(duì)一維卷積操作進(jìn)行介紹,包括一維擴(kuò)展卷積和一維因果卷積,以及 MATLAB 對(duì)一維卷積的支持情況。在最后通過(guò)一個(gè)實(shí)例演示如何在 MATLAB 中將一維
    的頭像 發(fā)表于 03-07 09:15 ?977次閱讀
    如何使用MATLAB<b class='flag-5'>實(shí)現(xiàn)</b>一維時(shí)間<b class='flag-5'>卷積</b>網(wǎng)絡(luò)

    FPGA圖像處理基礎(chǔ)----實(shí)現(xiàn)緩存卷積窗口

    像素行與像素窗口 一幅圖像是由一個(gè)個(gè)像素點(diǎn)構(gòu)成的,對(duì)于一幅480*272大小的圖片來(lái)說(shuō),其寬度是480,高度是272。在使用FPGA進(jìn)行圖像處理時(shí),最關(guān)鍵的就是使用FPGA內(nèi)部的存儲(chǔ)資源對(duì)像
    的頭像 發(fā)表于 02-07 10:43 ?758次閱讀
    <b class='flag-5'>FPGA</b>圖像處理基礎(chǔ)----<b class='flag-5'>實(shí)現(xiàn)</b>緩存<b class='flag-5'>卷積</b>窗口

    FPGA中的浮點(diǎn)四則運(yùn)算是什么

    由于定點(diǎn)的四則運(yùn)算比較簡(jiǎn)單,如加減法只要注意符號(hào)擴(kuò)展,小數(shù)點(diǎn)對(duì)齊等問(wèn)題即可。在本文中,運(yùn)用在前一節(jié)中描述的自定義浮點(diǎn)格式FPGA中數(shù)的表示方法(下),完成浮點(diǎn)四則
    的頭像 發(fā)表于 11-16 12:51 ?875次閱讀
    <b class='flag-5'>FPGA</b>中的<b class='flag-5'>浮點(diǎn)</b>四則<b class='flag-5'>運(yùn)算</b>是什么

    FPGA浮點(diǎn)四則運(yùn)算實(shí)現(xiàn)過(guò)程

    由于定點(diǎn)的四則運(yùn)算比較簡(jiǎn)單,如加減法只要注意符號(hào)擴(kuò)展,小數(shù)點(diǎn)對(duì)齊等問(wèn)題即可。在本文中,運(yùn)用在前一節(jié)中描述的自定義浮點(diǎn)格式FPGA中數(shù)的表示方法(下),完成浮點(diǎn)四則
    的頭像 發(fā)表于 11-16 11:19 ?1353次閱讀
    <b class='flag-5'>FPGA</b>中<b class='flag-5'>浮點(diǎn)</b>四則<b class='flag-5'>運(yùn)算</b>的<b class='flag-5'>實(shí)現(xiàn)</b>過(guò)程

    卷積神經(jīng)網(wǎng)絡(luò)的基本原理與算法

    ),是深度學(xué)習(xí)的代表算法之一。 一、基本原理 卷積運(yùn)算 卷積運(yùn)算卷積神經(jīng)網(wǎng)絡(luò)的核心,用于提取圖像中的局部特征。 定義
    的頭像 發(fā)表于 11-15 14:47 ?1733次閱讀

    FPGA加速深度學(xué)習(xí)模型的案例

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)加速深度學(xué)習(xí)模型是當(dāng)前硬件加速領(lǐng)域的一個(gè)熱門(mén)研究方向。以下是一些FPGA加速深度學(xué)習(xí)模型的案例: 一、基于FPGA的AlexNet卷積
    的頭像 發(fā)表于 10-25 09:22 ?1146次閱讀

    如何使用高性能浮點(diǎn)TMS320C67x DSP立即開(kāi)始開(kāi)發(fā)

    電子發(fā)燒友網(wǎng)站提供《如何使用高性能浮點(diǎn)TMS320C67x DSP立即開(kāi)始開(kāi)發(fā).pdf》資料免費(fèi)下載
    發(fā)表于 10-17 09:35 ?0次下載
    如何使用高性能<b class='flag-5'>浮點(diǎn)</b>TMS320C67x <b class='flag-5'>DSP</b>立即開(kāi)始開(kāi)發(fā)

    TMS320C6742定點(diǎn)和浮點(diǎn)DSP數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMS320C6742定點(diǎn)和浮點(diǎn)DSP數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-07 09:57 ?0次下載
    TMS320C6742定點(diǎn)和<b class='flag-5'>浮點(diǎn)</b><b class='flag-5'>DSP</b>數(shù)據(jù)表

    TMS320C6746定點(diǎn)和浮點(diǎn)DSP數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TMS320C6746定點(diǎn)和浮點(diǎn)DSP數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-07 09:55 ?0次下載
    TMS320C6746定點(diǎn)和<b class='flag-5'>浮點(diǎn)</b><b class='flag-5'>DSP</b>數(shù)據(jù)表

    如何在Tensorflow中實(shí)現(xiàn)卷積

    在TensorFlow中實(shí)現(xiàn)卷積(也稱為轉(zhuǎn)置卷積或分?jǐn)?shù)步長(zhǎng)卷積)是一個(gè)涉及多個(gè)概念和步驟的過(guò)程。反卷積在深度學(xué)習(xí)領(lǐng)域,特別是在圖像分割、圖
    的頭像 發(fā)表于 07-14 10:46 ?1105次閱讀

    圖像處理中的卷積運(yùn)算

    卷積運(yùn)算是圖像處理中一種極其重要的操作,廣泛應(yīng)用于圖像濾波、邊緣檢測(cè)、特征提取等多個(gè)方面。它基于一個(gè)核(或稱為卷積核、濾波器)與圖像進(jìn)行相乘并求和的過(guò)程,通過(guò)這一操作可以實(shí)現(xiàn)對(duì)圖像的平
    的頭像 發(fā)表于 07-11 15:15 ?3832次閱讀

    FPGA實(shí)現(xiàn)LeNet-5卷積神經(jīng)網(wǎng)絡(luò)

    LeNet-5 是一個(gè)經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)(CNN),由 Yann LeCun 在 1990 年代設(shè)計(jì),主要用于手寫(xiě)數(shù)字識(shí)別任務(wù)(如 MNIST 數(shù)據(jù)集)。隨著現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)技術(shù)的發(fā)展
    的頭像 發(fā)表于 07-11 10:27 ?3324次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)原理

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡(jiǎn)稱CNN)是一種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、視頻分析、自然語(yǔ)言處理等領(lǐng)域。本文將詳細(xì)介紹卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)原理、結(jié)構(gòu)
    的頭像 發(fā)表于 07-03 10:49 ?1103次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的基本原理、結(jié)構(gòu)及訓(xùn)練過(guò)程

    、訓(xùn)練過(guò)程以及應(yīng)用場(chǎng)景。 一、卷積神經(jīng)網(wǎng)絡(luò)的基本原理 卷積運(yùn)算 卷積運(yùn)算卷積神經(jīng)網(wǎng)絡(luò)的核心,它
    的頭像 發(fā)表于 07-02 14:21 ?4284次閱讀