Tensorflow程序在读取tfrecord时遇到困难

时间:2017-09-12 16:41:49

标签: tensorflow

我不知道这个小程序出了什么问题。

以下是mcve-writer的片段:

def convert_to_example():
    example = tf.train.Example(features=tf.train.Features(feature={
          'bboxes': _floats_feature([0.,1.])
          }))
    return example

writer = tf.python_io.TFRecordWriter(output_file)
...
for filename in filenames:
    ...
    example = convert_to_example()
    writer.write(example.SerializeToString())

writer.close()

这就是我阅读这些例子的方式:

filename = '/path/to/file'
record_iter = tf.python_io.tf_record_iterator(path=filename)
example = tf.train.Example()
l = []
for record in record_iter:
    example.ParseFromString(record)
    bboxes = example.features.feature['bboxes'].float_list.value[:]
    l.append(bboxes)

print(l)

我已经缩小了问题:

  • 适用于bytes_list
  • 如果列表只是一个整数但不是整数列表
  • ,则它与int64_list一起使用
  • 如果列表只是一个浮点数而不是浮点数列表
  • ,则它与float_list一起使用

因此,如果我使用浮点数/整数列表,执行就会陷入僵局或崩溃。如果我使用浮点数/整数,一切都运行顺畅。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

此错误取决于系统。在工作站上工作得很好,但不是在我的电脑。我在github.com打开了一个问题。