Как выбрать контрольную точку для просмотра на вкладке TensorBoard?

Короткий вопрос: как выбрать контрольную точку для просмотра на вкладке встраивания TensorBoard?


Более длинная версия вопроса:

Я хочу визуализировать вложения слов с помощью TensorBoard. С этой целью после прочтения официального урока ( зеркало) я добавил следующий код:

embedding_writer = tf.summary.FileWriter(model_folder)     
embeddings_projector_config = projector.ProjectorConfig()
embedding = embeddings_projector_config.embeddings.add()
embedding.tensor_name = model.W.name # W corresponds to the embeddings' weights.
projector.visualize_embeddings(embedding_writer, embeddings_projector_config)

# Initialize the model
sess.run(tf.global_variables_initializer())

[...]

# Then, for each training epoch:
model_saver.save(sess, os.path.join(model_folder, 'model_{0:05d}.ckpt'.format(epoch_number)))

Глядя на папку, в которой TensorFlow сохраняет журнал, у меня есть контрольная точка для каждой эпохи:

введите описание изображения здесь

Однако на вкладке "Вложения" TensorBoard мне кажется, что я могу видеть только последнюю контрольную точку:

введите описание изображения здесь

Иногда мне хотелось бы посмотреть вложения предыдущих эпох. Как выбрать контрольную точку для просмотра на вкладке TensorBoard?

1 ответ

Решение

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

В то же время, есть обходной путь. Вы можете редактировать projector_config.pbtxt который находится в папке, где TensorBoard сохраняет журнал. Я предполагаю, что содержимое projector_config.pbtxt являются:

embeddings {
...
}

Добавьте следующую строку в конец файла:

model_checkpoint_path: "path_to_log_dir/model_0000N.ckpt"

указав точную контрольную точку, которую вы хотите визуализировать, и удалите (если она существует) линию model_checkpoint_dir: "...", Затем обновите страницу (и, возможно, повторно запустите TensorBoard).


Например, если вы запустили TensorBoard с tensorboard --logdir=outputи абсолютный путь контрольной точки модели C:\Users\a\output\en_2017-03-08_17-42-09-310106\model\model_00004.ckptтогда вы должны добавить к projector_config.pbtxt:

model_checkpoint_path: "output\en_2017-03-08_17-42-09-310106\model\model_00004.ckpt"

Пример projector_config.pbtxt:

embeddings {
  tensor_name: "token_embedding/W:0"
}
model_checkpoint_path: "output\en_2017-03-08_17-42-09-310106\model\model_00004.ckpt"

Если при переходе на вкладку "Вложения" в TensorBoard ничего не появляется, это означает, что model_checkpoint_path Вы ввели неверно.

Надеюсь это поможет!

Другие вопросы по тегам