本公開涉及機器學習領域。更具體地講,涉及用于自動數據增強的方法和電子裝置。
背景技術:
1、根據用于執行深度學習的一些方法,模型可不斷用大量的數據集進行訓練,以提高泛化能力。在計算機視覺領域中,可采用自動數據增強方法來擴充數據集。例如,自動數據增強方法可包括對原始數據集執行預處理的預處理操作。然而,需要提高自動數據增強方法的預處理操作的效率和提高訓練模型的效率的技術。
技術實現思路
1、提供了一種用于自動數據增強的方法和電子裝置,至少能夠提高自動數據增強方法的預處理操作的效率和訓練模型的效率。
2、附加的方面將部分地在下面的描述中被闡述,并且部分地將從描述中清楚,或者可通過實踐呈現的實施例來得知。
3、根據公開的方面,一種用于自動數據增強的方法包括:使用中央處理器(cpu),確定與多個子模型對應的多個超參數;使用多個存儲裝置和多個圖形處理單元(gpu),基于所述多個超參數訓練所述多個子模型;使用cpu,更新訓練后的所述多個子模型之中的至少一個子模型、以及與更新后的所述至少一個子模型對應的至少一個超參數,其中,訓練所述多個子模型達第一預定數量的輪次,并且其中,在第一預定數量的輪次之中的每個輪次期間,訓練的步驟包括:使用所述多個存儲裝置,基于所述多個超參數對原始數據集進行預處理,以生成與所述多個超參數對應的多個預處理后的數據集;使用所述多個gpu,基于所述多個預處理后的數據集訓練所述多個子模型。
4、所述多個存儲裝置之中的每個存儲裝置可包括控制器和現場可編程門陣列(fpga),其中,針對所述多個超參數中的每個超參數,預處理的步驟包括:通過所述多個存儲裝置之中的與每個超參數對應的存儲裝置的控制器,基于每個超參數,來確定原始數據集中的將不被執行圖像處理的一部分,并使用cpu,將原始數據集中的所述一部分提供給所述多個gpu之中的用于基于與每個超參數對應的預處理后的數據集進行訓練的gpu,通過所述存儲裝置的fpga,基于超參數,來對原始數據集中的剩余部分執行圖像處理,以生成處理后的數據,并使用cpu將處理后的數據提供給所述gpu,其中,所述預處理后的數據集包括原始數據集中的所述一部分和處理后的數據。
5、每個超參數可包括:與多種類型的圖像處理對應的多個預處理算子,其中,針對每個超參數,預處理的步驟還包括:通過所述控制器,以預定的批大小為單位將原始數據集劃分為多個子數據集,通過所述控制器,順序地從所述多個子數據集之中選擇子數據集,通過所述控制器,基于選擇子數據集,從所述多個預處理算子之中隨機選擇至少一個預處理算子,其中,確定原始數據集中的所述一部分的步驟包括:基于所述至少一個預處理算子來確定子數據集中的將不被執行圖像處理的一部分,其中,生成處理后的數據的步驟包括:基于所述至少一個預處理算子對子數據集中的剩余部分執行圖像處理。
6、所述方法還可包括:重復訓練的步驟和更新的步驟,直到達到第二預定數量的輪次為止,通過cpu,在重復訓練的步驟和更新的步驟停止后,確定與訓練后的所述多個子模型之中的最佳子模型對應的超參數,其中,第二預定數量大于第一預定數量。
7、重復訓練的步驟可包括:訓練包括更新后的所述至少一個子模型的所述多個子模型達第一預定數量的輪次,并且在每個輪次期間,使用所述多個存儲裝置之中的與所述至少一個子模型對應的至少一個存儲裝置,基于更新后的所述至少一個超參數,對原始數據集進行預處理,以生成與更新后的所述至少一個超參數對應的至少一個預處理后的數據集;使用所述多個存儲裝置之中的剩余的存儲裝置,基于所述多個超參數之中的未更新的超參數,對原始數據集進行預處理,以生成與未更新的超參數對應的預處理后的數據集。
8、所述至少一個子模型可包括訓練后的所述多個子模型之中的n個最差子模型,其中,更新的步驟包括:用訓練后的所述多個子模型之中的n個最佳子模型替換所述n個最差子模型,其中,n是大于或等于1且小于(2n+1)/2的整數,其中,n表示所述多個子模型的總數,并且對與所述n個最佳子模型對應的n個超參數執行擾動,以確定與替換后的所述n個最差子模型對應的n個超參數。
9、所述多個存儲裝置中的每個存儲裝置可包括智能固態驅動器(ssd)。
10、原始數據集可包括圖像數據集。
11、根據公開的方面,一種電子裝置包括:中央處理器(cpu),被配置為:確定與多個子模型對應的多個超參數;多個存儲裝置和多個圖形處理單元(gpu),被配置為:基于所述多個超參數訓練所述多個子模型,其中,cpu還被配置為:更新訓練后的所述多個子模型之中的至少一個子模型、以及與更新后的所述至少一個子模型對應的至少一個超參數,其中,所述多個子模型被訓練達第一預定數量的輪次,并且其中,在第一預定數量的輪次之中的每個輪次期間:所述多個存儲裝置還被配置為基于所述多個超參數對原始數據集執行預處理,以生成分別與所述多個超參數對應的多個預處理后的數據集;其中,在每個輪次期間,所述多個gpu還被配置為基于所述多個預處理后的數據集訓練所述多個子模型。
12、所述多個存儲裝置中的每個可包括控制器和現場可編程門陣列(fpga),其中,針對所述多個超參數中的每個超參數,所述多個存儲裝置之中的與所述超參數對應的存儲裝置的控制器被配置為基于所述超參數,來確定原始數據集中的將不被執行圖像處理的一部分,并使用cpu將原始數據集中的所述一部分提供給所述多個gpu之中的用于基于與所述超參數對應的預處理后的數據集進行訓練的gpu,其中,針對每個超參數,所述存儲裝置的fpga被配置為基于所述超參數,來對原始數據集中的剩余部分執行圖像處理,以生成處理后的數據,并使用cpu將處理后的數據提供給所述gpu,其中,所述預處理后的數據集包括原始數據集中的所述一部分和處理后的數據。
13、所述多個超參數中的每個超參數可包括:分別與多種類型的圖像處理對應的多個預處理算子,其中,針對所述每個超參數,所述控制器還被配置為:以預定的批大小為單位將原始數據集劃分為多個子數據集,順序地從所述多個子數據集選擇子數據集,基于選擇子數據集,從所述多個預處理算子之中隨機選擇至少一個預處理算子,其中,所述控制器還被配置為:通過基于所述至少一個預處理算子確定子數據集中的將不被執行圖像處理的數據,來確定原始數據集中的所述一部分,其中,所述fpga還被配置為:通過基于所述至少一個預處理算子對子數據集中的剩余部分執行圖像處理,來生成處理后的數據。
14、所述多個存儲裝置和所述多個gpu還可被配置為:重復訓練的步驟和更新的步驟,直到達到第二預定數量的輪次為止,其中,cpu還被配置為:在重復訓練的步驟和更新的步驟停止后,確定與訓練后的所述多個子模型之中的最佳子模型對應的超參數,其中,第二預定數量大于第一預定數量。
15、為了重復訓練的步驟,所述多個存儲裝置和所述多個gpu還可被配置為:訓練包括更新后的所述至少一個子模型的所述多個子模型達第一預定數量的輪次,其中,在每個輪次期間,所述多個存儲裝置之中的與所述至少一個子模型對應的至少一個存儲裝置被配置為基于更新后的所述至少一個超參數,對原始數據集進行預處理,以生成與更新后的所述至少一個超參數對應的至少一個預處理后的數據集;其中,在每個輪次期間,所述多個存儲裝置之中的剩余的存儲裝置被配置為基于所述多個超參數之中的未更新的超參數,對原始數據集進行預處理,以生成與未更新的超參數對應的預處理后的數據集。
16、所述至少一個子模型可包括訓練后的所述多個子模型之中的n個最差子模型,其中,n是大于或等于1且小于(2n+1)/2的整數,其中,n表示所述多個子模型的總數,其中,cpu還被配置為:通過用訓練后的所述多個子模型之中的n個最佳子模型替換所述n個最差子模型,來更新所述n個最差子模型,并且通過對與所述n個最佳子模型對應的n個超參數執行擾動,來確定與更新后的所述n個最差子模型對應的n個超參數,以更新與更新后的所述n個最差子模型對應的n個超參數。
17、所述多個存儲裝置中的每個存儲裝置可包括智能固態驅動器(ssd)。
18、原始數據集可包括圖像數據集。
19、根據公開的方面,一種應用了多個存儲裝置的系統包括:主處理器;存儲器;存儲裝置;以及多個圖形處理單元(gpu),其中,主處理器被配置為:確定與多個子模型對應的多個超參數;其中,所述存儲裝置和所述多個gpu被配置為:基于所述多個超參數訓練所述多個子模型,其中,主處理器還被配置為:更新訓練后的所述多個子模型之中的至少一個子模型、以及與更新后的所述至少一個子模型對應的至少一個超參數,其中,所述多個子模型被訓練達第一預定數量的輪次,其中,在第一預定數量的輪次中的每個輪次期間,所述存儲裝置還被配置為基于所述多個超參數對原始數據集執行預處理,以生成與所述多個超參數對應的多個預處理后的數據集;其中,在每個輪次期間,所述多個gpu還被配置為基于所述多個預處理后的數據集訓練所述多個子模型。
20、根據公開的方面,一種主機存儲系統包括:主機,包括中央處理器(cpu)和多個圖形處理單元(gpu);以及存儲裝置,其中,cpu被配置為:確定與多個子模型對應的多個超參數;其中,所述存儲裝置和所述多個gpu被配置為:基于所述多個超參數訓練所述多個子模型,其中,gpu還被配置為:更新訓練后的所述多個子模型之中的至少一個子模型、以及與更新后的所述至少一個子模型對應的至少一個超參數,其中,所述多個子模型被訓練達第一預定數量的輪次,其中,在第一預定數量的輪次中的每個輪次期間:所述存儲設備還被配置為基于所述多個超參數對原始數據集執行預處理,以生成與所述多個超參數對應的多個預處理后的數據集;其中,在每個輪次期間,所述多個gpu還被配置為基于所述多個預處理后的數據集訓練所述多個子模型。
21、根據公開的方面,一種通用閃存ufs系統包括:ufs主機,包括中央處理器(cpu)和多個圖形處理單元(gpu);ufs裝置;以及ufs接口,被配置為在所述ufs主機與所述ufs裝置之間進行通信,其中,cpu被配置為:確定與多個子模型對應的多個超參數;其中,所述ufs裝置和所述多個gpu被配置為:基于所述多個超參數訓練所述多個子模型,其中,cpu還被配置為:更新訓練后的所述多個子模型之中的至少一個子模型、以及與更新后的所述至少一個子模型對應的至少一個超參數,其中,所述多個子模型被訓練達第一預定數量的輪次,在第一預定數量的輪次之中的每個輪次期間:所述ufs裝置還被配置為基于所述多個超參數對原始數據集進行預處理,以生成與所述多個超參數對應的多個預處理后的數據集;其中,在每個輪次期間,所述多個gpu還被配置為基于所述多個預處理后的數據集訓練所述多個子模型。
22、根據公開的方面,一種數據中心系統包括:多個應用服務器;以及多個存儲服務器,其中,多個應用服務器中的至少一個應用服務器包括中央處理器(cpu)、多個存儲裝置和多個圖形處理單元(gpu),其中,cpu被配置為:確定與多個子模型對應的多個超參數;所述多個存儲裝置和所述多個gpu被配置為:基于所述多個超參數訓練所述多個子模型,其中,cpu還被配置為:更新訓練后的所述多個子模型之中的至少一個子模型、以及與更新后的所述至少一個子模型對應的至少一個超參數,其中,所述多個子模型被訓練達第一預定數量的輪次,其中,在第一預定數量的輪次中的每個輪次期間,所述多個存儲裝置還被配置為基于所述多個超參數對原始數據集進行預處理,以生成與所述多個超參數對應的多個預處理后的數據集;其中,在每個輪次期間,所述多個gpu還被配置為基于所述多個預處理后的數據集訓練所述多個子模型。