Skip to content

Commit 33a579c

Browse files
Changes PruningSummaries to reuse the same filewriter rather than create a new one each time, which puts tensorboard under pressure.
PiperOrigin-RevId: 318983774
1 parent 570444d commit 33a579c

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

tensorflow_model_optimization/python/core/sparsity/keras/pruning_callbacks.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -103,22 +103,21 @@ def __init__(self, log_dir, update_freq='epoch', **kwargs):
103103

104104
super(PruningSummaries, self).__init__(
105105
log_dir=log_dir, update_freq=update_freq, **kwargs)
106+
if not compat.is_v1_apis(): # TF 2.X
107+
log_dir = self.log_dir + '/metrics'
108+
self._file_writer = tf.summary.create_file_writer(log_dir)
106109

107110
def _log_pruning_metrics(self, logs, prefix, step):
108111
if compat.is_v1_apis():
109112
# Safely depend on TF 1.X private API given
110113
# no more 1.X releases.
111114
self._write_custom_summaries(step, logs)
112-
else: # TF 2.X
113-
log_dir = self.log_dir + '/metrics'
114-
115-
file_writer = tf.summary.create_file_writer(log_dir)
116-
file_writer.set_as_default()
117-
118-
for name, value in logs.items():
119-
tf.summary.scalar(name, value, step=step)
115+
else:
116+
with self._file_writer.as_default():
117+
for name, value in logs.items():
118+
tf.summary.scalar(name, value, step=step)
120119

121-
file_writer.flush()
120+
self._file_writer.flush()
122121

123122
def on_epoch_begin(self, epoch, logs=None):
124123
if logs is not None:

0 commit comments

Comments
 (0)