如何解决Tensorflow TFRecord:无法解析序列化的示例
tf.FixedLenFeature()用于读取固定大小的数据数组。并且数据的形状应事先定义。将解析功能更新为
def parse(tfrecord):
return tf.parse_single_example(tfrecord, features={
'label': tf.FixedLenFeature([3], tf.int64, default_value=[0,0,0]),
'test': tf.FixedLenFeature([3], tf.float32, default_value=[0.0, 0.0, 0.0]),
})
应该做的工作。
解决方法
我正在尝试按照本指南进行操作,以便将输入数据序列化为TFRecord格式,但在尝试读取该错误时始终会遇到此错误:
InvalidArgumentError:键:my_key。无法解析序列化的示例。
我不确定我要去哪里。这是我无法逾越的问题的最小复制。
序列化一些样本数据:
with tf.python_io.TFRecordWriter('train.tfrecords') as writer:
for idx in range(10):
example = tf.train.Example(
features=tf.train.Features(
feature={
'label': tf.train.Feature(int64_list=tf.train.Int64List(value=[1,2,3])),'test': tf.train.Feature(float_list=tf.train.FloatList(value=[0.1,0.2,0.3]))
}
)
)
writer.write(example.SerializeToString())
writer.close()
解析功能和反序列化:
def parse(tfrecord):
features = {
'label': tf.FixedLenFeature([],tf.int64,default_value=0),'test': tf.FixedLenFeature([],tf.float32,default_value=0.0),}
return tf.parse_single_example(tfrecord,features)
dataset = tf.data.TFRecordDataset('train.tfrecords').map(parse)
getnext = dataset.make_one_shot_iterator().get_next()
尝试运行此命令时:
with tf.Session() as sess:
v = sess.run(getnext)
print (v)
我触发了以上错误消息。
是否有可能克服此错误并反序列化我的数据?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。