tf.compat.v1.summary.FileWriter
Записывает буферы протокола Summary в файлы событий.
tf.compat.v1.summary.FileWriter(
logdir,
graph=None,
max_queue=10,
flush_secs=120,
graph_def=None,
filename_suffix=None,
session=None
)
Перейдите на TF2
Этот API несовместим с eager execution и tf.function. Чтобы перейти на TF2, используйте вместо него tf.summary.create_file_writer для управления сводками. Чтобы задать шаг сводки, можно управлять контекстом с помощью tf.summary.SummaryWriter, возвращаемого функцией tf.summary.create_file_writer(). Также можно использовать аргумент step функций сводки, например tf.summary.histogram. См. пример использования ниже.
Подробное tf.summary по переходу см. в документе Переход с tf.summary на TF 2.0.
Как сопоставить аргументы
| Имя аргумента TF1 | Имя аргумента TF2 | Примечание |
|---|---|---|
logdir | logdir | - |
graph | Не поддерживается | - |
max_queue | max_queue | - |
flush_secs |
flush_millis | Единица времени изменена с секунд на миллисекунды. |
graph_def | Не поддерживается | - |
filename_suffix | filename_suffix | - |
name | name | - |
Пример использования TF1 и TF2
TF1:
dist = tf.compat.v1.placeholder(tf.float32, [100])
tf.compat.v1.summary.histogram(name="distribution", values=dist)
writer = tf.compat.v1.summary.FileWriter("/tmp/tf1_summary_example")
summaries = tf.compat.v1.summary.merge_all()
sess = tf.compat.v1.Session()
for step in range(100):
mean_moving_normal = np.random.normal(loc=step, scale=1, size=[100])
summ = sess.run(summaries, feed_dict={dist: mean_moving_normal})
writer.add_summary(summ, global_step=step)
TF2:
writer = tf.summary.create_file_writer("/tmp/tf2_summary_example")
for step in range(100):
mean_moving_normal = np.random.normal(loc=step, scale=1, size=[100])
with writer.as_default(step=step):
tf.summary.histogram(name='distribution', data=mean_moving_normal)
Описание
Класс FileWriter предоставляет механизм для создания файла событий в указанном каталоге и добавления в него сводок и событий. Класс асинхронно обновляет содержимое файла. Это позволяет обучающей программе вызывать методы для добавления данных в файл непосредственно из цикла обучения, не замедляя обучение.
При создании с параметром tf.compat.v1.Session объект FileWriter вместо этого формирует слой совместимости поверх новых сводок на основе графов, чтобы упростить использование новой записи сводок в существующем коде, который ожидает экземпляр FileWriter.
Этот класс не является потокобезопасным.
| Аргументы | |
|---|---|
logdir | Строка. Каталог, в который будет записан файл событий. |
graph | Объект Graph, например sess.graph. |
max_queue | Целое число. Размер очереди ожидающих обработки событий и сводок. |
flush_secs | Число. Как часто, в секундах, записывать ожидающие обработки события и сводки на диск. |
graph_def | УСТАРЕЛО: используйте вместо него аргумент graph. |
filename_suffix | Строка. К имени каждого файла событий добавляется суффикс suffix. |
session | Объект tf.compat.v1.Session. Подробности см. выше. |
| Вызывает исключения | |
|---|---|
RuntimeError | Если вызван при включенном eager execution. |
Методы
add_event
add_event(
event
)
Добавляет событие в файл событий.
| Аргументы | |
|---|---|
event | Буфер протокола Event. |
add_graph
add_graph(
graph, global_step=None, graph_def=None
)
Добавляет Graph в файл событий.
Граф, описанный буфером протокола, отображается в TensorBoard. Большинство пользователей вместо этого передают граф конструктору.
| Аргументы | |
|---|---|
graph | Объект Graph, например sess.graph. |
global_step | Число. Необязательный глобальный счетчик шагов, который нужно сохранить вместе с графом. |
graph_def | УСТАРЕЛО. Используйте вместо него параметр graph. |
| Вызывает исключения | |
|---|---|
ValueError | Если методу переданы и graph, и graph_def. |
add_meta_graph
add_meta_graph(
meta_graph_def, global_step=None
)
Добавляет MetaGraphDef в файл событий.
MetaGraphDef позволяет запускать заданный граф с помощью saver.import_meta_graph().
| Аргументы | |
|---|---|
meta_graph_def | Объект MetaGraphDef, часто возвращаемый функцией saver.export_meta_graph(). |
global_step | Число. Необязательный глобальный счетчик шагов, который нужно сохранить вместе с графом. |
| Вызывает исключения | |
|---|---|
TypeError | Если meta_graph_def не является экземпляром MetaGraphDef. |
add_run_metadata
add_run_metadata(
run_metadata, tag, global_step=None
)
Добавляет метаданные для одного вызова session.run().
| Аргументы | |
|---|---|
run_metadata | Объект protobuf RunMetadata. |
tag | Имя тега для этих метаданных. |
global_step | Число. Необязательный глобальный счетчик шагов, который нужно сохранить вместе с StepStats. |
| Вызывает исключения | |
|---|---|
ValueError | Если указанный тег уже использовался для событий этого типа. |
add_session_log
add_session_log(
session_log, global_step=None
)
Добавляет буфер протокола SessionLog в файл событий.
Этот метод упаковывает переданный сеанс в буфер протокола Event и добавляет его в файл событий.
| Аргументы | |
|---|---|
session_log | Буфер протокола SessionLog. |
global_step | Число. Необязательное значение глобального шага, которое нужно сохранить вместе со сводкой. |
add_summary
add_summary(
summary, global_step=None
)
Добавляет буфер протокола Summary в файл событий.
Этот метод упаковывает переданную сводку в буфер протокола Event и добавляет его в файл событий.
Этой функции можно передать результат вычисления любой операции сводки с помощью tf.Session.run или tf.Tensor.eval. Также можно передать буфер протокола tf.compat.v1.Summary, заполненный собственными данными. Последний вариант обычно используется для записи результатов оценки в файлы событий.
| Аргументы | |
|---|---|
summary | Буфер протокола Summary, при необходимости сериализованный в виде строки. |
global_step | Число. Необязательное значение глобального шага, которое нужно сохранить вместе со сводкой. |
close
close()
Записывает содержимое файла событий на диск и закрывает файл.
Вызывайте этот метод, когда запись сводок больше не нужна.
flush
flush()
Записывает содержимое файла событий на диск.
Вызывайте этот метод, чтобы убедиться, что все ожидающие обработки события записаны на диск.
get_logdir
get_logdir()
Возвращает каталог, в который будет записан файл событий.
reopen
reopen()
Повторно открывает EventFileWriter.
Можно вызвать после close(), чтобы добавить новые события в тот же каталог. События будут записаны в новый файл событий.
Ничего не делает, если EventFileWriter не был закрыт.
__enter__
__enter__()
Позволяет использовать оператор "with".
__exit__
__exit__(
unused_type, unused_value, unused_traceback
)
Позволяет использовать оператор "with".
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/compat/v1/summary/FileWriter