将训练过程资产发挥极致
机器学习、深度学习过程中,只得到结果是不行的,有很重要的过程数据可以通过tensorboard的方式可视化,如目标函数值、AUC、results。
接下来是如何使用
1 需要创建日志文件
日志文件可以往里面填写数据,需要两个环境,tensorboard与tensorboardX,还是为了调用里面的SummaryWriter来填写内容。
tensorboard与tensorboardX的安装
*要保证环境里有相应的依赖啊*
pip install tensorboard
pip install tensorboardX
2 编写测试文件
新建一个testTensorboardEvent.py文件,
import numpy as np
from tensorboardX import SummaryWriter
writer = SummaryWriter();
# 这里可以设置路径的,但是不填写也会有默认路径,就是当前执行文件的同级目录,会自己创建一个文件,详情看效果。
for epoch in range(1000):
writer.add_scalar('scalar/No_1', np.random.rand(), epoch);
# 第一行这个add_scalar是添加折叠栏"scalar"下标签为"No_1"的图。
writer.add_scalar('graphs/No_2', np.random.rand()/333, epoch);
# 第二行这个add_scalar是添加折叠栏"graphs"下标签为"No_2"的图。
writer.add_scalars('scalar/Others', {'xsinx': epoch * np.sin(epoch), 'xcosx': epoch * np.cos(epoch)}, epoch);
# 第三行这个add_scalars是添加折叠栏"scalar"下标签为"No_1"的图,这个会得到多个图,还有一个汇总结果。
# 等下看效果就好。
writer.close();
里面的np.random.rand()就可以替换为大家所需要可视化的数据,(资料需要保密,不能展示更多,还请见谅)
3 运行测试文件
得到以下结果,“events.out.tfevents.**.”就是咱们要的日志文件。
下图中单个文件就是对应的单图,而文件夹就是上面提到的多图处理。
4 可视化准备工作
在这里我遇到的问题,我是在服务器上运行的,所以将其copy到本机中了,如果与我情况相同,别忘了在本机中也要添加tensorboard的依赖。
放在C盘,我怎么试也不行,会有问题,但是放在其他磁盘,都可以正常操作,这里我放到了F盘中。(目录中最好别有中文)
准备工作完毕了。
5 可视化命令
在Anaconda中打开“Anaconda Prompt ”,然后切换到有tensorboard的环境。
tensorboard --logdir=F:\log
# 这个logdir=后面的内容,是存放事件文件的目录,而不是事件文件本身,此例中events文件存放在F盘的log文件夹中。
结果像这个样子
6 查看结果
打开浏览器,复制上图中at后面的地址,打开。
如果浏览器中打不开,里面提示没有任何内容,则将步骤5中的可视化命令改为
tensorboard --logdir=F://log
# 将之前的“\”改为“//”
7 使用结果
这些结果中,有一些快捷键,
- 在图中直接用鼠标选中一小块区域可以放大
- 按住Alt键滚动鼠标滑轮可以放大与缩小
- 按住Alt键鼠标左键点击可以进行拖动
(希望对各位学习的朋友们有所帮助)