张量流中模型(pb文件)的用途是什么?它是如何工作的?

问题描述 投票:3回答:1

我正在使用一些实现来创建面部识别。它使用这个文件

访问https://drive.google.com/file/d/0B5MzpY9kBtDVZ2RpVDYwWmxoSUk

“facenet.load_model(” 20170512-110547 / 20170512-110547.pb “)”

这个模型有什么用?我不确定它是如何工作的

控制台日志:

型号文件名:20170512-110547 / 20170512-110547.pb距离= 0.72212267

代码https://github.com/arunmandal53/facematch的实际所有者的Github链接

tensorflow
1个回答
4
投票

pb代表protobuf。在TensorFlow中,protbuf文件包含图形定义以及模型的权重。因此,只需要一个pb文件就可以运行给定的训练模型。

给定一个pb文件,您可以按如下方式加载它。

def load_pb(path_to_pb):
    with tf.gfile.GFile(path_to_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

加载图表后,您基本上可以执行任何操作。例如,您可以检索感兴趣的张量

input = graph.get_tensor_by_name('input:0')
output = graph.get_tensor_by_name('output:0')

并使用常规TensorFlow例程,如:

sess.run(output, feed_dict={input: some_data})
© www.soinside.com 2019 - 2024. All rights reserved.