def build_summaries(gan):
"""
"""
g_summaries = []
d_summaries = []
g_summaries.append(
tf.summary.scalar('generator loss', gan['generator_loss']))
d_summaries.append(
tf.summary.scalar('discriminator loss', gan['discriminator_loss']))
for vg in gan['generator_variables_gradients']:
variable_name = '{}/variable'.format(vg[0].name)
gradient_name = '{}/gradient'.format(vg[0].name)
g_summaries.append(tf.summary.histogram(variable_name, vg[0]))
g_summaries.append(tf.summary.histogram(gradient_name, vg[1]))
for vg in gan['discriminator_variables_gradients']:
variable_name = '{}/variable'.format(vg[0].name)
gradient_name = '{}/gradient'.format(vg[0].name)
d_summaries.append(tf.summary.histogram(variable_name, vg[0]))
d_summaries.append(tf.summary.histogram(gradient_name, vg[1]))
# fake image
image_width, image_depth = (64, 3) if FLAGS.use_lsun else (32, 1)
fake_grid = tf.reshape(
gan['generator_fake'],
[1, FLAGS.batch_size * image_width, image_width, image_depth])
fake_grid = tf.split(fake_grid, FLAGS.summary_col_size, axis=1)
fake_grid = tf.concat(fake_grid, axis=2)
fake_grid = tf.saturate_cast(fake_grid * 127.5 + 127.5, tf.uint8)
summary_generator_fake = tf.summary.image(
'generated image', fake_grid, max_outputs=1)
g_summaries_plus = g_summaries + [summary_generator_fake]
return {
'summary_generator': tf.summary.merge(g_summaries),
'summary_generator_plus': tf.summary.merge(g_summaries_plus),
'summary_discriminator': tf.summary.merge(d_summaries),
}
评论列表
文章目录