1

我是深度学习领域的新人,我有一个冻结的图形模型,经过训练可以检测眼睛区域地标。我想得到这个模型的翻牌数。我使用了从 Stackoverflow 上发布的解决方案中获得的代码。问题是当我测试代码时,返回的结果显示失败次数的无值。

import os
import tensorflow as tf
from tensorflow.core.framework import graph_pb2
from tensorflow.python.framework import importer
from tensorflow.python.framework import graph_util


os.environ['CUDA_VISIBLE_DEVICES'] = '0'

pb_path = 'graph_300VW_opimized.pb'
def load_pb(pb):
    with tf.gfile.GFile(pb, "rb") as f:
        graph_def = tf.GraphDef()
        graph_def.ParseFromString(f.read())
    with tf.Graph().as_default() as graph:
        tf.import_graph_def(graph_def, name='')
        return graph

'''
run_meta = tf.RunMetadata()
with tf.Graph().as_default():
    output_graph_def = graph_pb2.GraphDef()
    with open(pb_path, "rb") as f:
        output_graph_def.ParseFromString(f.read())
        _ = importer.import_graph_def(output_graph_def, name="")
        print('model loaded!')
    all_keys = sorted([n.name for n in tf.get_default_graph().as_graph_def().node])
    # for k in all_keys:
    #   print(k)

    with tf.Session() as sess:
        flops = tf.profiler.profile(tf.get_default_graph(), run_meta=run_meta,
            options=tf.profiler.ProfileOptionBuilder.float_operation())
        print("test flops:{:,}".format(flops.total_float_ops))
'''
g2 = load_pb('./frozen_model_300VW5.pb')
with g2.as_default():
    flops = tf.profiler.profile(g2, options = tf.profiler.ProfileOptionBuilder.float_operation())
    print('FLOP after freezing', flops.total_float_ops)

日志:

==================模型分析报告======================

Doc:范围:模型图中的节点按名称组织,类似于文件系统的层次结构。flops:浮点运算的次数。注意:请阅读其背后的数学实现。

配置文件:节点名称 | # float_ops _TFProfRoot (--/0 失败)

======================报告结束========================= =

冻结后 FLOP 0

我想知道为什么我的失败次数没有值的原因是什么?

4

0 回答 0