【深度学习】keras通过tensorboard进行可视化

通过自己编写方法利用matplotlib可视化每次迭代的损失和精确度时感觉很麻烦,运行时间开销也大,然而利用tensorboard可以以最少的代码得到最优的更多的可视化结果。看了不少网上的博客,大多都是千篇一律,不是抄的就是过程不详细,对于小白真的是一头雾水,下面我来具体讲解一下tensorboard的过程。
首先kerastensorboard的调用过程为tf.keras.callbacks.TensorBoard()tftensorflow的别名。去keras的官方文档看了下,TensorboardCallbacksAPI中。

tf.keras.callbacks.TensorBoard(
    log_dir="logs",
    histogram_freq=0,
    write_graph=True,
    write_images=False,
    update_freq="epoch",
    profile_batch=2,
    embeddings_freq=0,
    embeddings_metadata=None,
    **kwargs
)

先说一下几个较为常用的参数吧。
1.log_dir:网上博客好像不知道从哪抄来的,其实这个参数就是用来保存tensorboard日志文件的路径,默认为logs,就是在当前项目所在路径下创建了一个名为logs的文件夹,logs文件夹里还有个train文件夹,train文件里放的即为tensorboard的日志文件,如果不想创建新的文件夹,那么直接log_dir='.'即可,这样当前项目所在路径下就直接有一个train文件夹。

2.write_graph:是否显示计算图,如果为False,那么tensorboard中将不会有任何网络的层结构图。
3.update_freq:可取值:'batch''epoch',或者其他整型数值。就是多少次之后把loss和metrics写入tensorboard中,可以每个批次写入tensorboard中,也可以每次迭代写入。
4.embeddings_freq:嵌入层可视化的频率(以epochs为单位)。如果设置为0,则不会可视化嵌入层。
举个栗子:

tensorboard = tf.keras.callbacks.TensorBoard(log_dir='tensorboard_logs')
model.fit(x_train, y_train, epochs=100, callbacks=[tensorboard])

当程序运行完之后,在项目所在文件中进入cmd,然后输入以下指令:
在这里插入图片描述
然后将地址http://localhost:6006/复制,在浏览器中粘贴访问即可。在访问网站之前不能关闭cmd窗口,否则网址无法访问。
在这里插入图片描述

左上角有个smoothing,可以用来调整曲线的平滑程度,菜单栏中点击GRAPHS可以查看计算图:
在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值