keras 中模型的保存及重用


深度學習中如何保存最佳模型,如何重用已經保存的模型?本文主要介紹Keras 保存及重用模型的方法

保存模型

如下,我們預定義保存的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 from

# create model
model = Sequential()
model.add(...)
model.add(...)
model.add(...)
# Compile model
model.
# checkpoint
filepath=
checkpoint = ModelCheckpoint(filepath, monitor=
# Fit the model
model.fit(X, Y, validation_split=

結束後,我們會得到如下的結果,

 1
2
3
4
5
 ...
weights-53-0.76.hdf5
weights-71-0.76.hdf5
weights-77-0.78.hdf5
weights-99-0.78.hdf5

如果我們只想保存一個最好的模型,那麼把保存文件名字固定為

load模型

注意,之前保存的只是模型的weights,重新load需要再次定義模型結構再load weights並再次combine,例如

1
2
3
4
5
6
7
8
9
10
11
12
13
 from
# create model
model = Sequential()
model.add(...)
model.add(...)
model.add(...)
# load weights
model.load_weights(
# Compile model
model.
# estimate accuracy
scores = model.evaluate(X, Y, verbose=
print

如果之前選擇了連模型結構也一起保存(即在

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 from
from

# create model
model = Sequential()
model.add(...)
model.add(...)
model.add(...)
# Compile model
model.
# checkpoint
filepath=
checkpoint = ModelCheckpoint(filepath, monitor=

# Fit the model
model.fit(X, Y, validation_split=

# Load the model
model= load_model(filepath)
scores=model.evaluate(X, Y,verbose=
print
Facebook
Twitter
LinkedIn
Pinterest
Tumblr