在使用keras model.fit_generator()进行训练期间,我想每隔几个时期保存整个模型,包括优化器的状态、自定义指标等。目标是能够从中断的确切状态恢复训练。
我正在使用的代码是TF 1.14。我知道ModelCheckpoint回调,但它默认以hdf5格式保存模型,这显然不能正确处理自定义丢失。我认为回调可能只是在训练期间以预定义的时间间隔调用model.save(),那么有没有办法在TF2.x之前的版本中更改传递给SavedModel调用的文件格式,从而产生我想要的结果?
发布于 2020-11-16 22:09:46
这段代码使用TF 1.15进行了测试
import numpy as np
import kerasdef custom_loss(y_true, y_pred):
return y_pred*y_pred - y_true*y_true
m = keras.models.Sequential()
m.add(keras.layers.Dense(3, input_shape=(10,)))
m.compile('adam', loss=custom_loss)x = np.random.randint(0,100,size=(200,10))
y = np.random.randint(0,100,size=(200,3))mc = keras.callbacks.ModelCheckpoint('F:\\model.h5')
m.fit(x,y,callbacks=[mc])Epoch 1/1
200/200 [==============================] - 0s 70us/step - loss: -622.8262m = keras.models.load_model('F:\\model.h5', custom_objects={'custom_loss': custom_loss})m.fit(x,y)Epoch 1/1
200/200 [==============================] - 0s 244us/step - loss: -800.1645https://stackoverflow.com/questions/64858908
复制相似问题