machine learning
AttributeError: module 'tensorflow' has no attribute 'Summary'
ksyke
2024. 7. 8. 09:44
TensorFlow 2.X 버전에서 tf.Summary
는 더이상 사용되지 않는다.
다음의 코드로 바꿔서 진행한다.
기존의 write_log
def write_log(callback, name, loss, batch_no):
summary = tf.Summary()
summary_value = summary.value.add()
summary_value.simple_value = loss
summary_value.tag = name
callback.writer.add_summary(summary, batch_no)
callback.writer.flush()
최신 write_log
class CustomTensorBoardCallback(tf.keras.callbacks.Callback):
def __init__(self, log_dir):
super(CustomTensorBoardCallback, self).__init__()
self.log_dir = log_dir
self.writer = tf.summary.create_file_writer(log_dir)
def write_log(self, name, loss, batch_no):
with self.writer.as_default():
tf.summary.scalar(name, loss, step=batch_no)
self.writer.flush()
log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
custom_tensorboard_callback = CustomTensorBoardCallback(log_dir)
custom_tensorboard_callback.write_log('discriminator_loss', np.mean(dis_losses), epoch)
custom_tensorboard_callback.write_log('generator_loss', np.mean(gen_losses), epoch)