通常在使用tensorflow数据集api时,假设没有shuffle,tensorflow将检索
tfrecords
的第一个序列化示例,然后依次检索剩余的示例。那么,有没有办法从上一个例子开始,然后向后进行呢?
非常感谢任何帮助!!
不幸的是,这不是一个理想的解决方案,但这是我一直在使用的:
def reverse(ds: tf.Data.dataset) -> tf.Data.dataset:
def reduce_fn(state, x):
return tf.concat([x[::-1], state], axis=0)
return tf.data.Dataset.from_tensor_slices(ds.batch(256, drop_remainder=False).reduce(tf.zeros((0,), tf.float32), reduce_fn))