經(jīng)過(guò)了前面的開胃菜,項(xiàng)目正式開始。一步步講解這個(gè)模型怎么玩起來(lái)的。從C 到 matlab 到 FPGA ,三個(gè)平臺(tái)聯(lián)合起來(lái)完成這個(gè) 由 RTL 實(shí)現(xiàn) CNN 的項(xiàng)目。
第一步,講解深度學(xué)習(xí)模型在C中是怎么實(shí)現(xiàn)的,也就是梳理數(shù)據(jù)流怎么運(yùn)算的。
第二步,講解這個(gè)數(shù)據(jù)怎么使用,如何去一步步驗(yàn)證自己的設(shè)計(jì)。
第三步,根據(jù)前面的理解,在FPGA中如何去設(shè)計(jì)自己的代碼。
首先,C的源碼前面的文章中已經(jīng)公開了,第一步當(dāng)然是理解深度學(xué)習(xí)模型在C中是怎么實(shí)現(xiàn)的。
這個(gè)深度學(xué)習(xí)的模型 LeNet5 實(shí)現(xiàn)的功能是 MNIST 數(shù)據(jù)識(shí)別。MNIST數(shù)據(jù)集是一個(gè)手寫數(shù)字的圖片集,然后被制作成了一個(gè)特殊的文件格式 —— 已經(jīng)不是圖片了,變成了這么一個(gè)東西:
網(wǎng)站上下載下來(lái)的是一個(gè)gz壓縮文件,解壓之后就是一個(gè)idx3-ubyte格式的文件。它包含了6w張用來(lái)做網(wǎng)絡(luò)模型訓(xùn)練的圖片,和1w張用來(lái)測(cè)試網(wǎng)絡(luò)模型的圖片。每張圖片再搭配一個(gè)標(biāo)簽 —— 表明它是數(shù)據(jù)幾。所以整個(gè)數(shù)據(jù)集就是 7w張圖片 加 7w個(gè)標(biāo)簽。
不過(guò)你可以通過(guò)python輕松導(dǎo)出來(lái),可以看到具體的圖片和標(biāo)簽。解釋這么多也夠用了,有興趣的朋友可以百度一下 MNIST ,比如下圖,就是一個(gè)博主從數(shù)據(jù)集里扒出來(lái)的圖。
先理解了數(shù)據(jù)集,再看看 C語(yǔ)言源碼。第一步先分別導(dǎo)入訓(xùn)練數(shù)據(jù)集和標(biāo)簽,再導(dǎo)入里測(cè)試數(shù)據(jù)集和標(biāo)簽,然后開始 load 模型 —— 第一次運(yùn)行模型為空,于是對(duì)模型進(jìn)行初始化。細(xì)心一點(diǎn)往下看這個(gè)初始化過(guò)程會(huì)覺得很有特色 —— 刻意讓數(shù)據(jù)很隨機(jī),讓它們都不相同是有好處,具體什么好處可以去看看吳恩達(dá)的視頻。(我看了,云里霧里的還是不懂,所以也解釋不清楚)
后面就是訓(xùn)練和測(cè)試了,for是我后面添加的,可以讓它訓(xùn)練很多次,提升精度。下面就是測(cè)試和打印,然后保存模型,釋放空間。主程序完畢。
拿到開源代碼,運(yùn)行一下,結(jié)果就是這樣子的
我就是在這個(gè)代碼基礎(chǔ)上,理解LeNet5的結(jié)構(gòu),然后量化。量化后再驗(yàn)證精度,然后導(dǎo)出模型,導(dǎo)出計(jì)算的中間數(shù)據(jù)。這個(gè) C 代碼就算物盡其用了。
有人覺得難懂?沒關(guān)系,對(duì)于這個(gè)項(xiàng)目而言,我已經(jīng)把C程序簡(jiǎn)化成了一張圖,你可以忽略上述所有文字和程序,記住這張圖就行。圖的解釋可以看QQ群中的文檔,后面我還會(huì)詳細(xì)講解這張圖的,以及圖中用到的數(shù)據(jù)。
原文標(biāo)題:LeNet5 MNIST 的 FPGA實(shí)現(xiàn) 3
文章出處:【微信公眾號(hào):FPGA攻城獅之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
FPGA
+關(guān)注
關(guān)注
1630文章
21796瀏覽量
606010 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7139瀏覽量
89578 -
代碼
+關(guān)注
關(guān)注
30文章
4825瀏覽量
69049 -
cnn
+關(guān)注
關(guān)注
3文章
353瀏覽量
22335
原文標(biāo)題:LeNet5 MNIST 的 FPGA實(shí)現(xiàn) 3
文章出處:【微信號(hào):gh_99a29eb83412,微信公眾號(hào):FPGA攻城獅之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論