gpt4 book ai didi

python - 从 TFRecords 读取时丢失数据

转载 作者:行者123 更新时间:2023-11-30 09:08:34 24 4
gpt4 key购买 nike

我正在创建 tfrecords 文件并从 tfrecords 读取数据。 tfrecords 有两个特征,vehicleid 和 length。

创建 tfrecords:

writer = tf.python_io.TFRecordWriter(filename + '_Squence.tfrecords')
example = tf.train.Example(features=tf.train.Features(
feature={
'vehicleid': tf.train.Feature(int64_list=tf.train.Int64List(value=[vehicleid])),
'length': tf.train.Feature(int64_list=tf.train.Int64List(value=[length]))

}))
writer.write(example.SerializeToString())
writer.close()

读取tfrecords:

filepath = filename + "_Squence.tfrecords"
filename_queue = tf.train.string_input_producer([filepath])
reader = tf.TFRecordReader()
_, serialized_example = reader.read(filename_queue) # return filename and file
features = tf.parse_single_example(serialized_example, features={
'vehicleid': tf.FixedLenFeature([], tf.int64),
'length': tf.FixedLenFeature([], tf.int64)
})

vehicleid = tf.cast(features["vehicleid"], tf.int64)
length = tf.cast(features["length"], tf.int64)
return vehicleid, length

但是当我调试代码时,我会丢失一些数据。例如,如果我发送这两个示例

[车辆ID = a,框架ID = b],[车辆id = c,框架id = d]

进入tfrecords文件,当我读取数据时,我会得到这样的数据

[车辆 ID =a,车架 ID=d]。

我丢失了一些数据。

有人可以帮我解决这个问题吗?非常感谢。

最佳答案

tf.train.string_input_ Producer([filepath]) 返回一个队列。每次您使用 reader.read(filename_queue) 访问时,它都会返回队列的最后一个第一个元素。如果您第二次执行reader.read,它将返回第二个元素。

如果你想到达一批元素,可以使用tf.train.batch,将队列的输出作为tf.train.batch的输入。

关于python - 从 TFRecords 读取时丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46008369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com