keras model save and restore

Keras save and restore

基于tensorflow 1.9版本,工作中发现keras保存的ckpt内的key和estimator,slim等保存的不一样。keras使用的是object-based ckpt,而estimator等使用的是name-based ckpt存储方式。object-based方式会在名字中加入该节点的依赖项,使用ckpt中的key和graph中的node_name不一样。需要转换一下,而这个转换其实也是protobufer

大致整理了save和restore的流程图:

变量
函数
条件判断
继承
成员函数
成员变量
定义
赋值
成员函数
调用
成员函数
调用
成员函数
init
update
失败:使用name-based
成员函数
成功:使用object-based
init
hold status
1
update
2
成员函数
start
Keras.Model
keras.engine.network.Network
save_weights
_checkpointable_saver = CheckpointableSaver< weakref.ref >
checkpointable_utils
CheckpointableSaver
load_weights
save
restore
_serialize_object_graph
_breadth_first_checkpointable_traversal
_serialize_slot_variables
_serialize_checkpointables
named_variables
graph_proto
feed_additions
_object_graph_feed_tensor
tf.train.Saver
save
GetTensor
_NameBasedRestoreCoordinator
restore_coordinator
NameBasedSaverStatus
run_restore_ops
tf.train.Saver.restore
ParseFromString
object_graph_proto
_CheckpointRestoreCoordinator
checkpoint
checkpointable_lib._CheckpointPosition.restore
_restore_from_checkpoint_position
restore_ops
CheckpointLoadStatus
run_restore_ops
sess.run
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值