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

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

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

基于FPGA進(jìn)行DNN設(shè)計(jì)經(jīng)驗(yàn)總結(jié)

jf_78858299 ? 來源:AI加速 ? 作者:AI加速 ? 2023-03-21 14:12 ? 次閱讀

深度神經(jīng)網(wǎng)絡(luò)(deep nearal network)是機(jī)器學(xué)習(xí)發(fā)展20年來取得的最大突破,比如在語音識(shí)別方面,相比于傳統(tǒng)方法,其將錯(cuò)誤率降低了30%;

而在2011年的圖片識(shí)別競賽上,將錯(cuò)誤率從26%降低到3.5%,這些使得處于發(fā)展低谷的人工智能突然熱門起來,從學(xué)術(shù)界擴(kuò)展到工業(yè)界,甚至在google的alpha go擊敗了頂級(jí)圍棋大師李世石后,人工智能成為全民討論的熱門,所有的程序員都?jí)粝朕D(zhuǎn)行機(jī)器學(xué)習(xí)。

DNN中應(yīng)用最廣泛的是CNN和RNN,CNN是一種卷積網(wǎng)絡(luò),在圖片識(shí)別分類中用的較多,RNN可以處理時(shí)間序列的信息,比如視頻識(shí)別和語音識(shí)別。

這些DNN結(jié)構(gòu)通常很深,計(jì)算量也很大。比如VGG16用來處理1000種圖片類別,有550MB的權(quán)重?cái)?shù)據(jù),完成一個(gè)分類就需要31Gop(operations)。

為了降低計(jì)算量和訪問內(nèi)存時(shí)間,有兩種方法:量化和降低權(quán)重。量化是減小權(quán)重或者激活數(shù)據(jù)的精度,比如從32bit浮點(diǎn)量化到8bit甚至1bit,就減小了數(shù)據(jù)量。降低權(quán)重包括剪枝和結(jié)構(gòu)簡化,這兩種方法可以去除多余的權(quán)重參數(shù)。

DNN包括訓(xùn)練和推理兩個(gè)階段,訓(xùn)練是一個(gè)學(xué)習(xí)過程,通過不斷的對(duì)權(quán)重進(jìn)行迭代更新而使得網(wǎng)絡(luò)獲得智能。而推理階段是給出一定輸入后,網(wǎng)絡(luò)會(huì)根據(jù)之前學(xué)習(xí)到的知識(shí),輸出準(zhǔn)確結(jié)果。

為了使得結(jié)果具有更高準(zhǔn)確率,訓(xùn)練是進(jìn)行浮點(diǎn)運(yùn)算,同時(shí)涉及到大量的微分運(yùn)算,所以訓(xùn)練通常由GPU完成。但是訓(xùn)練是一次性的,當(dāng)訓(xùn)練完成,網(wǎng)絡(luò)就可以直接用于推斷而不需要再進(jìn)行訓(xùn)練。

FPGA就是用于推理過程,相比于CPU,具有更加靈活可編程的特點(diǎn)??梢葬槍?duì)DNN的特性增加運(yùn)算并行度,調(diào)整內(nèi)存訪問,比CPU獲得更高的實(shí)現(xiàn)效果。本章對(duì)自己基于FPGA進(jìn)行DNN設(shè)計(jì)的經(jīng)驗(yàn)做一個(gè)總結(jié),包括對(duì)網(wǎng)絡(luò)模型的一些體會(huì),以及FPGA設(shè)計(jì)架構(gòu)的一些思路,拋磚引玉。

1

DNN模型

不論是CNN還是RNN,一個(gè)共同特點(diǎn)是整個(gè)網(wǎng)絡(luò)是由幾個(gè)相同的單元聯(lián)結(jié)形成的。CNN中基本的單元是神經(jīng)元,一個(gè)神經(jīng)元包含一個(gè)權(quán)重和激活函數(shù),其中權(quán)重是對(duì)輸入信息進(jìn)行卷積(圖1.1),幾乎大部分運(yùn)算量都集中在卷積運(yùn)算中。

