tf.train.MonitoredTrainingSession e iterador reinicializável do conjunto de dados

Parece que um MonitoredTrainingSession realiza algumas operações (log?) Antes da primeira chamada para .run (..), o que significa que, quando eu faço:

train_data = reader.traindata() # returns a tf.contrib.data.Dataset
it = tf.contrib.data.Iterator.from_structure(train_data.output_types, train_data.output_shapes)
init_train = it.make_initializer(train_data)
ne = it.get_next()
ts = tf.train.MonitoredTrainingSession(checkpoint_dir=save_path)

... no calls to ts.run ...

ts.run(init_train)

Isso gera o erro:

FailedPreconditionError (see above for traceback): GetNext() failed because the iterator has not been initialized. Ensure that you have run the initializer operation for this iterator before getting the next element

Portanto, parece que o MonitoredTrainingSession está executando algumas operações antes de executar a operação que eu alimento, impossibilitando o uso do togeather com um iterador reinicializável do Dataset.

Tenho certeza de que estou perdendo alguma coisa e gostaria de ouvir o que :-)

questionAnswers(1)

yourAnswerToTheQuestion