2016-07-16 2 views
2

Используя настройку, аналогичную https://github.com/tensorflow/models/tree/master/inception, главный работник автоматически сохраняет файл контрольной точки периодически на узле, в котором этот процесс работает. Я запускаю два пс на двух разных узлах. Два рабочих также работают по двум узлам каждый, причем один из 4 рабочих является главным.Восстановление контрольной точки в распределенном тензорном потоке

При перезагрузке обучения без каких-либо изменений Супервизор автоматически пытается восстановить последний файл контрольной точки, но в итоге появляется ошибка, из-за которой он не может найти ckpt на втором узле (узел, отличный от главного работника), потому что начальник никогда не сохранял ccpt на втором узле.

W tensorflow/core/framework/op_kernel.cc:936] Not found: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for /home/muneebs/tf_train/model.ckpt-275 

Если я копирую каталог ckpt во второй узел, он восстанавливает штраф. Это ошибка? Если заставка должна быть инициализирована как sharded = True? Если это так, это единственный способ, и мы не можем иметь ckpt как один файл в случае, если число узлов изменится позже?

ответ

0

Распределенная файловая система, такая как hdfs поможет.

U может сохранить модель (ckpt) в каталог в hdfs, тем самым избегая вопроса о восстановлении ckpt.

Другой способ запуска пс и работника которого task_index = 0 в той же машине.

+0

hdfs не является вариантом. task_index не имеет значения, потому что каждый ps на каждой машине должен восстановить часть параметров модели, которым он должен управлять. – Muneeb

Смежные вопросы