我尝试从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
但是
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'
引起
出了什么问题(我知道我可以提一下实际尺寸,但我不想要这个)?
答案 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]))}))