2017-01-16 2 views
0

Я ищу в код для distributed inception model in TF, в котором у меня ниже вопросы об использовании tf.train.Supervisor.start_queue_runners в inception_distributed_train.py:Распределенная TensorFlow: о использовании tf.train.Supervisor.start_queue_runners

  1. Почему нам необходимо явно позвонить sv.start_queue_runners() в строке 264 и строке 269 в inception_distributed_train.py? В API doc. of start_queue_runners, я вижу, что нет необходимости в таких вызовов из-за:

    Обратите внимание, что бегуны очереди, собранные в графе ключевого QUEUE_RUNNERS уже начался автоматически при создании сеанса с наблюдателем, так что если у вас есть неубранные бегуны очереди, чтобы начать , вам не нужно вызывать это явно.

  2. Я заметил, что значения queue_runners в призыве sv.start_queue_runners различны по линии 264 и линии 269 в inception_distributed_train.py. Но не chief_queue_runners также в сборе tf.GraphKeys.QUEUE_RUNNERS (все QUEUE_RUNNERS получены в строке 263)? Если так, тогда нет необходимости в строке 269, так как chief_queue_runners уже отправлен в строку 264 .

  3. Кроме того, не могли бы вы объяснить мне или показать мне некоторые ссылки о том, какие очереди создаются в tf.train.Supervisor?

Спасибо за ваше время!

ответ

1

Не ответ, но некоторые общие замечания, как найти ответ :)

Прежде всего, используя вину GitHub, в inception_distributed был проверен в 13 апреля, в то время как комментарий в start_queue_runners был добавлен 15 апр, поэтому возможно, что функциональность была изменена, но не обновилась во всех местах, где она используется.

Вы можете прокомментировать эту строку и посмотреть, все ли работает. А если нет, вы можете добавить import pdb; pdb.set_trace() в том месте, где создается бегун очереди (т. Е. here) и посмотреть, кто создает лишние бегуны без очереди.

Кроме того, развитие Supervisor, похоже, замедлилось, и все перемещается на FooSession (из комментария here). Они обеспечивают более надежную обучающую архитектуру (ваши работники не будут терпеть крах из-за временной сетевой ошибки), но пока мало примеров того, как их использовать.

+0

Спасибо за ваш ответ, Ярослав! Я задал вопросы для получения быстрых ответов, и я проверю эти проблемы. Кроме того, ваша информация о переходе на FooSession ценна. –