如何解决tensorflow.keras的H5模型无法转换为graphdef冻结模型
我想通过TensorRT优化h5模型,但无法将h5模型转换为graphdef冻结模型,这样的错误:
Traceback (most recent call last):
File "h5_to_pb.py",line 38,in <module>
h5_to_pb(h5_model,output_dir="./",model_name="61")
File "h5_to_pb.py",line 20,in h5_to_pb
main_graph = graph_util.convert_variables_to_constants(sess,init_graph,out_nodes)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/util/deprecation.py",line 324,in new_func
return func(*args,**kwargs)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/graph_util_impl.py",line 297,in convert_variables_to_constants
source_op_name = get_input_name(node)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/graph_util_impl.py",line 254,in get_input_name
raise ValueError("Tensor name '{0}' is invalid.".format(node.input[0]))
ValueError: Tensor name 'bn_conv1/cond/ReadVariableOp/Switch:1' is invalid.
像这样的代码
for i in range(len(h5_model.outputs)):
out_nodes.append(out_prefix + str(i))
tf.identity(h5_model.output[i],out_prefix + str(i))
print(h5_model.outputs)
sess = tf.compat.v1.Session()
from tensorflow.python.framework import graph_util,graph_io
init_graph = sess.graph.as_graph_def()
main_graph = graph_util.convert_variables_to_constants(sess,out_nodes)
graph_io.write_graph(main_graph,output_dir,name=model_name,as_text=False)
请帮助......
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。