目前最熱門的技術(shù)之一,肯定要算上人工智能深度學(xué)習(xí)
。可能有童鞋會(huì)納悶,一個(gè)主要做硬件設(shè)計(jì)的老學(xué)究也會(huì)與“人工智能深度學(xué)習(xí)”等高大上沾邊嗎?其實(shí)我們倒不是研究“人工智能深度學(xué)習(xí)”算法,而是把成熟的“人工智能深度學(xué)習(xí)”應(yīng)用到FPGA上進(jìn)行加速,這是有實(shí)用價(jià)值的。基于FPGA的平臺(tái)和生態(tài)系統(tǒng),旨在為各種應(yīng)用提供人工智能,包括移動(dòng),智能家居,智能城市,智能工廠和智能車等,比如即將開始的光電競賽。目前幾大FPGA廠家都有自己的FPGA AI解決方案,比如lattice的sensAI就是一個(gè)“完整的技術(shù)堆棧”,它結(jié)合了模塊化硬件套件,神經(jīng)網(wǎng)絡(luò)IP核,軟件工具,參考設(shè)計(jì)和定制設(shè)計(jì)服務(wù) - 所有這些都旨在加速物聯(lián)網(wǎng)邊緣設(shè)備機(jī)器學(xué)習(xí)推理的開發(fā)。
以下給lattice打打廣告,就是不知道lattice給廣告費(fèi)嗎?
機(jī)器人可以幫助傳統(tǒng)制造業(yè)提升產(chǎn)品質(zhì)量、提高生產(chǎn)力和效率,且正快速應(yīng)用于倉儲(chǔ)和供應(yīng)自動(dòng)化、采礦、農(nóng)業(yè)和智慧城市等領(lǐng)域。萊迪思FPGA專為機(jī)器人應(yīng)用的獨(dú)特需求而優(yōu)化:
低功耗、確切的感知和控制
實(shí)時(shí)的工業(yè)網(wǎng)絡(luò)
機(jī)器視覺、深度感測(cè)
傳感器融合
馬達(dá)和馬達(dá)控制
人工智能
基于硬件的安全可信根
萊迪思FPGA專為機(jī)器人應(yīng)用優(yōu)化,提供以下優(yōu)勢(shì):
比同類FPGA降低多達(dá)75%功耗
小尺寸——4 mm x 4 mm起
比其他采用SRAM的FPGA的抗軟錯(cuò)誤性能好100多倍
優(yōu)化的傳感器接口
性能可拓展
萊迪思解決方案集合:Lattice mVision、Lattice sensAI
萊迪思解決方案集合提供即時(shí)可用、靈活的IP模塊、參考設(shè)計(jì)和平臺(tái),進(jìn)一步加速產(chǎn)品開發(fā)。



該參考設(shè)計(jì)使用一顆圖像傳感器在萊迪思低功耗ECP5 FPGA上實(shí)現(xiàn)了基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的人臉識(shí)別應(yīng)用。訓(xùn)練過程是在GPU上完成的,可以讓CNN準(zhǔn)確地檢測(cè)人臉上的點(diǎn),從而檢測(cè)和分辨出人臉差異。該設(shè)計(jì)可用于檢測(cè)其他目標(biāo),只需修改訓(xùn)練數(shù)據(jù)庫即可。
該設(shè)計(jì)通過硬件實(shí)現(xiàn),包括SPI、DDR存儲(chǔ)器接口模塊、圖像信號(hào)處理引擎、8個(gè)CNN加速引擎和計(jì)數(shù)與標(biāo)記疊加引擎來顯示注冊(cè)和識(shí)別的結(jié)果。該設(shè)計(jì)專為ECP5 85K LUT FPGA進(jìn)行了優(yōu)化。
該設(shè)計(jì)在FPGA上部署后,用戶可以在注冊(cè)階段通過提取和存儲(chǔ)256個(gè)16位值(代表不同的面部特征)來注冊(cè)其面部信息。在識(shí)別階段,注冊(cè)人員站在設(shè)備面前時(shí),將提取其256個(gè)16位值并將之與存儲(chǔ)的數(shù)值列表進(jìn)行比較驗(yàn)證。
類似VGG8的網(wǎng)絡(luò)——8個(gè)(卷積、批標(biāo)準(zhǔn)化)層+4個(gè)池化層+1個(gè)全連接層
采用了約100萬張圖像對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,包括針對(duì)各種環(huán)境下的識(shí)別增強(qiáng)
使用90 x 90 RGB輸入,以每秒2幀的速度運(yùn)行
ECP5總功耗僅為850 mW
。。。。。。。。。在lattice網(wǎng)站上有很多有趣的應(yīng)用設(shè)計(jì)實(shí)例。
也提供了對(duì)應(yīng)的FPGA設(shè)計(jì)軟件和專門的Machine Learning Software 3.2軟件(其用于構(gòu)建CNN卷積神經(jīng)網(wǎng)絡(luò)):

我們可以用FPGA來加速運(yùn)行一個(gè)tensorflow構(gòu)建的CNN網(wǎng)絡(luò),所以我們的工作就分為了兩部分:一部分是在PC機(jī)上構(gòu)建一個(gè)cnn網(wǎng)絡(luò),然后用tensorflow來訓(xùn)練此網(wǎng)絡(luò),另一部分就是設(shè)計(jì)一個(gè)FPGA硬件系統(tǒng),來在FPGA上應(yīng)用實(shí)現(xiàn)這個(gè)tensorflow訓(xùn)練成熟的CNN網(wǎng)絡(luò),比如用此FPGA實(shí)現(xiàn)的實(shí)現(xiàn)人臉識(shí)別、圖像分類....
下面給童鞋們演示如何在你的win10電腦上,利用win10的linux子系統(tǒng)安裝tensorflow,演示具體步驟與安裝的坑: