将 TensorFlow 模型转换为 Keras hdf5
Convert TensorFlow model to Keras hdf5
嘿,我是 tensorflow 和 keras 的新手。我想知道是否有任何方法可以转换我的具有四个文件的 tensorflow 模型:
- 检查点
- 型号
- 型号-18540.data-00000-of-00001
- 型号-18540.index
有没有办法把这四个文件转换成一个keras文件格式到hdf5
目前,Tensorflow 或 Keras 中没有直接内置支持将冻结模型或检查点文件转换为 hdf5 格式。
但是你可以在这个 way.The TF 中保存 ckpt 文件:
saver = tf.train.Saver()
saver.save(sess, checkpoint_name)
要在 Keras 中加载检查点,您需要一个回调 class,如下所示:
class RestoreCkptCallback(keras.callbacks.Callback):
def __init__(self, pretrained_file):
self.pretrained_file = pretrained_file
self.sess = keras.backend.get_session()
self.saver = tf.train.Saver()
def on_train_begin(self, logs=None):
if self.pretrian_model_path:
self.saver.restore(self.sess, self.pretrian_model_path)
print('load weights: OK.')
然后在你的keras脚本中:
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
restore_ckpt_callback = RestoreCkptCallback(pretrian_model_path='./XXXX.ckpt')
model.fit(x_train, y_train, batch_size=128, epochs=20, callbacks=[restore_ckpt_callback])
嘿,我是 tensorflow 和 keras 的新手。我想知道是否有任何方法可以转换我的具有四个文件的 tensorflow 模型:
- 检查点
- 型号
- 型号-18540.data-00000-of-00001
- 型号-18540.index
有没有办法把这四个文件转换成一个keras文件格式到hdf5
目前,Tensorflow 或 Keras 中没有直接内置支持将冻结模型或检查点文件转换为 hdf5 格式。
但是你可以在这个 way.The TF 中保存 ckpt 文件:
saver = tf.train.Saver()
saver.save(sess, checkpoint_name)
要在 Keras 中加载检查点,您需要一个回调 class,如下所示:
class RestoreCkptCallback(keras.callbacks.Callback):
def __init__(self, pretrained_file):
self.pretrained_file = pretrained_file
self.sess = keras.backend.get_session()
self.saver = tf.train.Saver()
def on_train_begin(self, logs=None):
if self.pretrian_model_path:
self.saver.restore(self.sess, self.pretrian_model_path)
print('load weights: OK.')
然后在你的keras脚本中:
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
restore_ckpt_callback = RestoreCkptCallback(pretrian_model_path='./XXXX.ckpt')
model.fit(x_train, y_train, batch_size=128, epochs=20, callbacks=[restore_ckpt_callback])