本發(fā)明涉及機器學(xué)習(xí)技術(shù)領(lǐng)域,尤其涉及一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法及裝置。
背景技術(shù):
深度學(xué)習(xí),具體來說是一種含多隱層的機器學(xué)習(xí)結(jié)構(gòu)。隨著深度學(xué)習(xí)組建網(wǎng)絡(luò)的日益復(fù)雜,訓(xùn)練數(shù)據(jù)量的日益增大,單機訓(xùn)練速度過慢的弊端逐漸凸顯,從而一種采用集群服務(wù)器運行深度學(xué)習(xí)框架的方式開始出現(xiàn)。
盡管目前各種開源的深度學(xué)習(xí)框架層出不窮,但深度學(xué)習(xí)框架的使用依舊相對普通用戶具有一定難度,需要用戶具有一定經(jīng)驗。現(xiàn)有技術(shù)中,對深度學(xué)習(xí)框架進行使用時,需要用戶在命令行模式下提交任務(wù)到服務(wù)器集群上采用深度學(xué)習(xí)框架進行分布式訓(xùn)練,以實現(xiàn)并行的任務(wù)執(zhí)行過程。
由于命令行任務(wù)操作不夠簡便,用戶需要登錄服務(wù)器修改具體網(wǎng)絡(luò)配置,執(zhí)行提交任務(wù)操作,而且在任務(wù)執(zhí)行過程中用戶也無法獲知任務(wù)進度。因此,如何降低深度學(xué)習(xí)框架自身的使用難度,使用戶專注于利用深度學(xué)習(xí)框架所執(zhí)行的組建網(wǎng)絡(luò)和訓(xùn)練模型本身,是一個亟待解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本發(fā)明的第一個目的在于提出一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法,以在集群服務(wù)器運行深度學(xué)習(xí)框架時,簡化深度學(xué)習(xí)框架自身的使用難度,便于用戶采用深度學(xué)習(xí)框架對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練,解決現(xiàn)有技術(shù)中深度學(xué)習(xí)框架使用不便的技術(shù)問題。
本發(fā)明的第二個目的在于提出一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置。
本發(fā)明的第三個目的在于提出另一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置。
本發(fā)明的第四個目的在于提出一種非臨時性計算機可讀存儲介質(zhì)。
本發(fā)明的第五個目的在于提出一種計算機程序產(chǎn)品。
為達上述目的,本發(fā)明第一方面實施例提出了一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法,包括:
當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,從運行深度學(xué)習(xí)框架的集群服務(wù)器,獲取所述任務(wù)提交請求所指示的運行環(huán)境包;
利用所述運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合所述任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò);
根據(jù)所述目標(biāo)任務(wù)的訓(xùn)練信息,生成指示所述集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令;
向所述集群服務(wù)器發(fā)送所述任務(wù)指令;
當(dāng)所述集群服務(wù)器根據(jù)所述任務(wù)指令,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練時,向所述Web前端發(fā)送分布式訓(xùn)練的執(zhí)行進度。
本發(fā)明實施例的基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法,通過當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,從運行深度學(xué)習(xí)框架的集群服務(wù)器獲取所述任務(wù)提交請求所指示的運行環(huán)境包,進而利用運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò),根據(jù)該目標(biāo)任務(wù)的訓(xùn)練信息,生成指示集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令,以使集群服務(wù)器根據(jù)該任務(wù)指令,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練,并向Web前端發(fā)送分布式訓(xùn)練的執(zhí)行進度。由于用戶在對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練的過程中,無需在命令模式下提交任務(wù)到集群服務(wù)器上進行分布式訓(xùn)練,簡化了深度學(xué)習(xí)框架自身的使用難度,便于用戶采用深度學(xué)習(xí)框架對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練,解決了現(xiàn)有技術(shù)中深度學(xué)習(xí)框架使用不便的技術(shù)問題。
為達上述目的,本發(fā)明第二方面實施例提出了一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置,包括:
獲取模塊,用于當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,從運行深度學(xué)習(xí)框架的集群服務(wù)器,獲取所述任務(wù)提交請求所指示的運行環(huán)境包;
組建模塊,用于利用所述運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合所述任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò);
指令生成模塊,用于根據(jù)所述目標(biāo)任務(wù)的訓(xùn)練信息,生成指示所述集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令;
指令發(fā)送模塊,用于向所述集群服務(wù)器發(fā)送所述任務(wù)指令;
本發(fā)明實施例的基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置,通過當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,獲取模塊從運行深度學(xué)習(xí)框架的集群服務(wù)器獲取所述任務(wù)提交請求所指示的運行環(huán)境包,進而利用運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建模塊組建符合任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò),根據(jù)該目標(biāo)任務(wù)的訓(xùn)練信息,指令生成模塊生成指示集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令,并由指令發(fā)送模塊對任務(wù)指令進行發(fā)送,以使集群服務(wù)器根據(jù)該任務(wù)指令,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。由于用戶在對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練的過程中,無需在命令模式下提交任務(wù)到集群服務(wù)器上進行分布式訓(xùn)練,簡化了深度學(xué)習(xí)框架自身的使用難度,便于用戶采用深度學(xué)習(xí)框架對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練,解決了現(xiàn)有技術(shù)中深度學(xué)習(xí)框架使用不便的技術(shù)問題。
為達上述目的,本發(fā)明第三方面實施例提出了另一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置,包括:處理器;用于存儲所述處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為:當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,從運行深度學(xué)習(xí)框架的集群服務(wù)器,獲取所述任務(wù)提交請求所指示的運行環(huán)境包;利用所述運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合所述任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò);根據(jù)所述目標(biāo)任務(wù)的訓(xùn)練信息,生成指示所述集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令;向所述集群服務(wù)器發(fā)送所述任務(wù)指令,以使所述集群服務(wù)器根據(jù)所述任務(wù)指令,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。
為了實現(xiàn)上述目的,本發(fā)明第四方面實施例提出了一種非臨時性計算機可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由服務(wù)器的處理器被執(zhí)行時,使得服務(wù)器能夠執(zhí)行一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法,所述方法包括:利用所述運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合所述任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò);根據(jù)所述目標(biāo)任務(wù)的訓(xùn)練信息,生成指示所述集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令;向所述集群服務(wù)器發(fā)送所述任務(wù)指令,以使所述集群服務(wù)器根據(jù)所述任務(wù)指令,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。
為了實現(xiàn)上述目的,本發(fā)明第五方面實施例提出了一種計算機程序產(chǎn)品,當(dāng)所述計算機程序產(chǎn)品中的指令處理器執(zhí)行時,執(zhí)行一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法,所述方法包括:利用所述運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合所述任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò);根據(jù)所述目標(biāo)任務(wù)的訓(xùn)練信息,生成指示所述集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令;向所述集群服務(wù)器發(fā)送所述任務(wù)指令,以使所述集群服務(wù)器根據(jù)所述任務(wù)指令,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為本發(fā)明實施例所提供的一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法的流程示意圖;
圖2為訓(xùn)練系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為Web前端的架構(gòu)示意圖;
圖4為任務(wù)管理模塊的系統(tǒng)架構(gòu)圖;
圖5為任務(wù)管理模塊執(zhí)行提交任務(wù)的流程示意圖;
圖6為任務(wù)管理模塊執(zhí)行終結(jié)任務(wù)的流程示意圖;
圖7為任務(wù)狀態(tài)監(jiān)控模塊的架構(gòu)示意圖;
圖8為日志分析模塊的架構(gòu)示意圖;
圖9為本發(fā)明實施例提供的一種深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置的結(jié)構(gòu)示意圖;
圖10為本發(fā)明實施例提供的又一種深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
下面參考附圖描述本發(fā)明實施例的基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法和裝置。
圖1為本發(fā)明實施例所提供的一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法的流程示意圖。
如圖1所示,該基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法包括:
步驟101,當(dāng)用戶通過萬維網(wǎng)(Web)前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,從運行深度學(xué)習(xí)框架的集群服務(wù)器,獲取任務(wù)提交請求所指示的運行環(huán)境包(Package)。
其中,任務(wù)提交請求攜帶運行環(huán)境包的版本號、目標(biāo)任務(wù)的網(wǎng)絡(luò)配置,以及目標(biāo)任務(wù)的訓(xùn)練信息等信息。
目前的開源的深度學(xué)習(xí)框架對于普通用戶來說,在使用方面還是具有一定的困難,用戶提交任務(wù)不夠靈活,需要用戶在命令行模式下進行任務(wù)的提交。從而執(zhí)行本實施例方法的訓(xùn)練系統(tǒng),可以設(shè)置于運行深度學(xué)習(xí)平臺的集群服務(wù)器與用戶之間,從而幫助用戶更加便捷地使用深度學(xué)習(xí)框架對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練。
具體地,執(zhí)行本實施例方法的訓(xùn)練系統(tǒng)具有Web前端,訓(xùn)練系統(tǒng)中的功能模塊可以通過Web前端的可視化界面,獲取用戶從預(yù)先提供的網(wǎng)絡(luò)配置中所選定的目標(biāo)任務(wù)的網(wǎng)絡(luò)配置。另外,還可以采集用戶通過可視化界面所輸入的目標(biāo)任務(wù)的訓(xùn)練信息,從而通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求。其中,訓(xùn)練信息包括訓(xùn)練數(shù)據(jù)在分布式文件系統(tǒng)中的存儲路徑,和/或分布式訓(xùn)練的參數(shù)。
訓(xùn)練系統(tǒng)根據(jù)任務(wù)提交請求中的版本號,從分布式文件系統(tǒng)中下載符合版本號的運行環(huán)境包。
步驟102,利用運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò)。
具體地,接著使用運行環(huán)境包里的網(wǎng)絡(luò)配置生成工具,根據(jù)用戶提供的配置文件,依據(jù)配置文件中所記載的網(wǎng)絡(luò)配置,生成包括訓(xùn)練網(wǎng)絡(luò)和測試網(wǎng)絡(luò)在內(nèi)的深度學(xué)習(xí)網(wǎng)絡(luò)。
其中,訓(xùn)練網(wǎng)絡(luò)是訓(xùn)練任務(wù)執(zhí)行過程中所使用的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),測試網(wǎng)絡(luò)是在預(yù)測時所使用的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)。具體訓(xùn)練網(wǎng)絡(luò)和測試網(wǎng)絡(luò)的結(jié)構(gòu)和相關(guān)參數(shù),用戶可以根據(jù)自己的需求進行修改和定義。
步驟103,根據(jù)目標(biāo)任務(wù)的訓(xùn)練信息,生成指示集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令。
具體地,在任務(wù)提交請求中包含有目標(biāo)任務(wù)的訓(xùn)練信息,訓(xùn)練信息包含兩個方面的內(nèi)容,一個方面為訓(xùn)練數(shù)據(jù)在分布式文件系統(tǒng)中的存儲路徑,另一個方面為分布式訓(xùn)練的參數(shù)并行相關(guān)配置。
下面分別針對這兩個方面進行說明;
針對存儲路徑,由于訓(xùn)練數(shù)據(jù)均存儲于分布式文件系統(tǒng)(HDFS)上,需要用戶在訓(xùn)練之前,提供所需輸入的訓(xùn)練數(shù)據(jù)在HDFS上的地址,并配置輸入的訓(xùn)練數(shù)據(jù)的文件名列表,同時還需要提供所需輸出的訓(xùn)練數(shù)據(jù)在HDFS上的地址。
而針對分布式訓(xùn)練的參數(shù)并行相關(guān)配置,具體來說是指針對運行深度學(xué)習(xí)框架的集群服務(wù)器采用那些節(jié)點進行訓(xùn)練,以及這些針對這些節(jié)點一些相關(guān)配置要求。例如:分布式訓(xùn)練的參數(shù)可以包括集群服務(wù)器名稱、集群服務(wù)器路徑、集群服務(wù)器密碼、節(jié)點數(shù)、每個節(jié)點的線程數(shù)、更新間隔、是否進行熱啟動和/或是否自動調(diào)參中的至少一個。
在獲取到所需的目標(biāo)任務(wù)的訓(xùn)練信息后,訓(xùn)練系統(tǒng)根據(jù)這些信息對集群服務(wù)器的各個節(jié)點分配任務(wù),并將所分配的任務(wù)轉(zhuǎn)化為服務(wù)器可識別的格式,最終生成任務(wù)指令。
步驟104,向集群服務(wù)器發(fā)送任務(wù)指令,以使集群服務(wù)器根據(jù)任務(wù)指令,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。
具體地,向分布式文件系統(tǒng)發(fā)送任務(wù)指令,以使分布式文件系統(tǒng)根據(jù)任務(wù)指令中目標(biāo)任務(wù)的訓(xùn)練信息,將目標(biāo)任務(wù)分發(fā)到集群服務(wù)器的各節(jié)點,從而集群服務(wù)器中各個節(jié)點根據(jù)任務(wù)指令對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。
本實施例中,通過當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,從運行深度學(xué)習(xí)框架的集群服務(wù)器獲取所述任務(wù)提交請求所指示的運行環(huán)境包,進而利用運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò),根據(jù)該目標(biāo)任務(wù)的訓(xùn)練信息,生成指示集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令,以使集群服務(wù)器根據(jù)該任務(wù)指令,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練,并向Web前端發(fā)送分布式訓(xùn)練的執(zhí)行進度。由于用戶在對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練的過程中,無需在命令模式下提交任務(wù)到集群服務(wù)器上進行分布式訓(xùn)練,簡化了深度學(xué)習(xí)框架自身的使用難度,便于用戶采用深度學(xué)習(xí)框架對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練,解決了現(xiàn)有技術(shù)中深度學(xué)習(xí)框架使用不便的技術(shù)問題。
為了清楚說明上一實施例,本實施例對訓(xùn)練系統(tǒng)的架構(gòu)進行了詳細說明,圖2為訓(xùn)練系統(tǒng)的結(jié)構(gòu)示意圖,并且本實施例提供了一種具體的應(yīng)用場景,前述所提及的集群服務(wù)器具體為高性能計算(High performance computing,HPC)集群,為了對訓(xùn)練系統(tǒng)進行清楚地說明,還結(jié)合訓(xùn)練系統(tǒng)的結(jié)構(gòu),提供了訓(xùn)練系統(tǒng)所執(zhí)行的另一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法。
具體地,如圖2所示,訓(xùn)練系統(tǒng)包括Web前端、任務(wù)管理模塊、任務(wù)狀態(tài)監(jiān)控模塊以及日志分析模塊。下面分別對Web前端、任務(wù)管理模塊、任務(wù)狀態(tài)監(jiān)控模塊以及日志分析模塊進行說明。
圖3為Web前端的架構(gòu)示意圖,Web前端具有可視化的界面,從而增加了用戶友好度,如圖3所示,為了實現(xiàn)豐富的功能性,Web前端可以包括提交任務(wù)組件和查看任務(wù)組件。
其中,提交任務(wù)組件用于生成用戶所提交的任務(wù)提交請求,包括配置網(wǎng)絡(luò)單元、配置訓(xùn)練單元和并行相關(guān)配置單元。
在具體執(zhí)行深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法時,由配置網(wǎng)絡(luò)單元為用戶提供分類任務(wù)和排序任務(wù)等實例網(wǎng)絡(luò)配置,從而用戶可以根據(jù)需要定義所需的網(wǎng)絡(luò)配置。在用戶定義網(wǎng)絡(luò)配置之后,還可以由配置網(wǎng)絡(luò)單元對用戶定義的網(wǎng)絡(luò)配置進行存儲,從而便于用戶下一次提交任務(wù)提交請求時使用。當(dāng)然,用戶也可以在線下預(yù)先設(shè)置好網(wǎng)絡(luò)配置,將網(wǎng)絡(luò)配置采用上傳方式提供給配置網(wǎng)絡(luò)單元,本實施例中對用戶提供的網(wǎng)絡(luò)配置的方式不做限定,具有極大的使用靈活性。
進而,由配置訓(xùn)練單元獲取用戶所輸入的訓(xùn)練數(shù)據(jù)在分布式文件系統(tǒng)中的存儲路徑,具體來說,這里所說的訓(xùn)練數(shù)據(jù)包括了訓(xùn)練樣本數(shù)據(jù)和訓(xùn)練模型,訓(xùn)練樣本數(shù)據(jù)存儲于HDFS上,用戶需要提供所需輸入的訓(xùn)練數(shù)據(jù)在HDFS上的地址,并配置輸入的訓(xùn)練數(shù)據(jù)的文件名列表,同時還需要提供所需輸出的訓(xùn)練模型在HDFS上的地址。
最后,并行相關(guān)配置單元用于用戶配置分布式訓(xùn)練的參數(shù)可以包括集群服務(wù)器名稱、集群服務(wù)器路徑、集群服務(wù)器密碼、節(jié)點數(shù)、每個節(jié)點的線程數(shù)、更新間隔、是否進行熱啟動和/或是否自動調(diào)參中的至少一個。
在用戶分別利用配置網(wǎng)絡(luò)、配置訓(xùn)練單元和并行相關(guān)配置單元完成配置之后,提交任務(wù)組件可以據(jù)此生成任務(wù)提交請求。
當(dāng)用戶需要終結(jié)(Kill)任務(wù)時,同樣可以通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)終結(jié)請求,在任務(wù)終結(jié)請求中包括目標(biāo)任務(wù)的唯一標(biāo)識。
當(dāng)對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練時,用戶還可以通過Web前端的查看任務(wù)模塊查看訓(xùn)練日志、預(yù)測結(jié)果、運行環(huán)境和網(wǎng)絡(luò)配置等。其中,訓(xùn)練日志具體包括任務(wù)當(dāng)前訓(xùn)練進度,訓(xùn)練文件在集群上每個節(jié)點上的分布,訓(xùn)練文件樣本量分布和任務(wù)問題的原因總結(jié)等。對任務(wù)訓(xùn)練進度和訓(xùn)練文件樣本量分布等信息,采用圖表的形式進行展示。并且任務(wù)訓(xùn)練過程中會將預(yù)測結(jié)果上傳到HDFS上,讀取日志分析模塊所拉取的預(yù)測結(jié)果文件,將其以圖表的形式進行展示,使用戶能直觀地看到任務(wù)的訓(xùn)練情況。運行環(huán)境主要是展示HPC集群上運行該任務(wù)的節(jié)點的地址。網(wǎng)絡(luò)配置則可以包括該任務(wù)使用的網(wǎng)絡(luò)配置等相關(guān)配置等,用戶可以根據(jù)此配置重新提交任務(wù)。為了便于用戶下載網(wǎng)絡(luò)配置,還可以提供下載操作,用戶可以選擇提交單機版任務(wù)。
圖4為任務(wù)管理模塊的系統(tǒng)架構(gòu)圖,如圖4所示,任務(wù)管理模塊為了實現(xiàn)提交任務(wù)和終結(jié)任務(wù)兩個方面的功能,相應(yīng)設(shè)置了提交任務(wù)組件以及終結(jié)任務(wù)組件。如圖4所示,任務(wù)管理模塊接收用戶從Web前端發(fā)送的目標(biāo)任務(wù)的任務(wù)提交請求,根據(jù)任務(wù)提交請求所指示的版本號,從HPC集群中的HDFS獲取對應(yīng)的運行環(huán)境包,并對所獲取到的運行環(huán)境包進行解壓,然后根據(jù)任務(wù)提交請求中所攜帶的網(wǎng)絡(luò)配置信息,利用該運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合配置的訓(xùn)練網(wǎng)絡(luò)和測試網(wǎng)絡(luò)。進而,根據(jù)任務(wù)提交請求中所攜帶的訓(xùn)練信息,向HPC集群采用發(fā)送任務(wù)指令的方式發(fā)布分布式任務(wù),并將目標(biāo)任務(wù)的相關(guān)信息存儲于數(shù)據(jù)庫中。
圖5為任務(wù)管理模塊執(zhí)行提交任務(wù)的流程示意圖,如圖5所示,包括如下步驟:
步驟201,當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,任務(wù)管理模塊中的提交任務(wù)組件對用戶進行鑒權(quán)。
為了防止非法用戶提交任務(wù)導(dǎo)致HPC集群資源的浪費,需要對用戶進行鑒權(quán),以確定用戶是否具有發(fā)起任務(wù)提交請求的權(quán)限。
步驟202,若鑒權(quán)通過,提交任務(wù)組件查詢符合所述任務(wù)提交請求所指示版本的運行環(huán)境包。
步驟203,若未存儲有任務(wù)提交請求所指示版本的運行環(huán)境包,提交任務(wù)組件根據(jù)任務(wù)提交請求中的版本號,從分布式文件系統(tǒng)中下載符合該版本號的運行環(huán)境包。
進一步,在提交請求之后,還可以在數(shù)據(jù)庫中更新目標(biāo)任務(wù)的執(zhí)行進度。
圖6為任務(wù)管理模塊執(zhí)行終結(jié)任務(wù)的流程示意圖,如圖6所示,包括如下步驟:
步驟301,用戶在Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)終結(jié)請求。
其中,任務(wù)終結(jié)請求中包括目標(biāo)任務(wù)的唯一標(biāo)識。
步驟302,任務(wù)管理模塊中的終結(jié)任務(wù)組件查詢數(shù)據(jù)庫中是否存儲有該目標(biāo)任務(wù)的相關(guān)信息。
步驟303,若存儲有該目標(biāo)任務(wù)的相關(guān)信息,則終結(jié)任務(wù)組件生成指示集群服務(wù)器終結(jié)深度學(xué)習(xí)網(wǎng)絡(luò)分布式訓(xùn)練的終結(jié)指令。
步驟304,向HPC集群發(fā)送終結(jié)指令。
步驟305,HPC集群根據(jù)終結(jié)指令終結(jié)深度學(xué)習(xí)網(wǎng)絡(luò)的分布式訓(xùn)練。
具體在HPC集群的每一個節(jié)點上,終結(jié)相應(yīng)的進程。
進一步,在終結(jié)深度學(xué)習(xí)網(wǎng)絡(luò)的分布式訓(xùn)練之后,在數(shù)據(jù)庫中更新目標(biāo)任務(wù)的執(zhí)行進度。
為了便于用戶實時對目標(biāo)任務(wù)進行監(jiān)控,訓(xùn)練平臺還提供了任務(wù)狀態(tài)監(jiān)控模塊,圖7為任務(wù)狀態(tài)監(jiān)控模塊的架構(gòu)示意圖,如圖7所示,任務(wù)狀態(tài)監(jiān)控模塊周期性向HPC平臺發(fā)送任務(wù)狀態(tài)查詢請求,獲取HPC平臺根據(jù)任務(wù)狀態(tài)查詢請求所查詢到的各節(jié)點的執(zhí)行進度,向Web前端發(fā)送各節(jié)點的執(zhí)行進度以及在數(shù)據(jù)庫中對執(zhí)行進度進行更新。
其中,常見的執(zhí)行進度包括:
a)平臺收到提交命令;
b)正在向集群發(fā)送提交命令;
c)已經(jīng)成功向集群發(fā)送提交命令;
d)向集群提交任務(wù)失敗;
e)任務(wù)正在集群排隊;
f)任務(wù)正在集群運行;
g)任務(wù)在集群的狀態(tài)不明;
h)平臺收到停止命令;
i)任務(wù)已經(jīng)暫停;
j)任務(wù)已經(jīng)停止;
k)任務(wù)運行失敗。
監(jiān)控模塊檢查到HPC集群上執(zhí)行進度為停止時,將數(shù)據(jù)庫中所存儲的執(zhí)行進度改為任務(wù)停止,停止對該目標(biāo)任務(wù)的監(jiān)控。一旦出現(xiàn)問題,都可以在重啟后,通過查詢數(shù)據(jù)庫,獲得任務(wù)列表以及重啟前任務(wù)最后的執(zhí)行進度。據(jù)此對所有任務(wù),按照最后記錄的執(zhí)行進度進行恢復(fù)。
同時,為了便于對日志進行分析,還提供了日志分析模塊,圖8為日志分析模塊的架構(gòu)示意圖,如圖8所示,日志分析模塊從HPC集群上獲取目標(biāo)任務(wù)的訓(xùn)練日志,采用多線程方式,根據(jù)訓(xùn)練日志,對線程所對應(yīng)的指標(biāo)進行分析得到圖表形式的分析數(shù)據(jù),通過Web前端展示分析數(shù)據(jù)。
具體來說HPC集群節(jié)點上運行相應(yīng)日志服務(wù)進程,專門用于根據(jù)日志分析模塊指定的讀取大小,讀取偏移量等信息,將HPC集群上的訓(xùn)練日志發(fā)送給日志分析模塊。由于多個指標(biāo)之間沒有相互聯(lián)系,因此可以采用多線程方式進行分析,一個指標(biāo)對應(yīng)一個線程,從而提高日志分析的效率。這對大日志文件,超過10G的日志,分析速度提升明顯。日志分析模塊分析的重要指標(biāo)包括各節(jié)點的執(zhí)行進度、樣本量分布以及準(zhǔn)確率,這些指標(biāo)均是以圖表的形式向用戶展示。對訓(xùn)練過程中,錯誤任務(wù)的日志進行分析,總結(jié)出任務(wù)可能的出錯原因,方便用戶進行快速定位問題。
為了實現(xiàn)上述實施例,本發(fā)明還提出一種深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置。
圖9為本發(fā)明實施例提供的一種深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置的結(jié)構(gòu)示意圖。
如圖9所示,該裝置包括:獲取模塊91、組建模塊92、指令生成模塊93和指令發(fā)送模塊94。
獲取模塊91,用于當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,從運行深度學(xué)習(xí)框架的集群服務(wù)器,獲取所述任務(wù)提交請求所指示的運行環(huán)境包。
組建模塊92,用于利用所述運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合所述任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò)。
指令生成模塊93,用于根據(jù)所述目標(biāo)任務(wù)的訓(xùn)練信息,生成指示所述集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令。
指令發(fā)送模塊94,用于向所述集群服務(wù)器發(fā)送所述任務(wù)指令,以使所述集群服務(wù)器根據(jù)所述任務(wù)指令,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。
進一步,指令生成模塊93,還用于當(dāng)用戶通過所述Web前端發(fā)起所述目標(biāo)任務(wù)的任務(wù)終結(jié)請求時,生成指示所述集群服務(wù)器終結(jié)所述深度學(xué)習(xí)網(wǎng)絡(luò)分布式訓(xùn)練的終結(jié)指令。
指令發(fā)送模塊94,還用于向所述集群服務(wù)器發(fā)送所述終結(jié)指令,以使所述集群服務(wù)器終結(jié)所述深度學(xué)習(xí)網(wǎng)絡(luò)的分布式訓(xùn)練。
需要說明的是,前述對基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法實施例的解釋說明也適用于該實施例的基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置,此處不再贅述。
本發(fā)明實施例中,通過當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,獲取模塊從運行深度學(xué)習(xí)框架的集群服務(wù)器獲取所述任務(wù)提交請求所指示的運行環(huán)境包,進而利用運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建模塊組建符合任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò),根據(jù)該目標(biāo)任務(wù)的訓(xùn)練信息,指令生成模塊生成指示集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令,并由指令發(fā)送模塊對任務(wù)指令進行發(fā)送,以使集群服務(wù)器根據(jù)該任務(wù)指令,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。由于用戶在對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練的過程中,無需在命令模式下提交任務(wù)到集群服務(wù)器上進行分布式訓(xùn)練,簡化了深度學(xué)習(xí)框架自身的使用難度,便于用戶采用深度學(xué)習(xí)框架對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練,解決了現(xiàn)有技術(shù)中深度學(xué)習(xí)框架使用不便的技術(shù)問題。
基于上述實施例,本發(fā)明實施例還提供了一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置的可能的實現(xiàn)方式,圖10為本發(fā)明實施例提供的又一種深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置的結(jié)構(gòu)示意圖,在上一實施例的基礎(chǔ)上,還包括:前端輸入模塊95、發(fā)起模塊96和監(jiān)控模塊97。
前端輸入模塊95,用于通過所述Web前端的可視化界面,獲取用戶從預(yù)先提供的網(wǎng)絡(luò)配置中所選定的所述目標(biāo)任務(wù)的網(wǎng)絡(luò)配置;采集用戶通過所述可視化界面所輸入的所述目標(biāo)任務(wù)的訓(xùn)練信息;所述訓(xùn)練信息包括訓(xùn)練數(shù)據(jù)在分布式文件系統(tǒng)中的存儲路徑,和/或分布式訓(xùn)練的參數(shù)。
發(fā)起模塊96,用于通過所述Web前端發(fā)起所述目標(biāo)任務(wù)的任務(wù)提交請求;其中,所述任務(wù)提交請求攜帶所述網(wǎng)絡(luò)配置,以及所述訓(xùn)練信息。
其中,分布式訓(xùn)練的參數(shù)包括集群服務(wù)器名稱、集群服務(wù)器路徑、集群服務(wù)器密碼、節(jié)點數(shù)、每個節(jié)點的線程數(shù)、更新間隔、是否進行熱啟動和/或是否自動調(diào)參中的至少一個。
監(jiān)控模塊97,用于當(dāng)所述集群服務(wù)器根據(jù)所述任務(wù)指令,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練時,向所述Web前端發(fā)送分布式訓(xùn)練的執(zhí)行進度。
進一步地,在本發(fā)明實施例的一種可能的實現(xiàn)方式中,獲取模塊91,包括:鑒權(quán)單元911、查詢單元912和下載單元913。
鑒權(quán)單元911,用于當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,對所述用戶進行鑒權(quán)。
查詢單元912,用于若鑒權(quán)通過,查詢符合所述任務(wù)提交請求所指示版本的運行環(huán)境包。
下載單元913,用于若未存儲有所述任務(wù)提交請求所指示版本的運行環(huán)境包,根據(jù)所述任務(wù)提交請求中的版本號,從分布式文件系統(tǒng)中下載符合所述版本號的運行環(huán)境包。
進一步地,在本發(fā)明實施例的一種可能的實現(xiàn)方式中,指令發(fā)送模塊94,具體用于向分布式文件系統(tǒng)發(fā)送所述任務(wù)指令,以使所述分布式文件系統(tǒng)根據(jù)所述任務(wù)指令中所述目標(biāo)任務(wù)的訓(xùn)練信息,將所述目標(biāo)任務(wù)分發(fā)到所述集群服務(wù)器的各節(jié)點。
進一步地,在本發(fā)明實施例的一種可能的實現(xiàn)方式中,監(jiān)控模塊97,包括:結(jié)果讀取單元971、圖表生成單元972和圖表發(fā)送單元973,以及進度查詢單元974和進度發(fā)送單元975。
結(jié)果讀取單元971,用于從分布式文件系統(tǒng)讀取所述深度學(xué)習(xí)網(wǎng)絡(luò)的預(yù)測結(jié)果。
圖表生成單元972,用于根據(jù)所述預(yù)測結(jié)果,生成用于指示所述分布式訓(xùn)練進度的進度圖表。
圖表發(fā)送單元973,用于向所述Web前端發(fā)送所述進度圖表。
進度查詢單元974,用于周期性向所述集群服務(wù)器發(fā)送任務(wù)狀態(tài)查詢請求;獲取所述集群服務(wù)器根據(jù)所述任務(wù)狀態(tài)查詢請求所查詢到的各節(jié)點的執(zhí)行進度。
進度發(fā)送單元975,用于向所述Web前端發(fā)送所述各節(jié)點的執(zhí)行進度。
進一步地,在本發(fā)明實施例的一種可能的實現(xiàn)方式中,裝置還包括:進度維護模塊98和日志分析模塊99。
進度維護模塊98,用于在數(shù)據(jù)庫中,更新所述目標(biāo)任務(wù)的狀態(tài)信息;所述狀態(tài)信息包括所述運行環(huán)境包的信息和/或所述各節(jié)點的執(zhí)行進度。
日志分析模塊99,用于從所述集群服務(wù)器讀取訓(xùn)練日志;采用多線程方式,根據(jù)所述訓(xùn)練日志,對所述線程所對應(yīng)的指標(biāo)進行分析得到圖表形式的分析數(shù)據(jù);通過所述Web前端展示所述分析數(shù)據(jù)。
其中,指標(biāo)包括:各節(jié)點的執(zhí)行進度、樣本量分布以及準(zhǔn)確率。
本發(fā)明實施例中,通過當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,獲取模塊從運行深度學(xué)習(xí)框架的集群服務(wù)器獲取所述任務(wù)提交請求所指示的運行環(huán)境包,進而利用運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建模塊組建符合任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò),根據(jù)該目標(biāo)任務(wù)的訓(xùn)練信息,指令生成模塊生成指示集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令,并由指令發(fā)送模塊對任務(wù)指令進行發(fā)送,以使集群服務(wù)器根據(jù)該任務(wù)指令,對深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。由于用戶在對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練的過程中,無需在命令模式下提交任務(wù)到集群服務(wù)器上進行分布式訓(xùn)練,簡化了深度學(xué)習(xí)框架自身的使用難度,便于用戶采用深度學(xué)習(xí)框架對深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練,解決了現(xiàn)有技術(shù)中深度學(xué)習(xí)框架使用不便的技術(shù)問題。
為了實現(xiàn)上述實施例,本發(fā)明還提出另一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練裝置,包括:處理器,以及用于存儲所述處理器可執(zhí)行指令的存儲器。
其中,處理器被配置為:當(dāng)用戶通過Web前端發(fā)起目標(biāo)任務(wù)的任務(wù)提交請求時,從運行深度學(xué)習(xí)框架的集群服務(wù)器,獲取所述任務(wù)提交請求所指示的運行環(huán)境包;利用所述運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合所述任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò);根據(jù)所述目標(biāo)任務(wù)的訓(xùn)練信息,生成指示所述集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令;向所述集群服務(wù)器發(fā)送所述任務(wù)指令,以使所述集群服務(wù)器根據(jù)所述任務(wù)指令,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。
為了實現(xiàn)上述實施例,本發(fā)明還提出一種非臨時性計算機可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由服務(wù)器的處理器被執(zhí)行時,使得服務(wù)器能夠執(zhí)行一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法,所述方法包括:利用所述運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合所述任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò);根據(jù)所述目標(biāo)任務(wù)的訓(xùn)練信息,生成指示所述集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令;向所述集群服務(wù)器發(fā)送所述任務(wù)指令,以使所述集群服務(wù)器根據(jù)所述任務(wù)指令,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。
為了實現(xiàn)上述實施例,本發(fā)明還提出一種計算機程序產(chǎn)品,當(dāng)所述計算機程序產(chǎn)品中的指令處理器執(zhí)行時,執(zhí)行一種基于人工智能的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練方法,所述方法包括:利用所述運行環(huán)境包中的網(wǎng)絡(luò)配置生成工具,組建符合所述任務(wù)提交請求所指示網(wǎng)絡(luò)配置的深度學(xué)習(xí)網(wǎng)絡(luò);根據(jù)所述目標(biāo)任務(wù)的訓(xùn)練信息,生成指示所述集群服務(wù)器利用所運行的深度學(xué)習(xí)框架,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練的任務(wù)指令;向所述集群服務(wù)器發(fā)送所述任務(wù)指令,以使所述集群服務(wù)器根據(jù)所述任務(wù)指令,對所述深度學(xué)習(xí)網(wǎng)絡(luò)進行分布式訓(xùn)練。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié)合和組合。
此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)定制邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計算機可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(CDROM)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學(xué)掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。如,如果用硬件來實現(xiàn)和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。
上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。