欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于神經網絡的計算方法及裝置與流程

文檔序號:12612449閱讀:240來源:國知局
基于神經網絡的計算方法及裝置與流程

本發(fā)明涉及圖像處理領域,更具體地涉及一種基于神經網絡的計算方法及裝置。



背景技術:

神經網絡(Neural Networks,NNs)也稱為人工神經網絡(Artificial Neural Networks,ANNs)或連接模型(Connection Model),是一種模仿動物神經網絡行為特征,進行分布式并行信息處理的算法數(shù)學模型。神經網絡依靠系統(tǒng)的復雜程度,通過調整內部大量計算節(jié)點之間相互連接的關系,從而達到處理信息的目的。

神經網絡在語音識別、文字識別、以及圖像視頻識別等許多領域中已經有了廣泛而成功的應用。傳統(tǒng)的神經網絡采用雙精度或單精度浮點數(shù)乘/加計算作為基本計算單元,然而,傳統(tǒng)的神經網絡的算法架構會導致大計算量需求、高內存(或顯存)占用、以及高帶寬要求等問題,不僅對硬件的要求較高,還會造成成本的增加。



技術實現(xiàn)要素:

考慮到上述問題而提出了本發(fā)明。本發(fā)明提供了一種基于神經網絡的計算方法,該方法對硬件的要求較低,從而能夠節(jié)約成本。

根據(jù)本發(fā)明的第一方面,提供了一種基于神經網絡的計算方法,包括:

獲取張量形式的原始圖像;

對所述張量形式的原始圖像進行定點計算;

基于所述定點計算的輸出數(shù)據(jù),產生圖像熱力圖;以及

基于所述圖像熱力圖對所述原始圖像進行標注。

示例性地,所述對所述張量形式的原始圖像進行定點計算,包括:

所述神經網絡中的每一個計算節(jié)點執(zhí)行以下操作:

對輸入數(shù)據(jù)進行卷積操作;

對所述卷積操作的卷積輸出進行線性計算;

對所述線性計算的結果進行低位寬定點化;

其中,所述神經網絡中的第一個計算節(jié)點的輸入數(shù)據(jù)為所述張量形式的原始圖像,所述神經網絡中的除所述第一個計算節(jié)點之外的其他計算節(jié)點的輸入數(shù)據(jù)為前一個計算節(jié)點的低位寬定點化的結果。

示例性地,所述線性計算為浮點線性計算。

示例性地,所述浮點線性計算表示為:y=k×X+b,

其中,X為定點數(shù),k、b和y為浮點數(shù),X表示所述卷積輸出,y表示所述浮點線性計算的結果,k和b為預先訓練好的浮點參數(shù)。

示例性地,所述對所述線性計算的結果進行低位寬定點化,包括:

根據(jù)所述浮點線性計算的結果與第一定點判決閾值之間的大小關系,確定所述低位寬定點化的結果,

其中,所述第一定點判決閾值為預先訓練好的浮點參數(shù),且所述第一定點判決閾值大于0。

示例性地,所述線性計算為定點線性計算。

示例性地,所述定點線性計算表示為:Y’=X’+B,

其中,X’=N×X,X、X’、Y’、B和N均為定點數(shù),N為預設的正整數(shù),X表示所述卷積輸出,Y’表示所述定點線性計算的結果,B表示定點位移參數(shù)。

示例性地,所述對所述線性計算的結果進行低位寬定點化,包括:

根據(jù)所述定點線性計算的結果與第二定點判決閾值之間的大小關系,確定所述低位寬定點化的結果。

示例性地,在所述對所述卷積操作的卷積輸出進行線性計算之前,還包括:

根據(jù)預先訓練好的浮點參數(shù),確定所述定點位移參數(shù)和所述第二定點判決閾值。

示例性地,所述對輸入數(shù)據(jù)進行卷積操作,包括:

對所述輸入數(shù)據(jù)進行以低位寬定點乘加為基礎單元的卷積操作。

示例性地,所述定點計算的輸出數(shù)據(jù)為所述神經網絡中的最后一個計算節(jié)點進行定點計算所得到的低位寬定點化的結果。

根據(jù)本發(fā)明的第二方面,提供了一種基于神經網絡的計算裝置,包括:

獲取模塊,用于獲取張量形式的原始圖像;

計算模塊,用于對所述張量形式的原始圖像進行定點計算;

