2016-07-18 10 views
1

Я тренирую глубокую сеть с двумя конвейерами ввода данных, один для обучения и один для проверки. Они используют shuffle_batch_join и batch_join соответственно для параллельного считывания данных. Поток данных, который используется в сети, определяется с помощью операции tf.cond поверх этих двух конвейеров, которая контролируется заполнителем is_training, который установлен на значение true для итерации обучения и false при выполнении проверки. У меня есть 4 потока для чтения данных обучения и 1 поток для проверки.tf.train.batch_join утечка очереди?

Однако я просто добавил сводки к тензограмме и заметил, что сводка очереди проверки (показывающая долю заполненной очереди) получает ненулевое значение в одной точке во время обучения, а затем возвращается к 0. Это кажется очень странным, поскольку проверка выполняется только после 1K итераций, и эти точки данных должны быть удалены только в этот момент. Кто-нибудь имеет подобный опыт или может пролить свет на то, что может произойти?

ответ