写在前面:本文仅为鄙人学习记录,不做知识分享
----------------------------------------分割线---------------------------------------
一、Tensorflow2.x训练权重保存及加载
#模型存放路径
#网络构建完成后,先model.compile编译在model.fit训练权重
#之后将训练好的权重保存
save_path = 'path' #path为权重保存的地址
model.save_weights(save_path)
#模型加载
#构建网络后先要model.compile编译网络后再加载权重
save_path = 'path' #path为权重保存的地址
model.load_weights(save_path)
注:此法必须确保网络结构完全一致,才能采用读取权重文件的方法
二、Tensorflow2.x保存整个网络模型和参数
model = create_model()
model.compile(········)
model.fit(·······)
# 保存整个模型到HDF5文件
model.save('my_model.h5')
new_model = keras.models.load_model('my_model.h5')
new_model.summary()
注:此方法可保存模型的所有东西: 权重值 模型的配置(架构) 优化器配置
Keras通过检查架构来保存模型,目前它无法保存TensorFlow优化器(来自tf.train)。使用这些时,您需要在加载后重新编译模型,否则您将失去优化程序的状态。