熱力圖產生模塊,用于基于所述定點計算的輸出數(shù)據(jù),產生圖像熱力圖;以及

圖像標注模塊,用于基于所述圖像熱力圖對所述原始圖像進行標注。

示例性地,所述計算模塊包括卷積子模塊,線性計算子模塊和定點化模塊,

針對所述神經網絡中的每一個計算節(jié)點:

所述卷積子模塊,用于對輸入數(shù)據(jù)進行卷積操作;

所述線性計算子模塊,用于對所述卷積操作的卷積輸出進行線性計算;

所述定點化模塊,用于對所述線性計算的結果進行低位寬定點化;

其中,所述神經網絡中的第一個計算節(jié)點的輸入數(shù)據(jù)為所述張量形式的原始圖像,所述神經網絡中的除所述第一個計算節(jié)點之外的其他計算節(jié)點的輸入數(shù)據(jù)為前一個計算節(jié)點的低位寬定點化的結果。

示例性地,所述線性計算為浮點線性計算。

示例性地,所述浮點線性計算表示為:y=k×X+b,

其中,X為定點數(shù),k、b和y為浮點數(shù),X表示所述卷積輸出,y表示所述浮點線性計算的結果,k和b為預先訓練好的浮點參數(shù)。

示例性地,所述定點化模塊,用于:

根據(jù)所述浮點線性計算的結果與第一定點判決閾值之間的大小關系,確定所述低位寬定點化的結果,

其中,所述第一定點判決閾值為預先訓練好的浮點參數(shù),且所述第一定點判決閾值大于0。

示例性地,所述線性計算為定點線性計算。

示例性地,所述定點線性計算表示為:Y’=X’+B,

其中,X’=N×X,X、X’、Y’、B和N均為定點數(shù),N為預設的正整數(shù),X表示所述卷積輸出,Y’表示所述定點線性計算的結果,B表示定點位移參數(shù)。

示例性地,所述定點化子模塊,用于:

根據(jù)所述定點線性計算的結果與第二定點判決閾值之間的大小關系,確定所述低位寬定點化的結果。

示例性地,所述線性計算子模塊,還用于:

在對所述卷積操作的卷積輸出進行線性計算之前,根據(jù)預先訓練好的浮點參數(shù),確定所述定點位移參數(shù)和所述第二定點判決閾值。

示例性地,所述卷積子模塊,用于:

對所述輸入數(shù)據(jù)進行以低位寬定點乘加為基礎單元的卷積操作。

示例性地,所述定點計算的輸出數(shù)據(jù)為所述神經網絡中的最后一個計算節(jié)點進行定點計算所得到的低位寬定點化的結果。

第二方面所述的該裝置能夠用于實現(xiàn)前述第一方面的基于神經網絡的計算方法。

根據(jù)本發(fā)明的第三方面,提供了一種計算機芯片,該計算機芯片包括處理器和存儲器。所述存儲器存儲有指令代碼,所述處理器用于執(zhí)行所述指令代碼,且當所述處理器執(zhí)行指令代碼時,能夠實現(xiàn)前述第一方面所述的基于神經網絡的計算方法。

本發(fā)明實施例提出的采用定點化方法實現(xiàn)神經網絡的計算的方法,由于采用了定點計算,計算量小,占用資源少,從而對硬件的要求較低。

附圖說明

通過結合附圖對本發(fā)明實施例進行更詳細的描述,本發(fā)明的上述以及其它目的、特征和優(yōu)勢將變得更加明顯。附圖用來提供對本發(fā)明實施例的進一步理解,并且構成說明書的一部分,與本發(fā)明實施例一起用于解釋本發(fā)明,并不構成對本發(fā)明的限制。在附圖中,相同的參考標號通常代表相同部件或步驟。

圖1是本發(fā)明實施例的電子設備的一個示意性框圖;

圖2是本發(fā)明實施例的基于神經網絡的計算方法的一個示意性流程圖;

圖3是本發(fā)明實施例的基于神經網絡的計算方法的另一個示意性流程圖;

圖4是本發(fā)明實施例的基于神經網絡的計算方法的另一個示意性流程圖;

圖5是本發(fā)明實施例的基于神經網絡的計算裝置的一個示意性框圖;

圖6是本發(fā)明實施例的基于神經網絡的計算裝置的另一個示意性框圖。

具體實施方式

