首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查Tensorflow .tfrecord文件

如何检查Tensorflow .tfrecord文件
EN

Stack Overflow用户
提问于 2017-02-22 14:41:48
回答 8查看 59.9K关注 0票数 83

我有一个.tfrecord,但我不知道它是如何构造的。如何检查模式以了解.tfrecord文件中包含的内容?

所有的堆栈溢出答案或文档似乎都假定我知道文件的结构。

代码语言:javascript
复制
reader = tf.TFRecordReader()
file = tf.train.string_input_producer("record.tfrecord")
_, serialized_record = reader.read(file)

...HOW TO INSPECT serialized_record...
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2017-02-22 21:20:02

找到了!

代码语言:javascript
复制
import tensorflow as tf

for example in tf.python_io.tf_record_iterator("data/foobar.tfrecord"):
    print(tf.train.Example.FromString(example))

您还可以添加:

代码语言:javascript
复制
from google.protobuf.json_format import MessageToJson
...
jsonMessage = MessageToJson(tf.train.Example.FromString(example))
票数 137
EN

Stack Overflow用户

发布于 2020-03-29 15:06:59

上面的解决方案对我不起作用,所以for TF-2.0使用如下:

代码语言:javascript
复制
import tensorflow as tf 
raw_dataset = tf.data.TFRecordDataset("path-to-file")

for raw_record in raw_dataset.take(1):
    example = tf.train.Example()
    example.ParseFromString(raw_record.numpy())
    print(example)

2

票数 82
EN

Stack Overflow用户

发布于 2020-07-13 07:47:41

改进已接受的解决办法:

代码语言:javascript
复制
import tensorflow as tf
import json
from google.protobuf.json_format import MessageToJson

dataset = tf.data.TFRecordDataset("mydata.tfrecord")
for d in dataset:
    ex = tf.train.Example()
    ex.ParseFromString(d.numpy())
    m = json.loads(MessageToJson(ex))
    print(m['features']['feature'].keys())

在我的例子中,我在TF2上运行,一个示例太大,无法在屏幕上使用,所以我需要使用字典来检查键(接受的解决方案返回一个完整的字符串)。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42394585

复制
相关文章

相似问题

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