本公開整體涉及神經(jīng)網(wǎng)絡(luò),并且更具體地涉及神經(jīng)網(wǎng)絡(luò)的配置。
背景技術(shù):
1、深度學(xué)習(xí)算法在涉及識(shí)別、標(biāo)識(shí)和/或分類任務(wù)的眾多應(yīng)用中帶來了非常高的性能,然而,這些進(jìn)步可能是以大量使用處理能力為代價(jià)的。因此,由于缺乏低成本和節(jié)能的解決方案,深度學(xué)習(xí)算法的采用可能會(huì)受到阻礙。因此,在嵌入式設(shè)備上部署深度學(xué)習(xí)應(yīng)用時(shí),嚴(yán)格的性能規(guī)范可能與功率和能耗方面的嚴(yán)格限制共存。
2、卷積神經(jīng)網(wǎng)絡(luò)(cnn)是一種深度神經(jīng)網(wǎng)絡(luò)(dnn)。它們的架構(gòu)以卷積層和全連接層為特征。前幾層在層的輸入與卷積內(nèi)核之間進(jìn)行卷積運(yùn)算、非線性激活函數(shù)(諸如整流器)和最大池化操作,這通常是計(jì)算工作量方面要求最高的運(yùn)算。
3、此外,重配置神經(jīng)網(wǎng)絡(luò)的組件在時(shí)間和資源方面可能是昂貴的。
技術(shù)實(shí)現(xiàn)思路
1、本公開的實(shí)施例提供了一種方法和設(shè)備,該設(shè)備能夠?qū)ι窠?jīng)網(wǎng)絡(luò)的硬件加速器進(jìn)行實(shí)時(shí)重配置。在一個(gè)實(shí)施例中,當(dāng)神經(jīng)網(wǎng)絡(luò)的處理鏈正在操作時(shí),將重配置標(biāo)簽插入正在被處理的特征數(shù)據(jù)流中。處理鏈的硬件加速器中的每個(gè)硬件加速器依次接收重配置標(biāo)簽。如果重配置標(biāo)簽與存儲(chǔ)在硬件加速器中的標(biāo)識(shí)匹配,則啟動(dòng)重配置過程。暫停對(duì)所匹配的硬件加速器上游的特征數(shù)據(jù)的處理,而下游的硬件加速器繼續(xù)處理已經(jīng)在鏈中的特征數(shù)據(jù)。輪次控制器然后經(jīng)由與鏈分離的總線重配置所匹配的硬件加速器。然后恢復(fù)特征數(shù)據(jù)的流動(dòng)。結(jié)果是,硬件加速器中的一個(gè)或多個(gè)硬件加速器可以在不完全清空特征數(shù)據(jù)的處理鏈的情況下實(shí)時(shí)重配置。
2、在一個(gè)實(shí)施例中,一種方法包括將特征數(shù)據(jù)流傳遞到神經(jīng)網(wǎng)絡(luò)的處理鏈。該處理鏈包括第一硬件加速器。該方法包括將第一標(biāo)識(shí)數(shù)據(jù)存儲(chǔ)在第一硬件加速器中,將重配置標(biāo)簽插入特征數(shù)據(jù)流中,并且使用第一硬件加速器接收重配置標(biāo)簽。該方法包括檢查重配置標(biāo)簽是否與第一標(biāo)識(shí)數(shù)據(jù)匹配,并且如果重配置標(biāo)簽與第一標(biāo)識(shí)數(shù)據(jù)匹配,則啟動(dòng)第一硬件加速器的重配置過程。
3、在一個(gè)實(shí)施例中,一種方法包括配置神經(jīng)網(wǎng)絡(luò)的處理鏈。該處理鏈包括第一硬件加速器、第一硬件加速器下游的第二硬件加速器和第二硬件加速器下游的第三硬件加速器。該方法包括將特征數(shù)據(jù)流傳遞到處理鏈,將重配置標(biāo)簽插入特征數(shù)據(jù)流中,在第二硬件加速器處接收重配置標(biāo)簽,并且將重配置標(biāo)簽與存儲(chǔ)在第二硬件加速器中的標(biāo)識(shí)數(shù)據(jù)進(jìn)行比較。該方法包括,如果重配置標(biāo)簽與標(biāo)識(shí)數(shù)據(jù)匹配,則停止第一硬件加速器將特征數(shù)據(jù)流傳遞到第二硬件加速器,在停止第一硬件加速器之后繼續(xù)使用第三硬件加速器處理特征數(shù)據(jù)流,并且在停止第一硬件加速器之后重配置第二硬件加速器。
4、在一個(gè)實(shí)施例中,一種設(shè)備包括神經(jīng)網(wǎng)絡(luò)。該神經(jīng)網(wǎng)絡(luò)包括流交換機(jī)、被配置為與流交換機(jī)結(jié)合的神經(jīng)網(wǎng)絡(luò)的處理鏈的多個(gè)硬件加速器以及流引擎。該流引擎被配置為將特征數(shù)據(jù)流傳遞到多個(gè)硬件加速器,并且將重配置標(biāo)簽插入特征數(shù)據(jù)流中。硬件加速器中的至少一個(gè)硬件加速器包括寄存器,該寄存器被配置為存儲(chǔ)標(biāo)識(shí)數(shù)據(jù),將重配置標(biāo)簽與標(biāo)識(shí)數(shù)據(jù)進(jìn)行比較,并且如果重配置標(biāo)簽與標(biāo)識(shí)數(shù)據(jù)匹配,則啟動(dòng)至少一個(gè)硬件加速器的重配置過程。
1.一種方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,其中所述重配置過程包括停止在所述第一硬件加速器的輸入處對(duì)所述特征數(shù)據(jù)流的接收。
3.根據(jù)權(quán)利要求2所述的方法,其中所述重配置過程包括:在停止對(duì)所述特征數(shù)據(jù)流的接收之后,繼續(xù)從所述第一硬件加速器輸出由所述硬件加速器在啟動(dòng)所述重配置過程之前所接收的特征數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其中所述重配置過程包括:提升標(biāo)志,所述標(biāo)志指示所有先前所接收的特征數(shù)據(jù)已從所述第一硬件加速器輸出。
5.根據(jù)權(quán)利要求4所述的方法,其中所述重配置過程包括:響應(yīng)于所述標(biāo)志來重配置所述第一硬件加速器。
6.根據(jù)權(quán)利要求5所述的方法,其中重配置所述第一硬件加速器包括:將重配置數(shù)據(jù)寫入所述第一硬件加速器的配置寄存器。
7.根據(jù)權(quán)利要求6所述的方法,包括:經(jīng)由與所述處理鏈分離的總線寫入所述重配置數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的方法,包括:使用所述神經(jīng)網(wǎng)絡(luò)的輪次控制器寫入重配置數(shù)據(jù)。
9.根據(jù)權(quán)利要求5所述的方法,包括:
10.根據(jù)權(quán)利要求9所述的方法,包括:
11.根據(jù)權(quán)利要求10所述的方法,其中所述重配置過程包括:
12.根據(jù)權(quán)利要求1所述的方法,包括:將所述第一標(biāo)識(shí)數(shù)據(jù)存儲(chǔ)在所述第一硬件加速器的只讀寄存器中。
13.根據(jù)權(quán)利要求1所述的方法,包括:將所述第一標(biāo)識(shí)數(shù)據(jù)存儲(chǔ)在所述第一硬件加速器的可重寫寄存器中。
14.一種方法,包括:
15.根據(jù)權(quán)利要求14所述的方法,包括:在重配置所述第二硬件加速器之后,恢復(fù)將所述特征數(shù)據(jù)流從所述第一硬件加速器傳遞到所述第二硬件加速器。
16.根據(jù)權(quán)利要求15所述的方法,其中將所述重配置標(biāo)簽插入所述特征數(shù)據(jù)流中包括:將所述重配置標(biāo)簽直接插入幀信號(hào)的結(jié)束與幀信號(hào)的起始之間。
17.一種設(shè)備,包括神經(jīng)網(wǎng)絡(luò),所述神經(jīng)網(wǎng)絡(luò)包括:
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述神經(jīng)網(wǎng)絡(luò)包括:輪次控制器,所述輪次控制器被配置為響應(yīng)于所述重配置標(biāo)簽與所述標(biāo)識(shí)數(shù)據(jù)匹配而重配置所述至少一個(gè)寄存器。
19.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述至少一個(gè)單元硬件加速器是卷積加速器。
20.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述至少一個(gè)硬件加速器是池化單元。