激活函數(shù)是對(duì)卷積后的結(jié)果進(jìn)行非線性運(yùn)算,激活函數(shù)有很多,像Relu,sigmoid等?;镜腃NN網(wǎng)絡(luò)結(jié)構(gòu)如圖1.2,網(wǎng)絡(luò)每層都由多個(gè)神經(jīng)元構(gòu)成,每個(gè)神經(jīng)元的輸入來自上一層的輸出,本層輸出作為下一層的輸入。

每層的輸入通道是上一層神經(jīng)元的個(gè)數(shù),輸出通道是這一層神經(jīng)元個(gè)數(shù)。每個(gè)神經(jīng)元對(duì)應(yīng)不同輸入通道的數(shù)據(jù)都有不同的權(quán)重?cái)?shù)據(jù)(即kernel),這些權(quán)重和對(duì)應(yīng)輸入通道的圖像完成卷積之后再求和,最后通過非線性激活函數(shù)給出輸出通道的值。我們用偽代碼來表示一層網(wǎng)絡(luò)的運(yùn)算過程:

For(int o=0;o

其中內(nèi)四層循環(huán)是圖像和權(quán)重的卷積運(yùn)算,F(xiàn)PGA就是利用這6層循環(huán)進(jìn)行加速。從這偽代碼中可以看出每個(gè)乘法都是相互獨(dú)立的,不會(huì)依賴于其他運(yùn)算,而加法包含兩種,一種是在卷積運(yùn)算中,另外一種是每個(gè)輸入通道卷積后的數(shù)據(jù)要求和。

圖片

圖1.1 圖像卷積

圖片

圖1.2 CNN網(wǎng)絡(luò)結(jié)構(gòu)

另外一種比較常用的網(wǎng)絡(luò)是RNN,這是一種循環(huán)神經(jīng)網(wǎng)絡(luò),具有記憶功能,可以處理時(shí)序信息。這里重點(diǎn)介紹一下LSTM網(wǎng)絡(luò),LSTM也是一種RNN。但是其增加了多個(gè)門控:記憶門,輸入門,輸出門等。這些門解決了梯度消失和發(fā)散的問題,能夠處理更長時(shí)序的信息。所以在語音識(shí)別和視頻識(shí)別方面有重要應(yīng)用。LSTM原理的介紹可以參見本公眾號(hào)歷史文章《LSTM原理》。FPGA更多的關(guān)心其中有哪些運(yùn)算,LSTM中主要包含矩陣乘法,向量求和,激活操作,向量點(diǎn)乘等。矩陣乘法消耗最多的運(yùn)算資源,如何優(yōu)化這種運(yùn)算是FPGA實(shí)現(xiàn)加速的關(guān)鍵。

對(duì)于矩陣乘法,根據(jù)其乘法順序有一下幾種方式。

1) 小矩陣x小矩陣

A每次獲得nxm塊數(shù)據(jù),和B的mxv塊數(shù)據(jù)相乘,然后A移動(dòng)nxm塊,B向下移動(dòng)mxv塊,再次相乘并且和之前結(jié)果累加,當(dāng)A移動(dòng)到右端,B同時(shí)移動(dòng)到底端,完成C中nxv矩陣塊。A中數(shù)據(jù)復(fù)用率在V次。

圖片

圖1.3 小矩陣x小矩陣

2) 列向量x行向量

A每次獲得nx1列向量,B獲得1xn行向量,二者進(jìn)行叉乘,得到nxn個(gè)矩陣數(shù)據(jù),然后A向右移動(dòng),同時(shí)B向下移動(dòng),二者叉乘結(jié)果和上一次進(jìn)行累加,最后當(dāng)A移動(dòng)到右端,B到底端,得到了一個(gè)nxn大小的C矩陣塊。A中數(shù)據(jù)復(fù)用率在n次。

圖片

圖1.4列向量x行向量