為了使得本發(fā)明的目的、技術方案和優(yōu)點更為明顯,下面將參照附圖詳細描述根據(jù)本發(fā)明的示例實施例。顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是本發(fā)明的全部實施例,應理解,本發(fā)明不受這里描述的示例實施例的限制。基于本發(fā)明中描述的本發(fā)明實施例,本領域技術人員在沒有付出創(chuàng)造性勞動的情況下所得到的所有其它實施例都應落入本發(fā)明的保護范圍之內。

傳統(tǒng)的神經網絡的一般算法架構如下:(1)將輸入圖片提取成張量的形式,傳入已經訓練好的浮點計算神經網絡。(2)浮點計算神經網絡中的每一個計算節(jié)點,通過以浮點乘加為基礎單元的卷積操作,并將浮點計算結果傳送至下一層計算節(jié)點。(3)經過多層的計算節(jié)點運算后,最終神經網絡的輸出層產生圖像分割熱力圖(heatmap),然后在其基礎上對原圖進行相關標注。然而,這樣的架構往往導致大計算量需求、高內存(或顯存)占用、以及高帶寬要求等問題,從而對硬件實現(xiàn)大規(guī)模神經網絡提出了很高的要求。

本發(fā)明實施例提出了一種采用定點化方法實現(xiàn)神經網絡的計算的方法,由于采用了定點計算,計算量小,占用資源少,從而對硬件的要求較低。

本發(fā)明實施例可以應用于電子設備,圖1所示為本發(fā)明實施例的電子設備的一個示意性框圖。圖1所示的電子設備10包括一個或多個處理器102、一個或多個存儲裝置104、輸入裝置106、輸出裝置108、圖像傳感器110以及一個或多個非圖像傳感器114,這些組件通過總線系統(tǒng)112和/或其它形式互連。應當注意,圖1所示的電子設備10的組件和結構只是示例性的,而非限制性的,根據(jù)需要,所述電子設備也可以具有其他組件和結構。

所述處理器102可以包括中央處理單元(Central Processing Unit,CPU)1021和/或圖像處理單元(Graphics Processing Unit,GPU)1022,或者包括具有數(shù)據(jù)處理能力和/或指令執(zhí)行能力的其它形式的處理單元,例如現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)或進階精簡指令集機器(Advanced RISC(Reduced Instruction Set Computer)Machine,ARM)等,并且處理器102可以控制所述電子設備10中的其它組件以執(zhí)行期望的功能。

所述存儲裝置104可以包括一個或多個計算機程序產品,所述計算機程序產品可以包括各種形式的計算機可讀存儲介質,例如易失性存儲器1041和/或非易失性存儲器1042。所述易失性存儲器1041例如可以包括隨機存取存儲器(Random Access Memory,RAM)和/或高速緩沖存儲器(cache)等。所述非易失性存儲器1042例如可以包括只讀存儲器(Read-Only Memory,ROM)、硬盤、閃存等。在所述計算機可讀存儲介質上可以存儲一個或多個計算機程序指令,處理器102可以運行所述程序指令,以實現(xiàn)各種期望的功能。在所述計算機可讀存儲介質中還可以存儲各種應用程序和各種數(shù)據(jù),例如所述應用程序使用和/或產生的各種數(shù)據(jù)等。

所述輸入裝置106可以是用戶用來輸入指令的裝置,并且可以包括鍵盤、鼠標、麥克風和觸摸屏等中的一個或多個。

所述輸出裝置108可以向外部(例如用戶)輸出各種信息(例如圖像或聲音),并且可以包括顯示器、揚聲器等中的一個或多個。

所述圖像傳感器110可以拍攝用戶期望的圖像(例如照片、視頻等),并且將所拍攝的圖像存儲在所述存儲裝置104中以供其它組件使用。

當注意,圖1所示的電子設備10的組件和結構只是示例性的,盡管圖1示出的電子設備20包括多個不同的裝置,但是根據(jù)需要,其中的一些裝置可以不是必須的,其中的一些裝置的數(shù)量可以更多等等,本發(fā)明對此不限定。

圖2是本發(fā)明實施例的基于神經網絡的計算方法的一個示意性流程圖,圖2所示的方法包括:

S101,獲取張量形式的原始圖像。

