如何打开.pbtxt文件?

时间:2019-03-18 09:59:59

标签: tensorflow deep-learning conv-neural-network

试图从tensorflow对象检测模型更改标签,但无法打开pbtxt文件。能告诉我是否有打开它的应用程序吗?

3 个答案:

答案 0 :(得分:2)

即您的pbtxt文件名为graphfilename.pbtxt

示例

import tensorflow as tf
from tensorflow.core.framework import graph_pb2 as gpb
from google.protobuf import text_format as pbtf

gdef = gpb.GraphDef()

with open('graphfilename.pbtxt', 'r') as fh:
    graph_str = fh.read()

pbtf.Parse(graph_str, gdef)

tf.import_graph_def(gdef)

答案 1 :(得分:2)

这里有一个读取label_map.pbtxt文件的解决方案。它不需要任何 protobuf 导入,因此它适用于所有版本的 TF。

def read_label_map(label_map_path):

    item_id = None
    item_name = None
    items = {}
    
    with open(label_map_path, "r") as file:
        for line in file:
            line.replace(" ", "")
            if line == "item{":
                pass
            elif line == "}":
                pass
            elif "id" in line:
                item_id = int(line.split(":", 1)[1].strip())
            elif "name" in line:
                item_name = line.split(":", 1)[1].replace("'", "").strip()

            if item_id is not None and item_name is not None:
                items[item_name] = item_id
                item_id = None
                item_name = None

    return items

print ([i for i in read_label_map("label_map.pbtxt")])

答案 2 :(得分:0)

您可以在任何文本编辑器中将其打开,例如Sublime Text或您的操作系统默认提供的任何内容。

如果您使用的是Linux / macOS系统,则还可以在Terminal中打开它,方法是直接转到其目录并编写

nano {filename}.pbtxt