python - 恢复已保存的 Tensorflow .pb 模型的权重

标签 python tensorflow

我在这里看到很多关于恢复已保存的 TF 模型的帖子,但没有一个能回答我的问题。 使用 TF 1.0.0

具体来说,我有兴趣查看 .pb 文件中公开可用的 inceptionv3 模型的权重 here .我设法使用一小段 Python 代码将其恢复,并且可以访问 tensorboard 中的图形高级 View :

from tensorflow.python.platform import gfile

INCEPTION_LOG_DIR = '/tmp/inception_v3_log'

if not os.path.exists(INCEPTION_LOG_DIR):
    os.makedirs(INCEPTION_LOG_DIR)
with tf.Session() as sess:
    model_filename = './model/tensorflow_inception_v3_stripped_optimized_quantized.pb'
    with gfile.FastGFile(model_filename, 'rb') as f:
        graph_def = tf.GraphDef()
        graph_def.ParseFromString(f.read())
        _= tf.import_graph_def(graph_def,name='')
    writer = tf.train.SummaryWriter(INCEPTION_LOG_DIR, graph_def)
    writer=tf.summary.FileWriter(INCEPTION_LOG_DIR, graph_def)
    writer.close()

但是,我无法访问任何图层的权重。

tensors= tf.import_graph_def(graph_def,name='')

返回空值,即使我添加任意 return_elements=。它有任何重量吗?如果是,这里的适当程序是什么?谢谢。

最佳答案

使用此代码打印张量的值:

with tf.Session() as sess:
    print sess.run('your_tensor_name')

您可以使用此代码检索张量名称:

    op = sess.graph.get_operations()
    for m in op : 
    print(m.values())

关于python - 恢复已保存的 Tensorflow .pb 模型的权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45362602/

相关文章:

python - 索引错误 : index 666 is out of bounds for axis 1 with size 501

python - 在 linux 上弹出新的进程组

python - 被正则表达式难住了

python - 计算每分钟的列值总和

c++ - 在 OpenCV 上使用 Tensorflow 2.X 模型

python - Tensorflow 对象检测 - 将 .pb 文件转换为 tflite

python - 如何在不使用列表的情况下转换字符串中的数字?

typescript - Tensorflow.js `tensor2d` 到数值同时保留形状

tensorflow - Heroku : tensorflow 2. 2.1 太大,无法部署

tensorflow - 如何查看 .tflite 文件中的权重?