具體地,張量形式的原始圖像,可以通過在普通RGB圖像(例如來自光學傳感器的RGB圖像)上提取特征張量得到。其中,在得到張量形式的原始圖像后,再將該張量形式的原始圖像傳入已經訓練好的定點計算神經網絡進行處理。其中,原始圖像也可以稱為輸入圖像。圖像可以為圖片(例如視頻幀)或連續(xù)的視頻。

也就是說,S101是指:已經訓練好的定點計算神經網絡獲取張量形式的原始圖像。

本發(fā)明實施例中,已經訓練好的定點計算神經網絡中包括預先訓練好的浮點參數(shù)、以及卷積操作所需的參數(shù)等。其中,預先訓練好的浮點參數(shù)包括后續(xù)所涉及的k、b、t0、t1….等。

S102,對所述張量形式的原始圖像進行定點計算。

神經網絡中包括多個(此處指至少兩個)計算節(jié)點。

具體地,S102中,所述神經網絡中的每一個計算節(jié)點執(zhí)行以下操作:對輸入數(shù)據(jù)進行卷積操作;對所述卷積操作的卷積輸出進行線性計算;對所述線性計算的結果進行低位寬定點化。其中,所述神經網絡中的第一個計算節(jié)點的輸入數(shù)據(jù)為所述張量形式的原始圖像,所述神經網絡中的除所述第一個計算節(jié)點之外的其他計算節(jié)點的輸入數(shù)據(jù)為前一個計算節(jié)點的低位寬定點化的結果。

也就是說,每一個計算節(jié)點均執(zhí)行:卷積操作、線性計算操作和定點化操作。

這里,可以將計算節(jié)點得到的低位寬定點化的結果稱為該計算節(jié)點的輸出數(shù)據(jù)。從而,所述神經網絡中的除所述第一個計算節(jié)點之外的其他計算節(jié)點的輸入數(shù)據(jù)為前一個計算節(jié)點的輸出數(shù)據(jù)。

神經網絡中的所有計算節(jié)點可以包括第一個計算節(jié)點(也可以稱為起始計算節(jié)點)、中間計算節(jié)點和最后一個計算節(jié)點。其中,第一個計算節(jié)點的輸入數(shù)據(jù)為所述張量形式的原始圖像的數(shù)據(jù)。中間計算節(jié)點和最后一個計算節(jié)點的輸入數(shù)據(jù)為前一個計算節(jié)點的輸出數(shù)據(jù)。其中,第一個計算節(jié)點和中間計算節(jié)點將得到的輸出數(shù)據(jù)給下一個計算節(jié)點。

其中,對輸入數(shù)據(jù)進行卷積操作,可以包括:對輸入數(shù)據(jù)進行以低位寬定點乘加為基礎單元的卷積操作。這樣,采用定點乘加能夠減小計算量,減少資源占用,而采用低位寬定點乘加能夠進一步減小計算量,并進一步減少資源占用。

其中,對所述卷積操作的卷積輸出進行線性計算,包括:對卷積輸出進行浮點線性計算或定點線性計算。

示例性地,以線性計算為浮點線性計算為例,S102中,所述神經網絡中的每一個計算節(jié)點執(zhí)行以下操作:對輸入數(shù)據(jù)進行卷積操作;對所述卷積操作的卷積輸出進行浮點線性計算;對所述浮點線性計算的結果進行低位寬定點化;將所述低位寬定點化的結果作為輸出數(shù)據(jù)。其中,所述神經網絡中的第一個計算節(jié)點的輸入數(shù)據(jù)為所述張量形式的原始圖像,所述神經網絡中的除所述第一個計算節(jié)點之外的其他計算節(jié)點的輸入數(shù)據(jù)為前一個計算節(jié)點的輸出數(shù)據(jù)。

其中,對所述卷積操作的卷積輸出進行浮點線性計算,可以包括:根據(jù)y=k×X+b計算浮點線性計算的結果。

也就是說,浮點線性計算可以表示為:y=k×X+b。其中,X為定點數(shù),k、b和y為浮點數(shù),X表示所述卷積輸出,y表示所述浮點線性計算的結果,k和b為預先訓練好的浮點參數(shù)。也就是說,其中的k和b是已經訓練好的定點計算神經網絡的參數(shù),可以從該訓練好的定點計算神經網絡中已經得到的。由此可見,這樣便可以根據(jù)卷積輸出X計算得到浮點線性計算的結果y。

