Как "сбросить" данные tensorboard после убийства экземпляра tensorflow
Я тестирую различные гиперпараметры для модели cnn, которую я построил, но у меня есть небольшое раздражение при просмотре сводок в Tensorboard. Проблема заключается в том, что данные просто "добавляются" в последовательных запусках, поэтому функции приводят к странной суперпозиции, если я не вижу информацию как "относительную", а не "пошаговую". Смотрите здесь:
Я пробовал убить процесс tensorboard и стирание файлов журнала, но, похоже, этого недостаточно.
Итак, вопрос в том, как сбросить эту информацию?
спасибо!!
7 ответов
Примечание: решение, которое вы опубликовали (стереть файлы журнала TensorBoard и убить процесс) будет работать, но это не предпочтительно, потому что он уничтожает историческую информацию о вашем обучении.
вместо этого вы можете записать каждое новое учебное задание в новый подкаталог (вашего каталога журналов верхнего уровня). Затем TensorBoard рассмотрит каждое задание как новый "запуск" и создаст хороший вид сравнения, чтобы вы могли видеть, как обучение отличалось между итерациями вашей модели.
пример см. В разделе:https://www.tensorflow.org/tensorboard/
хорошо, по какой-то причине он не работал раньше, но теперь он сделал:
вы должны удалить файлы журнала Tensorboard и убить его процесс
после убийства процесса fuser 6006/tcp -k
освободить порт 6006 (если вы находитесь в linux) и снова запустить tensorboard.
Да, я считаю, в конечном счете, этот аспект является положительным.
Например, в моем скрипте я автоматизирую новые журналы запуска через datetime
:
from datetime import datetime
now = datetime.now()
logdir = "tf_logs/.../" + now.strftime("%Y%m%d-%H%M%S") + "/"
затем при запуске TensorBoard вы можете щелкнуть различные запуски и выключение при условии, что вы запустили TensorBoard в Родительском каталоге.
Если вы знаю вы не заботитесь о предыдущем запуске и хотите, чтобы он из вашей жизни, то да, вам нужно удалить файлы событий и выдержать необычно долгий процесс убийства и перезапуск TensorBoard.
Я только что нашел решение этой проблемы. Просто поместите каждое событие.out файл в отдельной папке внутри каталога журнала. И вы получите хорошую визуализацию в tensorboard с каждым запуском в другом цвете.
у меня была аналогичная проблема, но с дублированием вычислительных графиков: они только что добавили в tensorboard, когда я позвонил
writer.add_graph(graph=sess.graph)
в моем случае речь шла не о файлах журналов, а о контексте ноутбука Jupyter.
Я понял, что после нескольких запусков ячейки Jupyter с определением графика график не был сброшен, но появился в контексте как дубликат, поэтому я добавил
tf.reset_default_graph()
перед началом построения вычислительных диаграмма.
надеюсь, это поможет.
добавьте следующий фрагмент кода, и он должен автоматически сбросить вашу тензорную доску.
if tf.gfile.Exists(dirpath):
tf.gfile.DeleteRecursively(dirpath)
это приведет к удалению предыдущих журналов.
это автоматически удаляет каталог журналов.
import shutil
shutil.rmtree('log_dir', ignore_errors=True)