当前位置:网站首页>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()
查看实验结果:

边栏推荐
- ModuleNotFoundError: No module named ‘pip‘
- 分布式锁-Redis实现
- mysql多表查询
- Phoenix
- KubeSphere安装版本问题
- 项目不报错,正常运行,无法请求到服务
- Mars number * word * Tibet * product * Pingtai defender plan details announced
- JS!!
- Invalid packaging for parent POM x, must be “pom“ but is “jar“ @
- The project does not report an error, operates normally, and cannot request services
猜你喜欢

Mars number * word * Tibet * product * Pingtai defender plan details announced

Mars数*字*藏*品*平*台守卫者计划细节公布

Idempotent component

It's not easy to travel. You can use digital collections to brush the sense of existence in scenic spots

微信小程序开发制作注意这几个重点方面

Distributed cluster architecture scenario optimization solution: session sharing problem

matplotlib数据可视化

DataX安装及使用

小程序开发流程详细是什么呢?

分布式集群架构场景优化解决方案:Session共享问题
随机推荐
【二】redis基础命令与使用场景
分布式集群架构场景优化解决方案:分布式调度问题
微信小程序开发详细步骤是什么?
Digital collections strengthen reality with emptiness, enabling the development of the real economy
【三】redis特点功能
变量,流程控制与游标
【6】 Redis cache policy
【5】 Redis master-slave synchronization and redis sentinel (sentinel)
Chapter 7 single line function
微信上的小程序店铺怎么做?
1: Enable slow query log and find slow SQL
服务可靠性保障-watchdog
数据仓库工具superset安装(完全可用)
幂等性组件
分布式锁-Redis实现
使用pyhon封装一个定时发送邮件的工具类
CertPathValidatorException:validity check failed
分布式集群架构场景优化解决方案:Session共享问题
At the moment of the epidemic, online and offline travelers are trapped. Can the digital collection be released?
小程序开发解决零售业的焦虑