gpt4 book ai didi

python - 加载的 .pb 文件的 tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES) 为空

转载 作者:行者123 更新时间:2023-12-01 08:12:35 26 4
gpt4 key购买 nike

我正在尝试查看已加载的变量列表 .pb文件,但由于某种原因它是空的。

这是代码:

import tensorflow as tf

tf_model_path = './tf_coreml_ssd_resources/ssd_mobilenet_v1_android_export.pb'

with open(tf_model_path, 'rb') as f:
serialized = f.read()

tf.reset_default_graph()

original_gdef = tf.GraphDef()
original_gdef.ParseFromString(serialized)

# V1
with tf.Graph().as_default() as g:
print('type(g)', type(g)) # type(g) <class 'tensorflow.python.framework.ops.Graph'>

tf.import_graph_def(original_gdef, name='')

model_vars = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES)
print('type(model_vars)', type(model_vars))
print('model_vars', model_vars)

# V2
graph = tf.import_graph_def(original_gdef, name='')

print('type(graph)', type(graph)) # why type(graph) <class 'NoneType'> ?

model_vars = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES)
print('type(model_vars)', type(model_vars))
print('model_vars', model_vars)

为什么在 V2 情况下我得到 type(graph) <class 'NoneType'>

最佳答案

GraphDef序列化到 .pb 文件的对象不包含集合信息。如果您想存储图表及其元数据(包括集合),您应该保存 MetaGraphDef相反(请参阅 tf.train.export_meta_graph/tf.train.import_meta_graph )。

在您的 V2 代码中,graphNone 因为 tf.import_graph_def不返回任何内容,它只是将给定图形定义中的节点导入到当前默认图形中。

作为旁注,请注意 graph collections are being deprecated in TensorFlow 2.x .

关于python - 加载的 .pb 文件的 tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES) 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55146700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com