当前位置:网站首页>tensorboard可视化
tensorboard可视化
2022-07-28 05:22:00 【Alan and fish】
因为在做实验的时候,需要记录数据,为了方便记录数据,可以使用tensorboard在运行的过程中就将实验结果记录其中,以对比那次实验的结果是最好的.
tensorboard常用的功能有,保存模型网络结构,保存训练集的损失,下面就介绍tensorboard的几个常用的功能.
1.tensorboard面板介绍

这个面板图源自:https://blog.csdn.net/Zhangsan0219/article/details/121763073
我是参考这个作者重新写了一遍笔记,便于自己记录.
2.画折现统计图
- 将多张图分开画
# -*- coding: utf-8 -*-
# @Author :WenShuai Xiao
# @Time:2022-05-30
# @File:Tensorboard_line.py
import os.path
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from tqdm import tqdm
if __name__=='__main__':
print('测试开始')
'''
画线
启动命令 tensorboard --logdir=logs
指定端口 tensorboard --logdir=logs --port=6007
'''
# 创建编辑器,保存日志
# log_dir保存路径
logs_path=os.path.join("./logs","trian")
if not os.path.exists(logs_path):
print('路径不存在')
os.makedirs(logs_path)
writer=SummaryWriter(log_dir=logs_path)
# 模拟添加每个epoch的loss和Acc
for n_iter in tqdm(range(100)):
# writer.add_scalar函数用于添加标量值
# add_scalar(tags, scalar_value, global_stop)
# tags: string, 记录对象的标签
# scalar_valud: float, 记录的数值
# global_step: int, x轴的数值
writer.add_scalar('Loss/Train',np.random.random(),n_iter)
writer.add_scalar('Loss/Test',np.random.random(),n_iter)
writer.add_scalar('Accuracy/train',np.random.random(),n_iter)
writer.add_scalar('Accuracy/test',np.random.random(),n_iter)
writer.close()
print('测试结束')
运行完之后就会在logs文件下生成记录的文件,然后找到这个路径,在这个路径下面输入cmd->回车,就可以直接进入这个路径下的dos命令
然后输入以下代码,把最后一个链接复制到浏览器就可以看到了结果
# 激活环境
conda activate pytorch
# 使用tensorboard打开路径
tensorboard --dirlogs=logs

- 将多张图画在一起
# =====================================================
'''
writer.add_scalars(main_tag, tag_scalar_dict, global_step=None)
该函数用于将多个scalar添加到同一个图中
main_tag: string, 父标签
tag_scalar_dict: dict, 将多个scalar组合在一起的字典对象,
该字典的key表示tag, value为记录的scalar值
global_step: int, 图片的x轴
'''
# ====================================================
for i in tqdm(range(100),desc='多张图画在一起'):
writer2.add_scalars(
'run_14h',{
'xsinx':i*np.sin(i/5),
'xcosx':i*np.cos(i/5),
'tanx':np.tan(i/5)
},i
)
writer2.close()
显示结果
后面的直方图,等我需要的时候在继续补充笔记
3.画模型图
# -*- coding: utf-8 -*-
# @Author :WenShuai Xiao
# @Time:2022-05-30
# @File:Tensorboard_model.py
from torch import ones
from torch.utils.tensorboard import SummaryWriter
from torch.nn import Linear,ReLU,Sequential
import os
if __name__=='__main__':
logs_path = os.path.join("./logs", "model_graph")
if not os.path.exists(logs_path):
print('路径不存在')
os.makedirs(logs_path)
writer=SummaryWriter(logs_path)
# 写一个模型
model=Sequential(
Linear(1,10),
ReLU(),
Linear(10,1)
)
data=ones(10,1)
'''
add_graph
画出模型的结构
模型双击查看
'''
writer.add_graph(model=model,input_to_model=data)
writer.close()
查看模型图:
4.多模型对比
有的时候需要调参对比实验的结果,可以使用这个方法将每次的实验结果保存到tensorboard中,如果学会了bash语法,直接可以使用bash语法自动传参数,这样就不用自己操作了,只需要耐心的等待实验结果就好了.
# -*- coding: utf-8 -*-
# @Author :WenShuai Xiao
# @Time:2022-05-30
# @File:Tensorboard_mutil_model.py
import os
import datetime
from torch.utils.tensorboard import SummaryWriter
if __name__=='__main__':
# 动态生成时间
log_dir=os.path.join('logs',datetime.datetime.now().strftime("%Y%m%d_%H%M%S"))
if not os.path.exists(log_dir):
os.makedirs(log_dir)
writer=SummaryWriter(log_dir=log_dir)
# y=2x
for i in range(100):
writer.add_scalar(tag='y=2x',scalar_value=1.5*i,global_step=i)
writer.close()
查看实验结果:

边栏推荐
- Variables, process control and cursors
- xml解析实体工具类
- DataX installation and use
- 第七章 单行函数
- 【3】 Redis features and functions
- 撞脸ins? Mars数字藏品平台探索数字藏品轻社交
- Hit your face ins? Mars digital collection platform explores digital collection light social networking
- Distinguish between real-time data, offline data, streaming data and batch data
- 微信小程序开发制作注意这几个重点方面
- 小程序商城制作一个需要多少钱?一般包括哪些费用?
猜你喜欢
随机推荐
DataX安装及使用
撞脸ins? Mars数字藏品平台探索数字藏品轻社交
数据处理之增删改;约束
The project does not report an error, operates normally, and cannot request services
raise RuntimeError(‘DataLoader worker (pid(s) {}) exited unexpectedly‘.format(pids_str))RuntimeErro
It's not easy to travel. You can use digital collections to brush the sense of existence in scenic spots
KubeSphere安装版本问题
服务可靠性保障-watchdog
MySQL select statement query; Operator after class practice
50 MySQL exercises + Answers
mysql分页出现问题
【一】redis简介
第八章 聚合函数
Hit your face ins? Mars digital collection platform explores digital collection light social networking
Structured streaming in spark
XShell突然间无法连接虚拟机
【4】 Redis persistence (RDB and AOF)
【6】 Redis cache policy
FlinkX安装及使用
Installation and use of flinkx









