簡體   English   中英

如何在單次訓練期間保存和快照機器學習模型?

[英]How to save and snapshot machine learning model during a single training?

我必須在時間限制為 7 天的集群上運行我的模型,如果計算成本超過 7 天,作業將在集群上結束。 因此,將無法完成訓練以獲得已保存的模型進行預測。

我正在從scikit-learn訓練一些分類器模型(例如 SVC、KNeighborsClassifier 等),想知道是否有任何函數或庫可以在特定持續時間之間對模型進行快照,然后從停止的點繼續訓練(類似深度學習中的應用)?

謝謝

通常,在 scikit-learn 中無法在擬合期間拍攝快照。 該庫僅提供有限的 持久性功能 可以逐步訓練某些模型而不是其他模型。 對於可能的模型,您將不得不編寫不同數量的樣板代碼。

warm_start增量學習下列出的模型具有warm_start屬性和/或.partial_fit()方法。 您可以在批處理數據的循環中調用partial_fit 此外,您需要編寫代碼來存儲和檢索訓練進度和部分訓練的模型(有關模型模型持久性的其他信息,請參閱此問題)。

某些模型(尤其是集成,如隨機森林)原則上可以合並。 因此,不是逐步訓練一個模型,而是在循環中訓練多個獨立的模型實例,然后將它們合並。 但是,據我所知,scikit-learn API 不支持這種合並。 因此,雖然有可能這樣做,但它需要破解私有屬性以及模型數學和實現的深入知識。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM