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