由于项目需要,需要将TensorFlow保存的模型从ckpt文件转换为pb文件。
进口操作系统 从tensorflow。python导入pywrap_tensorflow 从net2use进口inception_resnet_v2_small #这里使用自己定义的模型函数即可 进口tensorflow特遣部队 if __name__==癬_main__”: pb_file=" ./模型/output.pb” ckpt_file="/模型/model.ckpt - 652900。” “‘ 这里的节点名字可能跟设想的有出入,最直接的方法是直接输出ckpt中保存的节点名字,然后对应着找节点名字,具体的进入convert_variables_to_constants函数的实现中graph_util_impl。py 130行的函数:_assert_nodes_are_present添加代码 打印(在图中的节点是:') 喧嚣的name_to_node: 打印('{},在图中“.format (din)) 然后运行代码,若正确就会直接保存;若失败则会保存失败,找好输出节点的名字,在output_node_names中添加就好 “‘ output_node_names=(“嵌入”) 与tf.name_scope(“输入”): 形象=tf.placeholder (tf.float32形状=(79199年没有,1),name=' input_image ') 净,端点=inception_resnet_v2_small(形象,is_training=False) 嵌入=tf.nn.l2_normalize(净1 1平台以及,name=扒度搿? 配置=tf.ConfigProto (allow_soft_placement=True) config.gpu_options。per_process_gpu_memory_fraction=0.45 税=特遣部队。会话(config=配置) 储蓄者=tf.train.Saver () 储蓄者。ckpt_file恢复(税) 打印(阅读成功的) converted_graph_def=tf.graph_util.convert_variables_to_constants(税, input_graph_def=sess.graph.as_graph_def (), output_node_names=output_node_names) tf.gfile。GFile f (pb_file,“世界银行”): f.write (converted_graph_def.SerializeToString ()) 打印(“保存成功”)
以上这篇TensorFlow实现检查点文件转换为pb文件就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。