對(duì)比這兩種計(jì)算方式,第一種A數(shù)據(jù)復(fù)用率取決于B矩陣列大小。A可以看做權(quán)重,B看做輸入的圖像或者聲音信息,如果輸入信息“寬度不夠”,那么權(quán)重利用率低,就會(huì)造成運(yùn)算比搬運(yùn)數(shù)據(jù)慢,造成帶寬瓶頸。第二種方式A僅僅需要n個(gè)數(shù),就能參與n*n次乘法,利用率較高。這能夠很大緩解帶寬瓶頸。但是如果B的寬度較小或者B為向量,那么就會(huì)造成算力較低,搬運(yùn)進(jìn)n個(gè)數(shù)只能計(jì)算n次乘法。如何選擇需要根據(jù)實(shí)際情況來決定。

2

量化和減少權(quán)重

雖然浮點(diǎn)數(shù)能夠表示更高的數(shù)據(jù)精度和更大的數(shù)據(jù)寬度,但是浮點(diǎn)數(shù)據(jù)占用的存儲(chǔ)資源和運(yùn)算資源都較大,造成推理時(shí)間較長。隨著網(wǎng)絡(luò)的復(fù)雜和加深,對(duì)推理延時(shí)的要求越來越高,因此通過必要手段來壓縮網(wǎng)絡(luò)模型,降低推理延時(shí)顯得非常重要。壓縮網(wǎng)絡(luò)模型主要有兩種方式:量化和減少權(quán)重。

1) 定點(diǎn)化。

通過仿射變換將浮點(diǎn)數(shù)等效的映射到定點(diǎn)數(shù)空間,比如對(duì)于一個(gè)分布范圍在(Xmin, Xmax)的權(quán)重?cái)?shù)據(jù),需要映射到(0,N-1)區(qū)間,其中N是定點(diǎn)可以表示的數(shù)據(jù)范圍。浮點(diǎn)數(shù)就可以通過一個(gè)尺度和偏移量來表示為:

圖片

其中Z為0點(diǎn)偏移量,也是定點(diǎn)數(shù)據(jù),S為尺度大小,用浮點(diǎn)數(shù)表示。在計(jì)算卷積的時(shí)候,就可以將尺度因子提取出來進(jìn)行后處理,而乘法和加法運(yùn)算使用定點(diǎn)完成。比如對(duì)于一個(gè)卷積運(yùn)算可以表示為:

圖片

2) 二值化

二值化就是將參數(shù)量化到兩個(gè)值{-1, 1},和一個(gè)尺度參數(shù)。二值化網(wǎng)絡(luò)大大降低了運(yùn)算和參數(shù)存儲(chǔ),但是也對(duì)網(wǎng)絡(luò)精度有很大削弱,所以應(yīng)用范圍很窄,比如用在MNIST和CIFAR-10這樣比較小的數(shù)據(jù)集中。對(duì)于定點(diǎn)乘法一般都是用DSP實(shí)現(xiàn),所以算力大小受到了FPGA中DSP數(shù)量的限制。而二值化網(wǎng)絡(luò)的乘法運(yùn)算可以通過簡單的邏輯來實(shí)現(xiàn),不在受限于DSP資源,可以大大提高算力。將浮點(diǎn)轉(zhuǎn)化為二值有兩種方式,一種是設(shè)定閾值,超過閾值設(shè)為1,小于設(shè)為-1。即:

圖片

其中概率為:

圖片

隨機(jī)rounding不會(huì)導(dǎo)致參數(shù)分布發(fā)生偏移。

1) log量化

在一個(gè)2為底的對(duì)數(shù)表達(dá)中,參數(shù)被量化為一個(gè)2的冪次數(shù)據(jù)和尺度數(shù)。對(duì)數(shù)表達(dá)可以通過少量的bit位數(shù)涵蓋寬闊的數(shù)據(jù)范圍。比如3bit數(shù)據(jù),最大為8,用2的冪次表達(dá)可以涵蓋從0到255個(gè)數(shù)據(jù)范圍。使用了log表達(dá)的乘法就可以用移位操作來實(shí)現(xiàn)了,這大大節(jié)省了DSP的使用。

