文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.182476
中文引用格式: 陳旭東,周昱琪,李夢(mèng)杰,等. 基于SoC FPGA和CNN模型的動(dòng)作識(shí)別系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2019,45(2):97-104,108.
英文引用格式: Chen Xudong,Zhou Yuqi,Li Mengjie,et al. Design of an action recognition system based on SoC FPGA and CNN model[J]. Application of Electronic Technique,2019,45(2):97-104,108.
0 引言
基于視覺的動(dòng)作識(shí)別方法可以分為兩大類[1],其一是采用人工設(shè)計(jì)的特征進(jìn)行識(shí)別的方法,比如基于密集軌跡[2]、基于空時(shí)濾波器與圖模型[3]、基于關(guān)節(jié)信息和流形學(xué)習(xí)的方法[4]、基于HMM的復(fù)雜動(dòng)作建模[5]等;其二是采用深度網(wǎng)絡(luò)的方法,比如基于空時(shí)卷積神經(jīng)網(wǎng)絡(luò)[6]、Two-stream卷積網(wǎng)絡(luò)[7-8]、基于關(guān)節(jié)信息和LSTM的空時(shí)注意力模型[9]等。雖然使用深度學(xué)習(xí)可以減少人工設(shè)計(jì)特征的工作量,且在圖像識(shí)別等領(lǐng)域有極佳的表現(xiàn)[10],但是卻有運(yùn)算量大的問題。對(duì)此,可以通過模型改進(jìn)[11-12]、壓縮[13]、量化[14]等方式減少運(yùn)算量,也可以使用GPU[15]、ASIC[16]和FPGA[17-18]等硬件系統(tǒng)進(jìn)行加速運(yùn)算。
本文采用CNN模型對(duì)視頻流中的目標(biāo)任務(wù)進(jìn)行動(dòng)作識(shí)別。為了減少運(yùn)算量,首先利用基于光流信息和靜態(tài)圖像處理的行人檢測方案定位場景中的目標(biāo),而后使用CNN網(wǎng)絡(luò)對(duì)目標(biāo)區(qū)域的圖像和光流進(jìn)行處理,最終給出動(dòng)作識(shí)別結(jié)果。該系統(tǒng)在DE10-Nano開發(fā)板上進(jìn)行開發(fā)與驗(yàn)證,在FPGA端實(shí)現(xiàn)流水線型LK光流計(jì)算、基于HOG和SVM的行人檢測、指令集架構(gòu)的NPU處理單元,在HPS端實(shí)現(xiàn)目標(biāo)區(qū)域融合求解、NPU單元調(diào)用,兩者共享DDR內(nèi)存,采用AXI總線實(shí)現(xiàn)片內(nèi)通信。
1 動(dòng)作識(shí)別原理
1.1 LK光流法
I(x,y,t)表示時(shí)刻t拍攝下的視頻圖像中坐標(biāo)(x,y)點(diǎn)的灰度值,根據(jù)LK光流約束[19],光流場的計(jì)算滿足下列式子:
求解上述優(yōu)化問題,可以得到其最優(yōu)解的形式如下:
1.2 基于HOG和SVM的行人檢測
通常使用滑動(dòng)窗口對(duì)原始圖像進(jìn)行HOG特征提取,再對(duì)HOG特征向量進(jìn)行分類識(shí)別,達(dá)到行人檢測的目的。圖像中(x,y)坐標(biāo)點(diǎn)的像素值為I(x,y)。該點(diǎn)的像素梯度的大小和方向可以計(jì)算為M(x,y)和Θ(x,y)。將梯度的方向Θ(x,y)劃分到N個(gè)區(qū)間,每個(gè)區(qū)間占據(jù)π/N角度值,如圖1所示。
其中:
將檢測窗口(window)劃分成數(shù)個(gè)元胞(cell)。在本設(shè)計(jì)中,窗口尺寸設(shè)定為140×80,可被劃分成14×8個(gè)10×10的元胞。首先,對(duì)這14×8個(gè)10×10的元胞,依次統(tǒng)計(jì)每個(gè)元胞里面的梯度直方圖;將其通過規(guī)則化模塊,得到最終的cell特征;通過組合2×2的元胞特征,可以得到塊特征;最后,將窗口中的塊特征依次排列,得到最終的91×36=3 276維度的窗口特征,如圖2所示。
在提取HOG特征后,可以利用SVM進(jìn)行分類識(shí)別。本文選擇使用線性SVM進(jìn)行分類判別。其判別的依據(jù)如式(3)所示。
其中,w和b分別是SVM的權(quán)值和偏置,x則是輸入的HOG特征。最后輸出y=+1說明是正樣本(即行人);輸出y=-1則說明是負(fù)樣本(即非行人)。
1.3 動(dòng)態(tài)窗口與靜態(tài)窗口的融合
使用光流信息和靜態(tài)圖像信息都可以對(duì)視頻流中的行人進(jìn)行檢測[20-21]。通過實(shí)驗(yàn)發(fā)現(xiàn),使用基于HOG和SVM的靜態(tài)圖像檢測方法不易受到物體運(yùn)動(dòng)影響,但是誤檢率較高;而基于光流信息的動(dòng)態(tài)檢測方法誤檢率較低,但是一旦物體長時(shí)間靜止或者緩慢運(yùn)動(dòng)就難以定位目標(biāo)。因此,本文提出將兩種檢測方法相融合的方案,如圖3所示。
融合光流和行人檢測結(jié)果的窗口融合算法流程如下:
通過上述窗口融合算法,可以得到目標(biāo)人物在視頻幀中的位置。針對(duì)這個(gè)區(qū)域的視頻圖像和光流數(shù)據(jù)進(jìn)行采集,對(duì)于不同的動(dòng)作有不同的數(shù)據(jù)形態(tài)。如圖4所示,每個(gè)動(dòng)作對(duì)應(yīng)的四張圖分別是原始視頻圖像、光流x軸分量、光流y軸分量和顯著運(yùn)動(dòng)檢測掩膜。
1.4 基于CNN的動(dòng)作識(shí)別
計(jì)算每一幀視頻的光流,提取行人存在區(qū)域的視頻圖像、光流場x軸分量、y軸分量以及顯著運(yùn)動(dòng)檢測掩膜。將這四類圖像信息統(tǒng)一形變到94×94大小,并作為CNN的輸入通道,交由CNN進(jìn)行卷積層和池化層運(yùn)算;最后的結(jié)果經(jīng)過全連接層計(jì)算得到姿勢(shì)識(shí)別結(jié)果。其中,卷積核的尺寸統(tǒng)一設(shè)置為3×3大小,池化核的尺寸統(tǒng)一為2×2;而為了提高CNN的泛化性能,在全連接層使用了dropout,并對(duì)CNN中的卷積核、全連接權(quán)值都添加L2正則化。使用CNN模型識(shí)別目標(biāo)人物的動(dòng)作如圖5所示。
2 動(dòng)作識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.1 軟硬件協(xié)同開發(fā)示意圖
本文提出的動(dòng)作識(shí)別系統(tǒng)發(fā)揮了SoC FPGA的軟硬件協(xié)同處理能力。
將運(yùn)算量巨大的光流計(jì)算、靜態(tài)行人檢測和CNN運(yùn)算放置在FPGA端,充分發(fā)揮其并行計(jì)算、流水線型處理的運(yùn)算能力;而將運(yùn)算需求較低的窗口融合算法在HPS端實(shí)現(xiàn),使其發(fā)揮C語言程序設(shè)計(jì)的便捷性。HPS和FPGA之間通過AXI橋?qū)崿F(xiàn)通信。而為了訓(xùn)練CNN模型,在HPS端增加數(shù)據(jù)采樣模塊,將樣本保存到ima文件,通過網(wǎng)絡(luò)傳輸?shù)絇C。針對(duì)站立、揮手、下蹲和行走四種姿勢(shì)分別采樣,其中存在一定數(shù)量的“離群值”,為了更好地訓(xùn)練CNN,在MATLAB上實(shí)現(xiàn)了可視化樣本篩選程序。所有樣本和標(biāo)簽代入TensorFlow框架,進(jìn)行CNN模型訓(xùn)練;將訓(xùn)練得到的CNN模型參數(shù)和CNN模型結(jié)構(gòu)傳輸?shù)紿PS端,HPS會(huì)將CNN參數(shù)加載到DDR內(nèi)存,并將CNN模型對(duì)應(yīng)的NPU指令發(fā)送到FPGA端的指令集架構(gòu)NPU單元的指令Cache中。一旦HPS將目標(biāo)窗口融合完成,可以發(fā)送一次CNN運(yùn)算啟動(dòng)的指令,等待FPGA端NPU運(yùn)算完成,讀取DDR中的判別結(jié)果。動(dòng)作識(shí)別系統(tǒng)框架圖如圖6所示。
2.2 硬件系統(tǒng)框架
整個(gè)動(dòng)作識(shí)別系統(tǒng)的硬件部分框架的細(xì)節(jié)圖如圖7所示。DDR存儲(chǔ)空間為1 GB,被劃分為7個(gè)部分。其中,Linux操作系統(tǒng)占用0~480 MB空間;光流計(jì)算結(jié)果占用480 MB~512 MB這32 MB空間;原始視頻流數(shù)據(jù)占用512 MB~544 MB空間;行人檢測的結(jié)果占用576 MB~608 MB空間;行人加框視頻占用608 MB~640 MB空間;而將640 MB~1 024 MB空間用于NPU運(yùn)算過程中的數(shù)據(jù)緩存。
攝像頭MT9D111的數(shù)據(jù)進(jìn)入FPGA后,會(huì)同時(shí)傳輸?shù)絃K光流計(jì)算模塊、行人檢測模塊,計(jì)算結(jié)果會(huì)緩存到DDR中;而通過視頻緩存與顯示模塊,原始視頻可以存儲(chǔ)到DDR中,同時(shí)HDMI視頻輸出所需的數(shù)據(jù)從DDR中獲取。這些模塊對(duì)DDR的讀寫優(yōu)先級(jí)較高,且占用DDR帶寬較大,使用FPGA-to-SDRAM(F2S)接口直接和HPS上的SDRAM控制器交互。
HPS端的C程序需讀取行人檢測結(jié)果,并使用NMS算法對(duì)行人檢測的框進(jìn)行聚合、優(yōu)化。調(diào)用memcpy()將原始視頻復(fù)制到加框視頻的內(nèi)存空間,并加上打框的結(jié)果;同時(shí)使用通過HPS-to-FPGA(H2F)接口傳輸指令,啟動(dòng)FPGA端NPU的運(yùn)算,并讀取NPU運(yùn)算狀態(tài)。
NPU運(yùn)算時(shí)會(huì)對(duì)DDR進(jìn)行讀寫訪問,該訪問通過FPGA-to-HPS(F2H)接口和L3互聯(lián)網(wǎng)絡(luò)實(shí)現(xiàn)。NPU單元可以計(jì)量指令執(zhí)行時(shí)間,將運(yùn)算狀態(tài)與執(zhí)行時(shí)間寫入到狀態(tài)寄存器中,隨后HPS可以通過Light Weight HPS-to-FPGA(H2F-LW)接口獲取NPU運(yùn)行狀態(tài)信息。
2.3 流水線LK光流計(jì)算模塊設(shè)計(jì)
本文設(shè)計(jì)的流水線LK光流計(jì)算框架如圖8所示。
每當(dāng)MT9D111完成一幀圖像傳輸(VSYNC下降),或者一行傳輸完成(HSYNC下降),都會(huì)啟動(dòng)從DDR中讀取一行的視頻數(shù)據(jù)緩存到FIFO內(nèi),生成I(x,y,t-1);而后,MT9D111輸出的像素點(diǎn)分別進(jìn)入長度為一行像素點(diǎn)數(shù)量和長度為1的移位寄存器,得到I(x,y-1,t)和I(x-1,y,t);將I(x,y,t),I(x-1,y,t),I(x,y-1,t)和I(x,y,t-1)輸入到梯度計(jì)算模塊,得到在x,y和t方向上的一階差分為Ix,Iy和It;使用4個(gè)長度一致為一幀圖像一行像素點(diǎn)數(shù)量的移位寄存器,以及5×6個(gè)寄存器陣列構(gòu)造LK光流法計(jì)算區(qū)域,即Ω域。使用互乘矩陣模塊,分別計(jì)算寄存器陣列中previous對(duì)應(yīng)數(shù)據(jù)Ix,prev,Iy,prev和It,prev的乘法交叉項(xiàng);同理,計(jì)算出current對(duì)應(yīng)數(shù)據(jù)Ix,curr,Iy,curr和It,curr的乘法交叉項(xiàng)。Ω域內(nèi)乘法交叉項(xiàng)可以更新為:
結(jié)合光流場計(jì)算式(2),可以通過流水線型除法器實(shí)現(xiàn)光流場的計(jì)算。最后將運(yùn)算結(jié)果回寫到DDR中的480 MB~512 MB空間。
2.4 指令集架構(gòu)NPU設(shè)計(jì)
為了便于實(shí)現(xiàn)、修改CNN架構(gòu),本文設(shè)計(jì)了基于指令集架構(gòu)的NPU處理單元,能夠執(zhí)行矩陣運(yùn)算(如ADD、SUB、MULT、DOT等)、立即數(shù)運(yùn)算(ADDi、MULTi等)、2-D圖像處理(如卷積CONV、池化POOL等)、激活函數(shù)(如SIGM、TANH、ReLU等)。指令集架構(gòu)NPU結(jié)構(gòu)框圖如圖9所示。通過不同NPU指令組合,能夠?qū)崿F(xiàn)不同CNN結(jié)構(gòu)。NPU指令設(shè)計(jì)參考RISC格式,如表1所示,每條指令是128 bit長度,其中高4 bit區(qū)分指令類型,[123:92]表示參數(shù)$1內(nèi)存首地址,[91:60]表示參數(shù)$2的內(nèi)存首地址或者立即數(shù)IMM,[59:28]表示運(yùn)算結(jié)果$3的內(nèi)存首地址,[27:0]用于表示運(yùn)算參數(shù),如函數(shù)輸入矩陣尺寸、卷積核尺寸等。
比如全連接層的NPU指令可以表述如下。將存儲(chǔ)在首地址0x0F000000的輸入矩陣$1(尺寸為1×112)與存儲(chǔ)在0x0A6B0000的權(quán)值矩陣$2(尺寸為112×32)相乘,結(jié)果緩存在0x0C000000;而后加上存儲(chǔ)在0x0A6C0000的偏置(尺寸為1×32),緩存到0x0C010000;最后通過SIGM指令實(shí)現(xiàn)非線性映射,結(jié)果保存到0x0E000000。
Layer 6: fully_connection
MULT, @0F000000, @0A6B0000, @0C000000,M=1,N=112, P=32
inst=40F0000000A6B00000C0000000170200
ADD, @0C000000, @0A6C0000, @0C010000, M=1, N=32
inst=00C0000000A6C00000C0100000120000
SIGM, @0C010000, xx, @0E000000, M=1, N=32
inst=90C010000000000000E0000000120000
整個(gè)NPU劃分成FSM控制邏輯、NPU指令解析邏輯、NPU指令運(yùn)算邏輯和DDR讀寫接口邏輯四個(gè)部分。
如果NPU就緒,那么會(huì)給出cnn_inst_ready信號(hào),表示可以接收運(yùn)算指令;cnn_inst信號(hào)則是外部控制邏輯給出的運(yùn)算指令;cnn_inst_en信號(hào)則表示cnn_inst指令有效使能。
DDR讀寫接口由ddr_write_*和ddr_read_*兩組信號(hào)構(gòu)成,且都符合Avalon-MM接口協(xié)議。由*_addr給出讀寫地址,*_req給出讀寫請(qǐng)求,對(duì)于DDR寫入使用ddr_write_data表示寫入數(shù)據(jù)。讀寫過程中信號(hào)都要保持穩(wěn)定,直到DDR控制器給出*_ready讀寫請(qǐng)求完成信號(hào)。對(duì)于DDR讀取,ddr_read_data表示讀取的數(shù)據(jù),而ddr_read_data_valid則表示DDR讀取數(shù)據(jù)有效。
2.5 軟件設(shè)計(jì)架構(gòu)
HPS中的軟件程序框架圖如圖10所示。其中分別實(shí)現(xiàn)了下述功能模塊。
(1)初始化接口,使用mmap()函數(shù)將HPS-to-FPGA接口和DDR物理內(nèi)存映射到Linux用戶空間,方便其他模塊訪問、讀寫FPGA和DDR內(nèi)的數(shù)據(jù);
(2)按鍵響應(yīng)模塊,一旦用戶按下鍵盤上的按鍵,程序能夠及時(shí)響應(yīng);
(3)目標(biāo)窗口生成模塊,加載光流數(shù)據(jù)和靜態(tài)圖像行人檢測結(jié)果,生成動(dòng)態(tài)窗口和靜態(tài)窗口,并通過窗口融合算法對(duì)其進(jìn)行融合,確定目標(biāo)所在的位置;
(4)數(shù)據(jù)采集模塊,從DDR中采集視頻、光流等數(shù)據(jù),并保存到相應(yīng)的文件中,用于CNN的離線學(xué)習(xí)使用;
(5)NPU指令傳輸和狀態(tài)監(jiān)控模塊,能夠通過HPS-to-FPGA接口傳輸NPU指令到FPGA端的指令cache中;并且能夠啟動(dòng)NPU的運(yùn)算、監(jiān)控NPU的指令執(zhí)行情況;
(6)繪圖模塊,能夠?qū)⒋翱谌诤辖Y(jié)果保存到DDR中的內(nèi)存區(qū)間,便于HDMI輸出顯示。
3 動(dòng)作識(shí)別系統(tǒng)測試
3.1 CNN參數(shù)訓(xùn)練
為了訓(xùn)練本文的CNN模型,對(duì)于“無人”、“揮手”、“下蹲”、“站立”和“行走”這5種情況分別采集600個(gè)訓(xùn)練樣本,共計(jì)3 000個(gè)樣本。采用深度學(xué)習(xí)框架TensorFlow對(duì)CNN模型參數(shù)進(jìn)行訓(xùn)練[22]。整個(gè)訓(xùn)練過程在Nvidia GeForce 940M顯卡進(jìn)行,大約消耗3小時(shí),識(shí)別精度可以在訓(xùn)練集達(dá)到90%,在測試集達(dá)到88%。對(duì)于不同的動(dòng)作,訓(xùn)練結(jié)果如表2所示。本文采用的動(dòng)作識(shí)別方法能夠較好識(shí)別“揮手”、“站立”和“行走”這三種姿勢(shì);而對(duì)于“無人”、“下蹲”這兩個(gè)情況檢出率較低,但是誤報(bào)率也相對(duì)較低。
3.2 硬件資源消耗與運(yùn)行性能
由于本文設(shè)計(jì)的LK光流模塊、基于HOG和SVM的行人檢測模塊、指令集架構(gòu)NPU單元都是采用流水線處理,數(shù)據(jù)吞吐量極大。各模塊的資源消耗與理論最大性能如表3所示。
選擇DE10-Nano開發(fā)板作為軟硬件運(yùn)行平臺(tái),在Quartus II 14.0環(huán)境下對(duì)動(dòng)作識(shí)別系統(tǒng)進(jìn)行綜合、布局布線,工程消耗FPGA資源如表4所示。
布局布線后各模塊分布情況如圖11所示。
3.3 實(shí)際運(yùn)行測試
對(duì)本文提出的動(dòng)作識(shí)別系統(tǒng)進(jìn)行運(yùn)行測試。將開發(fā)板和攝像頭MT9D111、HDMI顯示器進(jìn)行連接,如圖12所示。
針對(duì)“站立”、“行走”、“下蹲”和“揮手”等不同的人物動(dòng)作進(jìn)行識(shí)別,結(jié)果輸出到顯示器。其中,左上角為原始視頻;左下角為光流計(jì)算結(jié)果;右上角為行人加框結(jié)果;右下角為動(dòng)作識(shí)別結(jié)果。系統(tǒng)運(yùn)行測試情況如圖13所示。
4 結(jié)論
本文提出并實(shí)現(xiàn)了一種基于SoC FPGA和CNN模型的動(dòng)作識(shí)別系統(tǒng)。該系統(tǒng)具有流水線型運(yùn)算結(jié)構(gòu),能快速地執(zhí)行光流計(jì)算和靜態(tài)的行人檢測;同時(shí),指令集架構(gòu)NPU的設(shè)計(jì)可以很方便地適應(yīng)于多種CNN模型結(jié)構(gòu);該姿勢(shì)識(shí)別系統(tǒng)在訓(xùn)練和實(shí)際識(shí)別測試中都表現(xiàn)出較高的準(zhǔn)確率。
參考文獻(xiàn)
[1] 范嘉義.基于骨架信息的人體動(dòng)作識(shí)別[D].合肥:中國科學(xué)技術(shù)大學(xué),2017.
[2] WANG H,KLASER A,SCHMID C,et al.Action recognition by dense trajectories[C].IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society,2011:3169-3176.
[3] TURAGA P,CHELLAPPA R,SUBRAHMANIAN V S,et al.Machine recognition of human activities:a survey[J].IEEE Transactions on Circuits & Systems for Video Technology,2008,18(11):1473-1488.
[4] 王鑫,沃波海,管秋,等.基于流形學(xué)習(xí)的人體動(dòng)作識(shí)別[J].中國圖象圖形學(xué)報(bào),2014,19(6):914-923.
[5] 戰(zhàn)青卓,王大東.基于深度神經(jīng)網(wǎng)絡(luò)的人體動(dòng)作識(shí)別研究[J].智能計(jì)算機(jī)與應(yīng)用,2018,8(2):151-154.
[6] VAROL G,LAPTEV I,SCHMID C.Long-term temporal convolutions for action recognition[J].IEEE Trans on Pattern Anal & Mach Intell,2015,PP(99):1-1.
[7] SILVA V D O,VIDAL F D B,ROMARIZ A R S.Human action recognition based on a two-stream convolutional network classifier[C].IEEE International Conference on Machine Learning and Applications.IEEE,2017:774-778.
[8] 王亮亮. 基于視覺的人體動(dòng)作識(shí)別研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2017.
[9] SONG S,LAN C,XING J,et al.An end-to-end spatiotemporal attention model for human action recognition from skeleton data[J].arXiv:1611.06067,2016.
[10] 周凱龍.基于深度學(xué)習(xí)的圖像識(shí)別應(yīng)用研究[D].北京:北京工業(yè)大學(xué),2016.
[11] GIRSHICK R.Fast R-CNN[J].Computer Science,2015.
[12] REN S,HE K,GIRSHICK R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[C].International Conference on Neural Information Processing Systems.MIT Press,2015:91-99.
[13] HAN S,KANG J,MAO H,et al.ESE:efficient speech recognition engine with sparse LSTM on FPGA[J].arXiv:1612.00694,2017.
[14] COURBARIAUX M,HUBARA I,SOUDRY D,et al.Binarized neural networks: training deep neural networks with weights and activations constrained to +1 or -1[J].arXiv:1602.02830,2016.
[15] ABADI M,AGARWAL A,BARHAM P,et al.TensorFlow:large-scale machine learning on heterogeneous distributed systems[J].arXiv:1603.04467,2016.
[16] LIU S,DU Z,TAO J,et al.Cambricon:an instruction set architecture for neural networks[C].International Symposium on Computer Architecture.IEEE Press,2016:393-405.
[17] 王思陽.基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速器設(shè)計(jì)[D].成都:電子科技大學(xué),2017.
[18] GUO K,SUI L,QIU J,et al.Angel-Eye:a complete design flow for mapping CNN onto embedded FPGA[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2017,PP(99):1-1.
[19] BARRON J L,F(xiàn)LEET D J,BEAUCHEMIN S S,et al.Performance of optical flow techniques[J].International Journal of Computer Vision,1994,12(1):43-77.
[20] 謝紅,原博,解武.LK光流法和三幀差分法的運(yùn)動(dòng)目標(biāo)檢測算法[J].應(yīng)用科技,2016,43(3):23-27,33.
[21] LI J,YIN Y,LIU X,et al.12,000-fps Multi-object detection using HOG descriptor and SVM classifier[C].IEEE/RSJ International Conference on Intelligent Robots and Systems.IEEE,2017:5928-5933.
[22] ZHANG M,XU H,WANG X,et al.Application of Google TensorFlow machine learning framework[J].Microcomputer & Its Applications,2017.
作者信息:
陳旭東1,周昱琪2,李夢(mèng)杰1,陳章進(jìn)1,3
(1.上海大學(xué) 微電子研究與開發(fā)中心,上海200444;
2.上海大學(xué) 納米科學(xué)與技術(shù)研究中心,上海200444;3.上海大學(xué) 計(jì)算中心,上海200444)