How to save Tensorflow 2 Object Detection Model including all weights?(如何保存包含所有权重的TensorFlow 2目标检测模型?)
本文介绍了如何保存包含所有权重的TensorFlow 2目标检测模型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用PYTHON中的TensorFlow 2API进行对象检测。到目前为止,这个方法运行得很好。然而,如果我想保存模型,我使用的是exporter_main_v2.py
,它导出一个图形(.pb)和一个检查点(checkpoint
,ckpt-0.data
,ckpt-0.index
))。图表不不包括任何权重,我必须始终使用检查点来处理保存的模型。
是否有办法将所有权重保存到Protobuf(.pb)文件中?
以下是我尝试过的内容:
- 保存冻结模型:TF2显然不再支持冻结图形。将冻结包含所有权重的图形的
export_inference_graph.py
在TF2下不起作用。 - 与
freeze_graph.py
相同:只能使用TF1
推荐答案
您仍然可以使用tf2中的冻结技术,使用compat.v1
模块:
在下面的代码片段中,我假设您有一个预先训练好的模型,其权重以TF2方式保存,tf.saved_model.save
。
graph = tf.Graph()
with graph.as_default():
sess = tf.compat.v1.Session()
with sess.as_default():
# creating the model/loading it from a TF2 pb file
# (If you have a keras model, you can use
#`tf.keras.models.load_model` instead).
model = tf.saved_model.load("/path/to/model")
# the default signature might be different.
sign = model.signatures["serving_default"]
# if using keras, just use model.outputs
tensor_out_names = [out.name.split(":")[0] for out in sign.outputs]
graphdef = tf.compat.v1.graph_util.convert_variables_to_constants(
sess, graph.as_graph_def(), tensor_out_names
)
# the following is optional, use only if no more training is required
graphdef = tf.compat.v1.graph_util.remove_training_nodes(graphdef)
tf.python.framework.graph_io.write_graph(graphdef, "./", "/path/to/frozengraph", as_text=False)
但是,除非是出于与旧工具的兼容性原因,否则我不会这么做。compat
模块可能有一天会被弃用,据我所知,只有一个文件包含图形+权重,而不是拆分它们,不会有很大的值。
这篇关于如何保存包含所有权重的TensorFlow 2目标检测模型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何保存包含所有权重的TensorFlow 2目标检测模型?
猜你喜欢
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- 计算测试数量的Python单元测试 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01