量化的方式主要分為兩種:一種是訓(xùn)練后量化,一種是在訓(xùn)練過程中量化。訓(xùn)練后量化省去了重新量化,但是可能對(duì)精度造成較大損失。訓(xùn)練過程量化,是在進(jìn)行前向網(wǎng)絡(luò)計(jì)算的時(shí)候,使用量化參數(shù),而在反向傳播過程中存儲(chǔ)了浮點(diǎn)參數(shù),更新浮點(diǎn)參數(shù)。過程如下:

圖片

減少權(quán)重的方法也有很多,比如剪枝和結(jié)構(gòu)化參數(shù)。剪枝是去除不重要的神經(jīng)元連接,大大減少了權(quán)重?cái)?shù)據(jù),而結(jié)構(gòu)化參數(shù)是通過設(shè)定閾值,讓某一塊的參數(shù)集體為0,這樣降低了參數(shù)存儲(chǔ)和計(jì)算量。這兩種方法的詳細(xì)介紹請(qǐng)見公眾號(hào)之前的文章。

3

FPGA中并行方法

CNN中可以進(jìn)行并行化運(yùn)算的結(jié)構(gòu)有:輸入通道,輸出通道,圖像卷積。這其中輸出通道之間是沒有依賴關(guān)系的,而輸入通道的結(jié)果是需要求和的。圖像卷積每行輸出像素之間沒有依賴關(guān)系,但是每個(gè)結(jié)果像素是對(duì)應(yīng)原來圖像多個(gè)像素的。即一個(gè)卷積核涵蓋大小的像素和對(duì)應(yīng)卷積核相乘后累加。

神經(jīng)網(wǎng)絡(luò)中輸入輸出通道數(shù)量通常都較大,從輸入輸出通道上并行是一個(gè)很好的加速方法。比如我們選擇4個(gè)輸入通道和4個(gè)輸出通道,如圖3.1所示。

圖片

圖3.1 輸入輸出通道并行化

這樣就可以同時(shí)并行4x4個(gè)卷積運(yùn)算,對(duì)于一個(gè)網(wǎng)絡(luò)層為16(輸入通道)x16(輸出通道)的卷積運(yùn)算,應(yīng)用上述結(jié)構(gòu),就可以這樣拆分來運(yùn)算(圖3.2):每次都完成4x4通道運(yùn)算,因?yàn)橛?6個(gè)輸入通道,進(jìn)行4次這樣的運(yùn)算,就可以輸出4個(gè)輸出通道數(shù)據(jù)。以同樣方法進(jìn)行4次就實(shí)現(xiàn)了16x16網(wǎng)絡(luò)層的卷積運(yùn)算。

因?yàn)檩斎胪ǖ乐g需要求和運(yùn)算,所以使用了加法樹。隨著輸入通道變大,加法樹級(jí)數(shù)會(huì)變深。假設(shè)使用2輸入加法模塊,那么上述4通道結(jié)構(gòu)的加法樹級(jí)數(shù)就是2。

在進(jìn)行FPGA設(shè)計(jì)的時(shí)候這是一個(gè)需要考慮的問題,輸入通道越多,加法樹的fan-in越大,那么在高速時(shí)鐘情況下,不同路徑時(shí)間的延時(shí)就會(huì)影響時(shí)序性能了。如果輸出通道變大,那么feature map數(shù)據(jù)的扇出就會(huì)變大,因?yàn)橥粋€(gè)feature map是被所有輸出通道共享的。

圖片

圖3.2 通過4次4x4運(yùn)算,然后求和完成4輸出通道數(shù)據(jù)