其中,對所述浮點線性計算的結果進行低位寬定點化,可以包括:根據(jù)所述浮點線性計算的結果與第一定點判決閾值之間的大小關系,確定所述低位寬定點化的結果。其中,所述第一定點判決閾值為預先訓練好的浮點參數(shù),且所述第一定點判決閾值大于0。其中,與k和b一樣,第一定點判決閾值也是已經訓練好的定點計算神經網絡的參數(shù),可以從該已經訓練好的定點計算神經網絡直接得到。

第一定點判決閾值可以表示為t0、t1、t2、…。第一定點判決閾值的數(shù)量可以由定點化的位數(shù)進行確定。例如,若定點化至2比特(bit),則第一定點判決閾值的數(shù)量為1個,可以表示為t0。

舉例來說,可以將低位寬定點化的結果表示為Y。若定點化至2比特(bit),且第一定點判決閾值可以表示為t0。則確定低位寬定點化的結果Y的方法可以為:

若y滿足y≤-t0,則確定Y=0;若y滿足-t0<y<0,則確定Y=1;若y滿足0≤y<t0,則確定Y=2;若y滿足y≥t0,則確定Y=3。

可理解,若將一個計算節(jié)點的低位寬定點化的結果表示為Y,即該計算節(jié)點的輸出數(shù)據(jù)為Y,則Y同時也是下一個計算節(jié)點的輸入數(shù)據(jù)X。

該過程可以示意性地如圖3所示。并且,其中的定點卷積部分可以用定點整數(shù)計算模塊來實現(xiàn);其中的k×X+b部分和定點化部分可以用浮點數(shù)計算模塊來實現(xiàn)。

示例性地,以線性計算為定點線性計算為例,S102中,所述神經網絡中的每一個計算節(jié)點執(zhí)行以下操作:對輸入數(shù)據(jù)進行卷積操作;對所述卷積操作的卷積輸出進行定點線性計算;對所述定點線性計算的結果進行低位寬定點化;將所述低位寬定點化的結果作為輸出數(shù)據(jù)。其中,所述神經網絡中的第一個計算節(jié)點的輸入數(shù)據(jù)為所述張量形式的原始圖像,所述神經網絡中的除所述第一個計算節(jié)點之外的其他計算節(jié)點的輸入數(shù)據(jù)為前一個計算節(jié)點的輸出數(shù)據(jù)。

其中,對所述卷積操作的卷積輸出進行定點線性計算,可以包括:根據(jù)Y’=X’+B計算浮點線性計算的結果。

也就是說,定點線性計算可以表示為:Y’=X’+B。其中,X’=N×X,X、X’、Y’、B和N均為定點數(shù),N為預設的正整數(shù),X表示所述卷積輸出,Y’表示所述定點線性計算的結果,B表示定點位移參數(shù)。

其中,對所述定點線性計算的結果進行低位寬定點化,可以包括:根據(jù)所述定點線性計算的結果與第二定點判決閾值之間的大小關系,確定所述低位寬定點化的結果。

在該計算過程中所使用的定點位移參數(shù)和第二定點判決閾值可以是根據(jù)預先訓練好的浮點參數(shù)進行確定的??梢?,在所述對所述卷積操作的卷積輸出進行定點線性計算之前,還可以包括:根據(jù)預先訓練好的浮點參數(shù),確定所述定點位移參數(shù)和所述第二定點判決閾值。在一個示例中,通過枚舉法根據(jù)預先訓練好的浮點參數(shù)確定所述定點位移參數(shù)和所述第二定點判決閾值。枚舉法相對于其他方法更加簡單易行,可以節(jié)省編程時間。

將預先訓練好的浮點參數(shù)表示為k、b、t0、t1、t2、…,其中,各個參數(shù)的物理含義如前所述。將定點位移參數(shù)表示為B,將第二定點判決閾值表示為T0、T1、…。則可以基于k、b、t0、t1、t2、…,按照一定的算法得到合適的B、T0、T1、T2、…。例如,可以進行枚舉或遍歷等,從而確定合適的B、T0、T1、T2…。

以N=4,且定點化至2比特為例,此時預先訓練好的浮點參數(shù)表示為k、b、t0,如下示出了一種通過枚舉法確定B和T0的計算程序:

這樣,便可以得到定點位移參數(shù)B和第二定點判決閾值T0、T1…。舉例來說,可以將低位寬定點化的結果表示為Y。若定點化至2比特(bit),且第二定點判決閾值可以表示為T0。則確定低位寬定點化的結果Y的方法可以為:

