想請問如何建立pre-trained model呢?
我們常常會使用別人訓練好的模型來使用,
但每次在學習機器學習時,教學會讓我們從頭開始訓練、調參數等等,
每次要預測新的目標時,可能又會要重新訓練,
是否有辦法把自己訓練好的東西變成一個模型,就像是pre-trained model一般呢?
把已經訓練好的權重輸出出來(以 Python 為例可能會是 pkl 格式)
然後要用的時候再用一樣的架構去讀取之前輸出的檔案就可以了
如果使用 Keras,存檔程式碼如下:
# 儲存模型結構及權重參數
model.save('my_model.h5')
載入模型,程式碼如下:
# load
model = load_model('my_model.h5')
如果使用 scikit-learn 演算法,則使用 pickle 存檔
# save model, 序列化(Serialization)
import pickle
model_file_name='model.pickle'
with open(model_file_name, 'wb') as f:
pickle.dump(random_forest, f)
載入模型,程式碼如下:
# load
model_file_name='model.pickle'
with open(model_file_name, 'rb') as f:
random_forest = pickle.load(f)
如果使用 Tensorflow,請參考
https://www.tensorflow.org/tutorials/keras/save_and_load