輸入輸出通道的并行數(shù)收到了網(wǎng)絡(luò)層大小以及fan-in和fan-out的限制,不可能太大。所以要增加并行度還需要繼續(xù)探索圖像卷積。首先我們想到卷積不是多個(gè)像素和卷積核進(jìn)行乘法嘛,那么我們也將這些乘法并行起來就可以啦。但是這樣存在一個(gè)問題就是:卷積核大小是不固定的,比如3x3卷積核中9個(gè)乘法被同時(shí)執(zhí)行,那么等到了1x1卷積核,就會(huì)只有1個(gè)乘法器被使用,降低了乘法器利用率。因此這樣并行不靈活。并行運(yùn)算最好找到不存在依賴關(guān)系的運(yùn)算。每行像素的輸出是并行的,沒有依賴關(guān)系的。那么就可以同時(shí)進(jìn)行多行的卷積運(yùn)算,而一個(gè)卷積核內(nèi)的乘法和加法就可以用一個(gè)乘法器和累加器來做,這樣就能適應(yīng)不同卷積核大小的運(yùn)算。多行并行運(yùn)算如圖3.3。

圖片

圖3.3 3行卷積并行運(yùn)算

采用以上輸入輸出通道的架構(gòu),缺點(diǎn)就是fan-out和fan-in較大,加法樹級(jí)數(shù)較大。有沒有什么方法可以降低fan-in和fan-out呢?如果將輸入通道的求和也使用累加來實(shí)現(xiàn),那就變成只有一個(gè)PE完成卷積運(yùn)算以及不同通道的求和。但是一個(gè)PE卻降低了并行度,那么可以想到增加串行的PE數(shù)量來增加輸入并行度,即演變?yōu)橐涣蠵E來實(shí)現(xiàn)輸入通道求和。由于PE排序上的空間限制,導(dǎo)致后邊一個(gè)PE的計(jì)算相比于前一個(gè)PE要有1個(gè)周期延時(shí),如果將數(shù)據(jù)從從PE間的移動(dòng)打一拍,那正好可以在第二個(gè)PE計(jì)算出來的同時(shí)完成和前一個(gè)PE的求和,這就是脈動(dòng)的關(guān)鍵所在。更具體的脈動(dòng)陣列講解請(qǐng)看公眾號(hào)之前文章。

圖片

圖3.4 加法樹轉(zhuǎn)化為脈動(dòng)結(jié)構(gòu)

4

存儲(chǔ)結(jié)構(gòu)

即使經(jīng)過了量化和剪枝等處理,網(wǎng)絡(luò)的參數(shù)也非常大(如表4.1),這在有限的FPGA資源下是無法全部存儲(chǔ)于片上的。因此需要一個(gè)片外存儲(chǔ)器(DDR)來存儲(chǔ)權(quán)重和信息數(shù)據(jù),在需要數(shù)據(jù)的時(shí)候從片外搬上片上來進(jìn)行計(jì)算,并將結(jié)果存儲(chǔ)到片外存儲(chǔ)器。

表4.1 幾種網(wǎng)絡(luò)壓縮前和壓縮后大小對(duì)比

圖片

表4.2 幾種Xilinx器件存儲(chǔ)資源

圖片

這時(shí)候影響網(wǎng)絡(luò)推理延時(shí)的因素就不僅僅包含算力的大小了,還需要考慮片上存儲(chǔ)大小,ddr帶寬,權(quán)重和信息數(shù)據(jù)復(fù)用率的影響。帶寬和算力對(duì)推理延時(shí)的綜合作用可以通過roofline圖來表示。所謂“Roof-line”,指的就是由計(jì)算平臺(tái)的算力和帶寬上限這兩個(gè)參數(shù)所決定的“屋頂”形態(tài)。

Roofline的縱坐標(biāo)表示算力,屋頂代表了FPGA所能達(dá)到的最大算力,橫坐標(biāo)表示每byte數(shù)據(jù)可以參與多少次運(yùn)算,表示了權(quán)重和信息數(shù)據(jù)的復(fù)用率。由roofline劃分出兩個(gè)瓶頸區(qū)域,一個(gè)是算力瓶頸,一個(gè)是帶寬瓶頸。

