试图从tensorflow对象检测模型更改标签,但无法打开pbtxt文件。能告诉我是否有打开它的应用程序吗?
答案 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