我正在使用tf.data.Dataset
作为我的净输入。我通常这样使用:
dataset = get_dataset_pipeline(mode='train')
iter = dataset.make_initializable_iterator()
element = iter.get_next()
在进行训练时,我设置了dataset.repeat(1)
,每次使用此dataset
时,我将执行sess.run(iter.initializer)
和training
的地雷网络,如下所示:
for epoch in range(4):
sess.run(iter.initializer)
try:
while True:
train_step += 1
input = sess.run(elemeent)
# some train step here
except tf.errors.OutOfRangeError:
pass
finally:
pass
问题是我如何才能在tf.errors.OutOfRangeError
出现之前提前停止训练?。我的意思是我不仅要跳出训练循环,而且还希望iter
真正被禁用或从地雷系统内存中删除。谁能得到我的观点并为此提供一些建议?非常感谢~~~