當(dāng)權(quán)重和數(shù)據(jù)復(fù)用率較高,即I大于FPGA所能達(dá)到的最大算力對(duì)應(yīng)的復(fù)用率的時(shí)候,F(xiàn)PGA算力就是瓶頸,但是這種情況是好事情,因?yàn)镕PGA的運(yùn)算資源達(dá)到了100%的利用。

如果數(shù)據(jù)復(fù)用率較低的時(shí)候,那么帶寬就成為瓶頸,因?yàn)樵诋?dāng)前帶寬下,載入到片上的數(shù)據(jù)無法支持最大算力,這時(shí)候FPGA運(yùn)算資源利用率沒有被全部利用,存在等待數(shù)據(jù)情形。

圖片

圖4.1 roofline圖

在一個(gè)CNN中,網(wǎng)絡(luò)越往后圖像大小越小,輸入輸出通道數(shù)量變大,這導(dǎo)致的結(jié)果就是權(quán)重參數(shù)的復(fù)用率變低,這個(gè)時(shí)候FPGA計(jì)算資源利用率就會(huì)降低。這個(gè)時(shí)候帶寬大小以及片上存儲(chǔ)就成為瓶頸。考慮片上存儲(chǔ)后,通過一個(gè)簡單模型來分析FPGA計(jì)算資源利用率。容易知道數(shù)據(jù)量和復(fù)用率同總計(jì)算量的關(guān)系:

圖片

其中D為數(shù)據(jù)量,I為數(shù)據(jù)復(fù)用率。那么FPGA運(yùn)算資源自用率就可以表示為:

圖片

5

指令

指令實(shí)際上是一些控制FPGA流程的信息,比如載入多少數(shù)據(jù),進(jìn)行哪些運(yùn)算(conv,pool等)。這些控制信息會(huì)根據(jù)不同的網(wǎng)絡(luò)結(jié)構(gòu)編輯好,存儲(chǔ)成二進(jìn)制文件放到ddr中。通過FPGA讀入來控制操作。這些指令大體上包括以下幾種:

1) load weights/image:從ddr中加載權(quán)重或者image數(shù)據(jù)到片上來。這其中會(huì)包含ddr首地址,需要讀入的數(shù)據(jù)長度等信息。

2) conv:這個(gè)主要進(jìn)行卷積運(yùn)算,包括卷積核大小,圖像大小,輸入輸出通道等信息。

3) activate:激活函數(shù)的控制,控制是否進(jìn)行激活操作。

4) save image:將運(yùn)算完的結(jié)果存儲(chǔ)到ddr中,包括ddr地址,長度等信息。

總結(jié)

