2
トレーニング中に検証セットを評価するには、Dataset
とIterator
を使用します。私は1つ(またはいくつか)の検証バッチを毎回評価したいと思います。今は毎回ではなく、エポックです。同時トレーニングと検証のための再初期化可能イテレータ
しかし、再初期化可能なイテレータは、入力を切り替えるために再初期化されたときに再び開始されます。例えば。
import tensorflow as tf
dataset_trn = tf.data.Dataset.range(10)
dataset_tst = tf.data.Dataset.range(10).map(lambda i: i + 1000)
iterator = tf.data.Iterator.from_structure(dataset_trn.output_types,
dataset_trn.output_shapes)
batch = iterator.get_next()
trn_init_op = iterator.make_initializer(dataset_trn)
tst_init_op = iterator.make_initializer(dataset_tst)
sess = tf.InteractiveSession()
for _ in range(2):
sess.run(trn_init_op)
for _ in range(5):
print(batch.eval())
sess.run(tst_init_op)
print(batch.eval())
戻り
0
1
2
3
4
1000
0
1
2
3
4
1000
が、私はそれがそのようなトレーニングを再開したいと思います:
0
1
2
3
4
1000
5
6
7
8
9
1001
は、これを達成する方法はありますか?実際には、バッチはシャッフルされており、同じ疑似ランダムポイントで再開したいと考えています。