Tensorflow数据集API在完成一个历元后还原迭代器
我有190个特征和标签,我的批量大小是20,但经过9次迭代后,tf.reforme返回异常输入,以使reforme是一个具有21个值的张量,但是请求的形状有60,我知道是由于迭代器.GETJNEXT。我如何恢复迭代器,使它从一开始就开始服务批次?< /p> < p>如果要从其数据集的开头重新启动A,请考虑使用一个可初始化的迭代器,它可以运行一个可重新初始化迭代器的操作:Tensorflow数据集API在完成一个历元后还原迭代器,tensorflow,tensorflow-datasets,Tensorflow,Tensorflow Datasets,我有190个特征和标签,我的批量大小是20,但经过9次迭代后,tf.reforme返回异常输入,以使reforme是一个具有21个值的张量,但是请求的形状有60,我知道是由于迭代器.GETJNEXT。我如何恢复迭代器,使它从一开始就开始服务批次?< /p> < p>如果要从其数据集的开头重新启动A,请考虑使用一个可初始化的迭代器,它可以运行一个可重新初始化迭代器的操作: dataset = ... # A `tf.data.Dataset` instance. iterator = datas
dataset = ... # A `tf.data.Dataset` instance.
iterator = dataset.make_initializable_iterator()
next_element = iterator.get_next()
train_op = ... # Something that depends on `next_element`.
for _ in range(NUM_EPOCHS):
# Initialize the iterator at the beginning of `dataset`.
sess.run(iterator.initializer)
# Loop over the examples in `iterator`, running `train_op`.
try:
while True:
sess.run(train_op)
except tf.errors.OutOfRangeError: # Thrown at the end of the epoch.
pass
# Perform any per-epoch computations here.
关于不同类型迭代器的更多细节,请参阅
< P>如果要从其数据集的开头重新启动A,请考虑使用可初始化的迭代器,该迭代器可以运行一个操作来重新初始化迭代器:dataset = ... # A `tf.data.Dataset` instance.
iterator = dataset.make_initializable_iterator()
next_element = iterator.get_next()
train_op = ... # Something that depends on `next_element`.
for _ in range(NUM_EPOCHS):
# Initialize the iterator at the beginning of `dataset`.
sess.run(iterator.initializer)
# Loop over the examples in `iterator`, running `train_op`.
try:
while True:
sess.run(train_op)
except tf.errors.OutOfRangeError: # Thrown at the end of the epoch.
pass
# Perform any per-epoch computations here.
有关不同类型迭代器的更多详细信息,请参阅。能否删除比其他迭代器小的最后一批迭代器?如果是这样的话,你可以使用。剩余的批对我来说很重要,我不认为我可以这样做。但是谢谢你,我会用自己的批处理代码创建。你能删除最后一批比其他批小的批吗?如果是这样的话,你可以使用。剩余的批处理对我来说很重要,我不认为我可以这样做。但是谢谢你,我将通过自己的批处理代码创建。