FPGA的靈活可配置結(jié)構(gòu)非常適合不斷變化的網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)其并行化和pipeline優(yōu)勢可以用于神經(jīng)網(wǎng)絡(luò)的加速。在進(jìn)行FPGA設(shè)計(jì)的時(shí)候,需要考慮到并行化方式,存儲(chǔ)結(jié)構(gòu),如何平衡帶寬和算力之間的關(guān)系。

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

    關(guān)注

    1624

    文章

    21573

    瀏覽量

    600653
  • 深度神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    0

    文章

    61

    瀏覽量

    4506
  • dnn
    dnn
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    9024
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Altera SOPC專題競賽-經(jīng)驗(yàn)總結(jié)

    Altera SOPC專題競賽-經(jīng)驗(yàn)總結(jié)Altera SOPC專題競賽-經(jīng)驗(yàn)總結(jié).docx
    發(fā)表于 08-10 18:19

    電源制作高手經(jīng)驗(yàn)總結(jié)

    電源制作高手經(jīng)驗(yàn)總結(jié)電源制作高手經(jīng)驗(yàn)總結(jié) 28頁.pdf (2.9 MB )
    發(fā)表于 06-05 02:05

    SOPC Builder/Nios 學(xué)習(xí)經(jīng)驗(yàn)總結(jié)

    SOPC Builder/Nios 學(xué)習(xí)經(jīng)驗(yàn)總結(jié)
    發(fā)表于 07-22 15:32 ?0次下載
    SOPC Builder/Nios 學(xué)習(xí)<b class='flag-5'>經(jīng)驗(yàn)總結(jié)</b>

    線圈天線設(shè)計(jì)經(jīng)驗(yàn)總結(jié)

    線圈天線設(shè)計(jì)經(jīng)驗(yàn)總結(jié)
    發(fā)表于 09-12 17:21 ?224次下載

    做四軸飛行器的經(jīng)驗(yàn)總結(jié)

    做四軸飛行器的經(jīng)驗(yàn)總結(jié),請(qǐng)各位大神共同學(xué)習(xí),里面是一位大神做四軸飛行器的經(jīng)驗(yàn)總結(jié)
    發(fā)表于 11-11 16:52 ?0次下載

    開關(guān)電源測量的經(jīng)驗(yàn)總結(jié)

    開關(guān)電源測量的經(jīng)驗(yàn)總結(jié),感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 09-18 17:34 ?0次下載

    模擬電路設(shè)計(jì)經(jīng)驗(yàn)總結(jié)

    模擬電子的相關(guān)知識(shí)學(xué)習(xí)教材資料——模擬電路設(shè)計(jì)經(jīng)驗(yàn)總結(jié)
    發(fā)表于 09-27 15:19 ?0次下載

    指針經(jīng)驗(yàn)總結(jié)

    指針經(jīng)驗(yàn)總結(jié)
    發(fā)表于 10-27 15:44 ?19次下載
    指針<b class='flag-5'>經(jīng)驗(yàn)總結(jié)</b>

    手機(jī)TDD引起電流聲問題理論和經(jīng)驗(yàn)總結(jié)

    手機(jī)TDD引起電流聲問題理論和經(jīng)驗(yàn)總結(jié)
    發(fā)表于 11-27 15:02 ?34次下載

    TD-LTE網(wǎng)絡(luò)優(yōu)化經(jīng)驗(yàn)總結(jié)解析

    TD-LTE網(wǎng)絡(luò)優(yōu)化經(jīng)驗(yàn)總結(jié)解析說明。
    發(fā)表于 04-27 10:30 ?23次下載

    電路設(shè)計(jì)的一些經(jīng)驗(yàn)總結(jié)

    電路設(shè)計(jì)的一些經(jīng)驗(yàn)總結(jié)
    發(fā)表于 12-02 13:57 ?42次下載

    EMI整改經(jīng)驗(yàn)總結(jié)

    EMI整改經(jīng)驗(yàn)總結(jié)
    發(fā)表于 12-20 15:55 ?45次下載

    富士變頻器維修經(jīng)驗(yàn)總結(jié)

    富士變頻器維修經(jīng)驗(yàn)總結(jié)
    發(fā)表于 10-07 10:55 ?0次下載

    選擇燒結(jié)銀的經(jīng)驗(yàn)總結(jié)

    選擇燒結(jié)銀的經(jīng)驗(yàn)總結(jié)
    的頭像 發(fā)表于 12-17 15:46 ?1200次閱讀
    選擇燒結(jié)銀的<b class='flag-5'>經(jīng)驗(yàn)總結(jié)</b>

    基于FPGA進(jìn)行DNN設(shè)計(jì)的經(jīng)驗(yàn)總結(jié)

    DNN中應(yīng)用最廣泛的是CNN和RNN,CNN是一種卷積網(wǎng)絡(luò),在圖片識(shí)別分類中用的較多,RNN可以處理時(shí)間序列的信息,比如視頻識(shí)別和語音識(shí)別。
    發(fā)表于 04-07 10:23 ?516次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>進(jìn)行</b><b class='flag-5'>DNN</b>設(shè)計(jì)的<b class='flag-5'>經(jīng)驗(yàn)總結(jié)</b>