AutoKeras 的模型搜尋行為

AutoKeras 之所以方便使用而且將 AI 的模型訓練降低門檻到幾乎人人都可以上手,主要就是在於自動化的進行模型搜尋,透過自動化的方式去尋找、找出最合適的演算法跟模型來訓練 AI。 而這也就是 AutoKeras 的命名來源,取代原本需要透過資料工程師手動的調教、訓練模型。

AutoKeras 是如何進行模型的搜尋行為的 ?

當使用 ImageClassifier 分類器進行訓練時,AutoKeras 會在檔案所在的目錄底下建立一個 image_classifier 資料夾,並在資料夾中記錄每個模型的訓練過程。

當訓練完成後,會將最佳模型儲存在 best_model 目錄底下,而這個最佳模型也可以在之後透過載入的方式使用,不需要再額外重新訓練一次。

當然,如果訓練的過程中,中斷了、當機了,當你再次執行訓練的時候, AutoKeras 就會依據已經紀錄的內容來繼續訓練。 這其實蠻實用的,可以節省大量你的時間。

舉個例子來說,一般 AutoKeras 預設的 max_trials 參數是 100,也就是說 AutoKeras 會盡可能地在100次訓練模型中找到最合適的一種模型,透過排列組合以得到更好的結果。

換句話說,在 AutoKeras 之前,資料工程師基本上就是需要手動調整模型跟訓練相當多次以得到更好的模型,感謝 AutoKeras。

假設在訓練的過程中,訓練到第五個模型的時候發生當機 ( 這實在是太常發生了,跟日常沒兩樣 ),重新執行的時候,AutoKeras 就會從第五個模型開始重新訓練。

但如果假設重新執行程式的時候,已經都訓練完找到最佳模型,那麼 AutoKeras 會直接拿最佳模型重新訓練。

如何打掉重練整個 AutoKeras 的模型訓練過程 ?

有兩種方法可以直接打掉重練整個 AutoKeras 的模型訓練過程,讓它重頭再來過。

第一種就是直接刪除掉儲存檔案的訓練進度的資料夾,在上面的 ImageClassifier 的例子中,就是刪除掉image_classifier 資料夾,然後再重新執行程式碼,就可以從頭訓練整個模型。

第二種比較沒有那麼麻煩,直接在程式碼中的 ImageClassifier 中調用 overwrite 的參數,將這個參數設為 True 就可以在重新執行時覆蓋掉原本舊的紀錄。

但記得在執行完後更改回來,不然每次重新執行時,都會從頭再次訓練你的模型。

clf = ImageClassifier (overwrite = True)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *