Пространство имен в вертикальной полосе для вывода на модели с несколькими GPU (тензор потока) - PullRequest
0 голосов
/ 04 февраля 2019

Всем доброго времени суток.

Описание: Следуя известному учебнику CIFAR-10, я обучаю модель на нескольких графических процессорах параллельным данным, то есть имею несколько копий моделиграфик, каждый из которых расположен под tf.name_scope() s tower_0, tower_1 и т. д., и распределение обучаемых переменных между этими областями.

Моя потребность: ради простоты и однородностиименования входных тензоров во время логического вывода (например, чтобы иметь тот же граф, что и модели, которые не обучены на мультипроцессоре и, следовательно, не имеют tower_N область имен верхнего уровня в их графиках), я хочу исключить область верхнего имени tower_N из графика при сохранении файла ".meta".

Что я пробовал:

  1. [не работает] например, использовать tf.train.export_meta_graph() с аргументом export_scope, установленным в tower_0.Прежде всего, эта функция выполняет изменения на графике глубоко внутри .Следовательно, я не могу использовать его в окончательном графике.Во-вторых, если я подготовлю все это, загрузлю meta_graph.export_scoped_meta_graph() напрямую и использую его с unbound_inputs_col_name=None, у меня возникнут проблемы с загрузкой неопределенных несвязанных входных данных в этом случае.

  2. [работал, но уродливо] во время обучения, оставьте модель, которая находится на GPU:0, вроде "голой", то есть без ее tower_0 области видимости.Таким образом, в моем графике у меня всегда будет ровно одна копия моей модели верхнего уровня с желаемым наименованием тензоров.

Я был бы признателен за любой вклад, потому что моя задача сохранить графикчистота, когда тренировка на нескольких графических процессорах кажется вполне естественной ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...