Tensorflow 2.0 Frozen_graph在tf.keras保存的模型上失败

时间:2019-06-03 18:32:41

标签: tensorflow2.0

我正在将经过训练的tf.keras模型转换为tf冻结模型,以与c ++ api一起使用。在TF 2.0上冻结模型时遇到错误

model_path = '/home/Desktop/model.hdf5'
model = tf.keras.models.load_model(model_path)
tf.keras.experimental.export_savedmodel(model,newdir)

此后,将创建一个变量文件夹,其中包含文件[checkpoint,variables.data-00000-of-00001,variables.index],Saved_model.pb和在newdir中创建的assests文件夹。

我正在尝试使用saved_model.pb和variables.data-00000-of-00001文件来获取单个.pb Frozen_graph

python /home/tensorflow/python/tools/freeze_graph.py --input_graph=/home/Desktop/tf_models/saved_model.pb --input_checkpoint=/home/Desktop/tf_models/variables/variables.data-00000-of-00001 --output_graph=/home/Desktop/tf_models/frozen_graph.pb --output_node_names=classes --input_binary=true

我希望有一个冻结的.pb文件,但遇到如下错误:

  

回溯(最近通话最近):文件   “ /home/vsrira10/anaconda2/envs/tf2/lib/python3.6/site-packages/tensorflow/python/tools/freeze_graph.py”,   在run_main()文件中的第492行   “ /home/vsrira10/anaconda2/envs/tf2/lib/python3.6/site-packages/tensorflow/python/tools/freeze_graph.py”,   第489行,在run_main app.run(main = my_main,argv = [sys.argv [0]] +   未解析)文件   “ /home/vsrira10/anaconda2/envs/tf2/lib/python3.6/site-packages/tensorflow/python/platform/app.py”,   40行   _run(main = main,argv = argv,flags_parser = _parse_flags_tolerate_undef)文件   “ /home/vsrira10/anaconda2/envs/tf2/lib/python3.6/site-packages/absl/app.py”,   运行中的300号线   _run_main(main,args)文件“ /home/vsrira10/anaconda2/envs/tf2/lib/python3.6/site-packages/absl/app.py”,   _run_main sys.exit(main(argv))文件中的第251行   “ /home/vsrira10/anaconda2/envs/tf2/lib/python3.6/site-packages/tensorflow/python/tools/freeze_graph.py”,   第488行,在my_main = lambda未使用的参数:main(unused_args,flags)   文件   “ /home/vsrira10/anaconda2/envs/tf2/lib/python3.6/site-packages/tensorflow/python/tools/freeze_graph.py”,   主标志中的第382行.saved_model_tags,checkpoint_version)文件   “ /home/vsrira10/anaconda2/envs/tf2/lib/python3.6/site-packages/tensorflow/python/tools/freeze_graph.py”,   第341行,在Frozen_graph input_graph_def =   _parse_input_graph_proto(input_graph,input_binary)文件“ /home/vsrira10/anaconda2/envs/tf2/lib/python3.6/site-packages/tensorflow/python/tools/freeze_graph.py”,   _parse_input_graph_proto中的第252行   input_graph_def.ParseFromString(f.read())   google.protobuf.message.DecodeError:解析消息时出错

我愿意接受替代使用freeze_graph脚本的建议。谢谢。

0 个答案:

没有答案