Как создать только одну копию графика в файле событий tensorboard с пользовательским tf.Estimator?

Я использую пользовательский объект tf. Estimator для обучения нейронной сети. Проблема в размере файла событий после обучения - он неоправданно велик. Я уже решил проблему с сохранением части набора данных как постоянной с помощью tf.Dataset.from_generator(). Однако размер по-прежнему довольно велик, и при запуске tensorboard я получаю сообщение

W0225 10:38:07.443567 140693578311424 tf_logging.py:120] Found more than one metagraph event per run. Overwriting the metagraph with the newest event.

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

Для знаю, я нашел только способ удалить все журналы по умолчанию, удалив фильтры событий с помощью

list(map(os.remove, glob.glob(os.path.join(runtime_params['model_dir'], 'events.out.tfevents*'))))

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

Из документации я вижу, что

Оценщики автоматически записывают на диск следующее:

  • контрольные точки, которые являются версиями модели, созданной во время обучения.
  • файлы событий, содержащие информацию, которую TensorBoard использует для создания визуализаций. Можно ли отключить запись файла событий?

person Andrii Zadaianchuk    schedule 25.02.2019    source источник
comment
проверьте этот ответ stackoverflow.com/questions/45890560/   -  person Sharky    schedule 26.02.2019


Ответы (1)


Вам нужно использовать инструмент TensorBoard для визуализации содержимого ваших сводных журналов.

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

# This example supposes that the events file contains summaries with a
# summary value tag 'loss'.  These could have been added by calling
# `add_summary()`, passing the output of a scalar summary op created with
# with: `tf.compat.v1.summary.scalar('loss', loss_tensor)`.
for e in tf.compat.v1.train.summary_iterator(path to events file):
    for v in e.summary.value:
        if v.tag == 'loss':
            print(v.simple_value)
person Cătălin George Feștilă    schedule 06.07.2021