tensorboard可以可视化我们的训练过程,我们训练mnist作为例子
目录
1 导入库
2 导入数据
3 处理数据
4 创建数据集
5 建立模型
6 编译模型
7 创建tensorboard
首先我们创建一个时间文件夹,以便我们进行每一次训练后都保存一个日志
这里的strftime()是将时间数据转换成字符串格式,参数为要转换的格式
- %Y 年
- %m 月
- %d 日
- %H 小时
- %M 分钟
- %S 秒
之后创建tensorboard对象
tensorboard的参数如下
- log_dir 日志路径,不需要创建,它会自动生成
- histogram_frep 直方图频率,我们如果不需要记录就设置为0,如果设置为1就是一个epoch记录一次,如果设置为2就是两个epoch记录一次
其他的参数我们使用默认参数就行,之后如果有涉及到会再提
在callbacks中还存在很多功能,比如说EarlyStopping,当我们loss连续几个epoch不下降的时候我们使用EarlyStopping可以使其停止训练。再比如LearningRateScheduler,我们可以使用这个方法在训练过程中改变学习速率
8 训练模型
在model.fit中我们加入刚刚创建的tensorboard对象作为回调函数,由于回调函数可能有多个,所以我们要传入一个列表类型的变量,如果我们只有一个回调函数也要把它放在列表中
训练结束之后会生成我们指定的文件夹
logs下有一个子目录,这个是我们训练的时间
打开后有train和validation两个文件夹
- train
- validation
9 显示tensorboard
首先我们打开Anaconda Prompt,然后激活环境
然后进入我们的项目目录(logs这个文件夹放在哪个目录下就进哪个目录)
然后输入 tensorboard --logdir logs
发现上面出现一个网址(http://localhost:6006),我们访问这个地址
这样我们就打开了tensorboard
我们发现界面上有两条曲线,在这里打勾或不打勾可以选择显示或不显示
左上角的SCALARS是标量,可以显示acc,loss等数据
GRAPHS可以查看我们的网络
如果想看网络某一层的细节,我们可以双击进入它,我当前进入的是dense
再双击两下就能退出详细显示
剩下三个都是显示bias与keral情况的,后面我们如果有用到再提