楼主可以接受使用 initial_epoch 参数吗?
import numpy as np
from keras.models import Model
from keras.layers import Input, Dense
from keras.callbacks import TensorBoard
test = np.arange(2000.).reshape((-1, 1))
x = Input(shape=(1,))
y = Dense(1)(x)
model = Model(inputs=x, outputs=y)
model.compile(optimizer='Adam',
loss='logcosh',
metrics=['accuracy'])
# 第一次训练
first_epoch = 20
model.fit(x=test, y=test, epochs=first_epoch,
callbacks=[TensorBoard()])
json_string = model.to_json()
model.save_weights('./logs/my_model_weights.h5')
del model
# 重新训练
from keras.models import model_from_json
from keras.optimizers import SGD
new_model = model_from_json(json_string)
new_model.load_weights('./logs/my_model_weights.h5')
new_model.compile(optimizer=SGD(lr=1e-7),
loss='mean_squared_error',
metrics=['accuracy'])
second_epoch = 10
new_model.fit(x=test, y=test,
epochs=first_epoch+second_epoch,
callbacks=[TensorBoard()],
initial_epoch=first_epoch)
回帖人:yunhai_luo
发表于 2018-5-25 15:15:30