Tensorflow:FixedLenFeature字节数值!=预期

时间:2017-04-14 09:58:45

标签: python arrays file-io tensorflow

我尝试从tfrecords文件加载示例。我有一个读者功能,如:

def read_record(filename_queue):
    reader = tf.TFRecordReader()

    key, record_string  = reader.read(filename_queue)


    features = {
    "feature": tf.FixedLenFeature([], dtype=tf.string),
    }


    ex_dict = tf.parse_single_example(record_string, features)

    ex_feature = tf.decode_raw(ex_dict["feature"], tf.float32)

    return ex_feature

我刚刚关注https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/how_tos/reading_data/fully_connected_reader.py

但是

example_features = read_record(filename_queue)
values = sess.run({"features":example_features})

因以下错误而停止:

  

InvalidArgumentError:Name :, Key:feature,Index:0。字节数值!= expected。值大小:4096但输出形状:[]   由op u'ParseSingleExample / ParseExample / ParseExample'

引起

出了什么问题(我知道我可以提一下实际尺寸,但我不想要这个)?

1 个答案:

答案 0 :(得分:4)

好的,我找到了自己。问题出在写作期间:

我用:

定义了一个例子
example = tf.train.Example(features=tf.train.Features(feature={
                'feature' : tf.train.Feature(bytes_list=tf.train.BytesList(
                    value=value))}))

但我本应该使用

example = tf.train.Example(features=tf.train.Features(feature={
                'feature' : tf.train.Feature(bytes_list=tf.train.BytesList(
                    value=[value]))}))