tf.keras.callbacks.TensorBoard分析训练过程

logs = "/logs/ce_tboard"
tboard_callback = tf.keras.callbacks.TensorBoard(log_dir = logs,
                                                 update_freq = 10000,
                                                 profile_batch = 2)

model.compile(tf.keras.optimizers.Adam(lr=0.01), loss='binary_crossentropy', metrics=METRICS)
model.fit(train_data, epochs=1, callbacks = [tboard_callback])

 运行以下命令,在浏览器输入地址即可。

%tensorboard --logdir=logs

 tf.keras.callbacks.TensorBoard的参数:

  • log_dir:保存TensorBoard要解析的日志文件的目录路径。
  • histogram_freq:默认为0。计算模型各层的激活值和权重直方图的频率(以epoch计)。如果设置为0,将不会计算直方图。若想直方图可视化,必须指定验证数据(或分割验证集)。
  • write_graph:默认为True。是否在TensorBoard中可视化图形。当设置为True时,日志文件会变得非常大。
  • write_images:默认为False。是否写入模型权重,在TensorBoard中将权重可视化为图像。
  • update_freq:默认为"epoch"。可以是"epoch","batch" 或者整数。当使用"batch"时,在每个batch后将loss,metrics写入TensorBoard。"epoch"同理。如果使用整数,比如1000,则每经过1000个batch将loss,metrics写入到TensorBoard。过于频繁会减慢训练速度。
  • profile_batch:默认为2。每过多少个batch分析一次Profile。profile_batch必须是非负整数或整数的元组。一对正整数表示要进入Profile的batch的范围。设置profile_batch=0会禁用Profile分析。
  • embeddings_freq:默认为0。embedding在epochs中被可视化的频率。如果设置为0,embedding将无法可视化。
  • embeddings_metadata:默认为None。没看懂。a dictionary which maps layer name to a file name in which metadata for this embedding layer is saved. See the details about metadata files format. In case if the same metadata file is used for all embedding layers, string can be passed.

你可能感兴趣的:(Deep,Learning)