若Y’滿足Y’≤-T0,則確定Y=0;若Y’滿足-T0<Y’<0,則確定Y=1;若Y’滿足0≤Y’<T0,則確定Y=2;若Y’滿足Y’≥T0,則確定Y=3。

即,若X’+B≤-T0,則確定Y=0;若-T0<X’+B<0,則確定Y=1;若0≤X’+B<T0,則確定Y=2;若X’+B≥T0,則確定Y=3。

可理解,若將一個計算節(jié)點的低位寬定點化的結果表示為Y,即該計算節(jié)點的輸出數(shù)據(jù)為Y,則Y同時也是下一個計算節(jié)點的輸入數(shù)據(jù)X。

該過程可以示意性地如圖4所示。并且,其中的定點卷積部分、X’+B部分和定點化部分可以用定點整數(shù)計算模塊來實現(xiàn)。可見,該實施例中,只需要通過n個整數(shù)參數(shù)(即B、T0、T1…),就可以完全通過定點整數(shù)計算實現(xiàn)浮點線性計算以及2×n值化和log2(2×n)位寬定點化的功能。由此可以實現(xiàn)整個低位寬神經網絡計算節(jié)點均能夠采用定點整數(shù)計算模塊來實現(xiàn)。

應注意,本發(fā)明實施例中,計算節(jié)點的輸出路數(shù)(output channel)可以為一路或多路。如果輸出路數(shù)為多路,則針對于其中的每一路均執(zhí)行上述的操作,即多路之間進行并行操作。并且,可以理解,在輸出路數(shù)為多路時,采用浮點線性計算比采用定點線性計算所需要占用的硬件資源要多。

應注意,本發(fā)明實施例中大寫字母X、Y、X’、Y’、B、T0、T1…均表示定點數(shù),小寫字母x、y、k、b、t0、t1…均表示浮點數(shù)。另外,N和n表示正整數(shù)。

S103,基于所述定點計算的輸出數(shù)據(jù),產生圖像熱力圖。

其中,定點計算的輸出數(shù)據(jù)為所述神經網絡中的最后一個計算節(jié)點進行定點計算所得到的低位寬定點化的結果。即為所述神經網絡中的最后一個計算節(jié)點的輸出數(shù)據(jù)Y。

具體地,在經過S102中多層計算節(jié)點的運算之后,可以根據(jù)最后一個計算節(jié)點的輸出數(shù)據(jù)Y,在神經網絡的輸出層產生圖像熱力圖。

S104,基于所述圖像熱力圖對所述原始圖像進行標注。

由此可見,本發(fā)明實施例提出了一種對神經網絡的參數(shù)、中間表示、以及基本計算單元進行低位寬定點化的方法,該方法對硬件的要求較低。

本發(fā)明實施例所示的基于神經網絡的計算方法可以由電子設備的現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)執(zhí)行。

圖5是本發(fā)明實施例的基于神經網絡的計算裝置的一個示意性框圖。圖5所示的裝置50包括獲取模塊501、計算模塊502、熱力圖產生模塊503和圖像標注模塊504。

獲取模塊501,用于獲取張量形式的原始圖像。

計算模塊502,用于對所述張量形式的原始圖像進行定點計算。

熱力圖產生模塊503,用于基于所述定點計算的輸出數(shù)據(jù),產生圖像熱力圖。以及

圖像標注模塊504,用于基于所述圖像熱力圖對所述原始圖像進行標注。

示例性地,如圖6所示,計算模塊包括卷積子模塊5021,線性計算子模塊5022和定點化模塊5023。針對所述神經網絡中的每一個計算節(jié)點:卷積子模塊5021,用于對輸入數(shù)據(jù)進行卷積操作;線性計算子模塊5022,用于對所述卷積操作的卷積輸出進行線性計算;定點化模塊5023,用于對所述線性計算的結果進行低位寬定點化。其中,所述神經網絡中的第一個計算節(jié)點的輸入數(shù)據(jù)為所述張量形式的原始圖像,所述神經網絡中的除所述第一個計算節(jié)點之外的其他計算節(jié)點的輸入數(shù)據(jù)為前一個計算節(jié)點的低位寬定點化的結果。

可選地,作為一種實現(xiàn)方式,所述線性計算為浮點線性計算。

