Keras框架下调用tensorboard查看训练过程

tensorboard参数介绍

1、log_dir: 用来保存Tensorboard的日志文件等内容的位置
2、histogram_freq: 对于模型中各个层计算激活值和模型权重直方图的频率。
3、write_graph: 是否在 TensorBoard 中可视化图像。
4、write_grads: 是否在 TensorBoard 中可视化梯度值直方图。
5、batch_size: 用以直方图计算的传入神经元网络输入批的大小。
6、write_images: 是否在 TensorBoard中将模型权重以图片可视化。
7、update_freq: 常用的三个值为’batch’ 、 ‘epoch’ 或 整数。当使用 ‘batch’ 时,在每个 batch 之后将损失和评估值写入到 TensorBoard 中。 ‘epoch’ 类似。如果使用整数,会在每一定个样本之后将损失和评估值写入到 TensorBoard 中。

示例代码

示例代码如下,不过值得注意的是,博主下面使用的是生成器来训练,如果是生成器训练那么histogram_freq就要=0就不可用,如果是1的话就只能是fit,而不是fitgenerator。

Tensorboard= TensorBoard(log_dir="catdog_model", histogram_freq=0, write_grads=True)

完整代码见博主上篇博文,此处为卷积网络中实现tensorboard的代码。

model.fit_generator(generate_arrays_from_file(all_path[:num_train], batch_size),
                    steps_per_epoch=max(1, num_train//batch_size),
                    validation_data=generate_arrays_from_file(all_path[num_train:], batch_size),
                    validation_steps=max(1, num_val//batch_size),
                    epochs=150,
                    initial_epoch=0,
                    callbacks=[checkpoint_period1, reduce_lr, Tensorboard])

注意要在callback里面以列表形式写入。

命令行调用tensorboard

最后打开你的cmd进入到环境和日志文件的目录下。例如:
Keras框架下调用tensorboard查看训练过程_第1张图片
输入使用tensorboard的命令。
Keras框架下调用tensorboard查看训练过程_第2张图片
下面的网址就是我们查看的地方。

解决报错

但是可能小伙伴会出现和我一样这种情况。
Keras框架下调用tensorboard查看训练过程_第3张图片
在输入命令是,把用户名改成127.0.0.1
Keras框架下调用tensorboard查看训练过程_第4张图片

效果图

这样输入网址就能够看到效果。
Keras框架下调用tensorboard查看训练过程_第5张图片
Keras框架下调用tensorboard查看训练过程_第6张图片
Keras框架下调用tensorboard查看训练过程_第7张图片
Keras框架下调用tensorboard查看训练过程_第8张图片
Keras框架下调用tensorboard查看训练过程_第9张图片
如果大家不是用生成器的话,仅仅只是fit全部数据那么可以将histogram_freq=0改成1,这样有更好看的图片,如
Keras框架下调用tensorboard查看训练过程_第10张图片Keras框架下调用tensorboard查看训练过程_第11张图片
大家快去试试吧。

你可能感兴趣的:(Keras框架下调用tensorboard查看训练过程)