Keras - 在训练期间使用 TensorBoard 监控数量
Keras - monitoring quantities with TensorBoard during training
使用 Tensorflow 可以在训练期间监控数量,使用 tf.summary。
是否可以使用 Keras 做同样的事情?您能否通过修改 https://github.com/fchollet/keras/blob/master/examples/variational_autoencoder.py and monitoring the KL loss (defined at line 53)
处的代码来包含示例
提前致谢!
你试过TensorBoard回调吗? [1]
tensorboard = keras.callbacks.TensorBoard(log_dir='./logs',
histogram_freq=1,
write_graph=True,
write_images=False)
vae.fit(x_train,
shuffle=True,
epochs=epochs,
batch_size=batch_size,
validation_data=(x_test, x_test),
callbacks=[tensorboard])
然后运行:
tensorboard --logdir=./logs
您可以编写回调的修改版本来处理您感兴趣的特定项目。
实际上,解决方法是在编译模型时添加要监控的数量作为指标。
例如,我想监控 KL 散度(在变分自动编码器的背景下),所以我这样写:
def kl_loss(y_true, y_pred):
kl_loss = - 0.5 * K.sum(1 + K.log(z_var_0+1e-8) - K.square(z_mean_0) - z_var_0, axis=-1)
return kl_loss
vae.compile(optimizer='rmsprop', loss=vae_loss, metrics=['accuracy', kl_loss])
它满足了我的需要
使用 Tensorflow 可以在训练期间监控数量,使用 tf.summary。
是否可以使用 Keras 做同样的事情?您能否通过修改 https://github.com/fchollet/keras/blob/master/examples/variational_autoencoder.py and monitoring the KL loss (defined at line 53)
处的代码来包含示例提前致谢!
你试过TensorBoard回调吗? [1]
tensorboard = keras.callbacks.TensorBoard(log_dir='./logs',
histogram_freq=1,
write_graph=True,
write_images=False)
vae.fit(x_train,
shuffle=True,
epochs=epochs,
batch_size=batch_size,
validation_data=(x_test, x_test),
callbacks=[tensorboard])
然后运行:
tensorboard --logdir=./logs
您可以编写回调的修改版本来处理您感兴趣的特定项目。
实际上,解决方法是在编译模型时添加要监控的数量作为指标。
例如,我想监控 KL 散度(在变分自动编码器的背景下),所以我这样写:
def kl_loss(y_true, y_pred):
kl_loss = - 0.5 * K.sum(1 + K.log(z_var_0+1e-8) - K.square(z_mean_0) - z_var_0, axis=-1)
return kl_loss
vae.compile(optimizer='rmsprop', loss=vae_loss, metrics=['accuracy', kl_loss])
它满足了我的需要