1、概念
TensorBoard可以看作是一个“训练监控仪表盘”,可以
将训练过程中的数据可视化,让你通过图表直观地看到模型的表现,
识别问题,并进行调试和优化。
TensorFlow是用来训练模型的深度学习框架,在使用tensorflow训练模型时,可以通过tensorboard来对数据进行可视化,帮助优化模型。
Pytorch也是一种深度学习框架。
- TensorFlow:功能强大,但初学者可能觉得上手稍难,适合工业生产中应用
- PyTorch:语法简洁,易于理解,许多用户觉得它更友好,在学术界中非常受欢迎
(一些项目可能会在研究阶段使用 PyTorch,随后在生产环境中使用 TensorFlow)
2、如何使用TensorBoard?(代码)
(1)安装tensorflow或pytorch后,引入SummaryWriter类
SummaryWriter:用来记录数据的指标
from torch.utils.tensorboard import SummaryWriter
(2)创建SummarWriter实例及其关联文件夹
writer=SummaryWriter("logs")
logs是即将创建的文件夹名称(日志目录)
(3)记录训练过程中产生的数据
for i in range(100): writer.add_scalar("y=3x",3*i,i)
1、writer.add_scalar():记录标量数据(如损失、准确率等)并进行可视化
writer.add_scalar(tag, scalar_value, global_step=None)
tag:标签(相当于标题)
scalar_value:要记录的标量值(y轴的值)
global_step:记录的步数(x轴的值)
2、writer.add_image():记录图像数据并进行可视化
writer.add_image(tag, image, global_step=None, dataformats='CHW')
tag:标签(标题)
image:要记录的图像
global_step:记录的步数
dataformats:数据格式(默认为 'CHW'(通道-高度-宽度))
(4)关闭文件夹
writer.close()
from torch.utils.tensorboard import SummaryWriter
writer=SummaryWriter("logs")
# writer.add_image()
# writer.add_scalar()
for i in range(100):
writer.add_scalar("y=3x",3*i,i)
writer.close()
3、如何查看可视化结果?
(1)在终端启动TensorBoard:
tensorboard --logdir=logs --port=6007
--logdir:指定TensorBoard日志文件的目录(就是SummarWriter创建的文件名)
--port:指定端口是6007,避免与默认的6006端口产生冲突(可以多个端口同时运行)
(为什么要在终端启动TensorBoard?
不同的执行环境:TensorBoard 通常需要在独立的进程中运行,以便持续地、实时地监控训练过程,而 Python 脚本通常是一次性执行的;
阻塞问题:在命令行中启动 TensorBoard 通常会占用一个终端窗口,但它不会阻塞整个系统。你可以在一个终端窗口中启动 TensorBoard,然后在另一个终端窗口中执行其他命令或运行训练脚本
简化管理:通过命令行启动 TensorBoard,可以更灵活地指定日志目录、端口等参数)
(2)查看结果
打开浏览器,访问 http://localhost:6007/
(3)如果因为tag未更改而与上一次的事件进行了拟合,则删除logs文件夹,重新运行生成即可。