首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将labelmap.prototxt转换成集合?卡菲

如何将labelmap.prototxt转换成集合?卡菲
EN

Stack Overflow用户
提问于 2018-07-29 11:45:33
回答 1查看 572关注 0票数 0

我有一个labelmap.prototxt,我想把它转换成一个集合,因为我想将它与英特尔神经计算棒SDK一起使用。

输入

home/labelmap.prototxt

代码语言:javascript
复制
item {
  name: "none_of_the_above"
  label: 0
  display_name: "background"
}
item {
  name: "1"
  label: 1
  display_name: "person"
}
item {
  name: "2"
  label: 2
  display_name: "bicycle"
}
item {
  name: "3"
  label: 3
  display_name: "car"
}

输出:

代码语言:javascript
复制
set(["background","person","bicycle","car"])

我试过如下:

代码语言:javascript
复制
>>> with open('labelmap_coco.prototxt') as f:
...     d = literal_eval(f)
...
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "/usr/lib/python2.7/ast.py", line 80, in literal_eval
    return _convert(node_or_string)
  File "/usr/lib/python2.7/ast.py", line 79, in _convert
    raise ValueError('malformed string')
ValueError: malformed string
EN

回答 1

Stack Overflow用户

发布于 2018-09-08 22:47:02

阅读proto缓冲区,在文件中持久化消息LabelMap,这样您就可以从prototxt读取对象数据。这是一件很好的事。查看代码:

代码语言:javascript
复制
from caffe.proto import caffe_pb2
from google.protobuf import text_format as tf

f = open('labelmap.prototxt', 'r')
lm = caffe_pb2.LabelMap()
lm = tf.Parse(f.read(), lm)
display_names = [x.display_name for x in lm.item]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51580013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档