示例性地,所述浮點線性計算可以表示為:y=k×X+b。其中,X為定點數(shù),k、b和y為浮點數(shù),X表示所述卷積輸出,y表示所述浮點線性計算的結果,k和b為預先訓練好的浮點參數(shù)。

示例性地,定點化模塊5023,可以用于:根據(jù)所述浮點線性計算的結果與第一定點判決閾值之間的大小關系,確定所述低位寬定點化的結果。其中,所述第一定點判決閾值為預先訓練好的浮點參數(shù),且所述第一定點判決閾值大于0。

可選地,作為另一種實現(xiàn)方式,所述線性計算為定點線性計算。

示例性地,所述定點線性計算可以表示為:Y’=X’+B。其中,X’=N×X,X、X’、Y’、B和N均為定點數(shù),N為預設的正整數(shù),X表示所述卷積輸出,Y’表示所述定點線性計算的結果,B表示定點位移參數(shù)。

示例性地,定點化子模塊5023,可以用于:根據(jù)所述定點線性計算的結果與第二定點判決閾值之間的大小關系,確定所述低位寬定點化的結果。

示例性地,線性計算子模塊5022,還可以用于:在對所述卷積操作的卷積輸出進行線性計算之前,根據(jù)預先訓練好的浮點參數(shù),確定所述定點位移參數(shù)和所述第二定點判決閾值。

示例性地,卷積子模塊5021,可以用于:對所述輸入數(shù)據(jù)進行以低位寬定點乘加為基礎單元的卷積操作。

示例性地,所述定點計算的輸出數(shù)據(jù)為所述神經網絡中的最后一個計算節(jié)點進行定點計算所得到的低位寬定點化的結果。

圖5和圖6所示的裝置50能夠用于實現(xiàn)前述圖2至圖4所示的基于神經網絡的計算方法。示例性地,裝置50可以為FPGA。

另外,本發(fā)明實施例還提供了另一種基于神經網絡的計算裝置,該裝置可以包括處理器和存儲器,其中,存儲器用于存儲指令代碼,處理器執(zhí)行該指令代碼時,可以實現(xiàn)前述圖2至圖4所示的基于神經網絡的計算方法。

另外,本發(fā)明實施例還提供了一種電子設備,該電子設備可以包括圖5或圖6所示的裝置50。

本發(fā)明實施例提出的采用定點化方法實現(xiàn)神經網絡的計算的方法,即本發(fā)明實施例提出了神經網絡定點化方法,該方法由于采用了定點計算,計算量小,占用資源少,從而對硬件的要求較低。

盡管這里已經參考附圖描述了示例實施例,應理解上述示例實施例僅僅是示例性的,并且不意圖將本發(fā)明的范圍限制于此。本領域普通技術人員可以在其中進行各種改變和修改,而不偏離本發(fā)明的范圍和精神。所有這些改變和修改意在被包括在所附權利要求所要求的本發(fā)明的范圍之內。

本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。

在本申請所提供的幾個實施例中,應該理解到,所揭露的設備和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的設備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個設備,或一些特征可以忽略,或不執(zhí)行。

在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。

類似地,應當理解,為了精簡本發(fā)明并幫助理解各個發(fā)明方面中的一個或多個,在對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該本發(fā)明的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如相應的權利要求書所反映的那樣,其發(fā)明點在于可以用少于某個公開的單個實施例的所有特征的特征來解決相應的技術問題。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發(fā)明的單獨實施例。

本領域的技術人員可以理解,除了特征之間相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。

此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內并且形成不同的實施例。例如,在權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。

本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的物品分析設備中的一些模塊的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。

應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。

以上所述,僅為本發(fā)明的具體實施方式或對具體實施方式的說明,本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。本發(fā)明的保護范圍應以權利要求的保護范圍為準。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
腾冲县| 筠连县| 宁国市| 永新县| 丰都县| 故城县| 承德市| 洞口县| 玉田县| 齐齐哈尔市| 盘山县| 马鞍山市| 三穗县| 湘潭市| 吉林省| 黄浦区| 鄱阳县| 威海市| 清流县| 岳普湖县| 沾益县| 泰和县| 衡南县| 苍溪县| 左云县| 沙湾县| 凌云县| 孝感市| 凤台县| 虎林市| 青海省| 隆安县| 屯留县| 惠东县| 磐安县| 张家口市| 都安| 城口县| 松桃| 六盘水市| 开远市|