导入必要的依赖包:

from pathlib import Path
import glob
import re
import numpy as np
from torch.utils.tensorboard import SummaryWriter

生成文件夹。在指定路径下遍历,以后缀自增的形式创建新的文件夹,避免重复

# https://github.com/ultralytics/yolov5/blob/c1bed601e9b9a3f5fa8fb529cfa40df7a3a0b903/utils/general.py#L805
def increment_path(path, exist_ok=False, sep='', mkdir=False):# Increment file or directory path, i.e. runs/exp --> runs/exp{sep}2, runs/exp{sep}3, ... etc.path = Path(path)  # os-agnosticif path.exists() and not exist_ok:suffix = path.suffixpath = path.with_suffix('')dirs = glob.glob(f"{path}{sep}*")  # similar pathsmatches = [re.search(rf"%s{sep}(\d+)" % path.stem, d) for d in dirs]i = [int(m.groups()[0]) for m in matches if m]  # indicesn = max(i) + 1 if i else 2  # increment numberpath = Path(f"{path}{sep}{n}{suffix}")  # update pathdir = path if path.suffix == '' else path.parent  # directoryif not dir.exists() and mkdir:dir.mkdir(parents=True, exist_ok=True)  # make directoryreturn path

训练并记录:

epochs = 10
steps = 100save_dir = increment_path('runs1/exp')
print(save_dir)writer = SummaryWriter(save_dir)
iteration = 0
for epoch in range(epochs):for step in range(steps):# trainwriter.add_scalar('Loss/train', np.random.random(), iteration)writer.add_scalar('Accuracy/train', np.random.random(), iteration)# valwriter.add_scalar('Loss/val', np.random.random(), iteration)writer.add_scalar('Accuracy/val', np.random.random(), iteration)iteration += 1writer.close()

上面代码多次运行之后的结果:

在命令行中运行TensorBoard查看:

tensorboard --logdir=runs1


每运行一次,会创建一个文件夹,左侧蓝色框

代码中add_scalar的第一个参数,也就是tag,如'Accuracy/train''Accuracy/val',相同的tag会把两个图表放在同一个sectionAccuracy

不同的文件夹中的相同tag会画在同个图表中,如右侧4个图表的橙色和蓝色曲线

如果是在同一个文件夹中,具有相同tag的则会画到同一条曲线上,因此在训练时,不同参数的训练要放到不同的文件夹中,否则两次训练会首尾相连,但是如果是中断继续训练,则要放到同一个文件夹中,并且横坐标要从上次中断位置继续。

PyTorch可视化-在PyTorch训练时使用TensorBoard记录Metrics相关推荐

  1. PyTorch可视化工具-Tensorboard在线查看训练曲线、网络结构图等

    1 安装 2 如何调用 3 如何查看 4 实战 4.1 代码调用 4.2 查看 1 SCALARS 训练曲线 2 多次训练曲线对比 3 IMAGES 4 CRSPHS 模型图 5 问题与解决 6 工程 ...

  2. pytorch学习笔记(4):tensorboard可视化

    参考文档:https://mp.weixin.qq.com/s/UYnBRU2b0InzM9H1xl4b4g 在之前的第二篇笔记中,我们实现了一个 CNN 网络,在 mnist 上通过两个卷积层完成分 ...

  3. pytorch(4)Pytorch模型训练时从CPU与GPU之间的转换

    1.如何进行迁移 使用Pytorch写的模型: 对模型和相应的数据使用.cuda()处理.通过这种方式,我们就可以将内存中的数据复制到GPU的显存中去.从而可以通过GPU来进行运算了. 另外一种方式, ...

  4. Pytorch使用DistributedDataParallel单机多卡训练时遇到ValueError: sampler option is mutually exclusive with shuff

    Pytorch使用DistributedDataParallel单机多卡训练时遇到 ValueError: sampler option is mutually exclusive with shuf ...

  5. Pytorch可视化工具 —— TensorBoard

    1.TensorBoard简介 TensorBoard:TensorFlow中强大的可视化工具: 支持标量.图像.文本.音频.视频和Embedding等多种数据可视化: 在学习TensorBoard之 ...

  6. .mb是什么文件_神经网络长什么样不知道? 这有一份简单的 pytorch可视化技巧(1)

    神经网络长什么样不知道?这有一份简单的 pytorch可视化技巧(1) 深度学习这几年伴随着硬件性能的进一步提升,人们开始着手于设计更深更复杂的神经网络,有时候我们在开源社区拿到网络模型的时候,做客可 ...

  7. 详解PyTorch可视化工具visdom(一)

    一.介绍 在深度学习领域,模型训练是一个必须的过程,因此常常需要实时监听并可视化一些数据,如损失值loss,正确率acc等.在Tensorflow中,最常使用的工具非Tensorboard莫属:在Py ...

  8. add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX

    Pytorch学习记录-Pytorch可视化使用tensorboardX 在很早很早以前(至少一个半月),我做过几节关于tensorboard的学习记录. https://www.jianshu.co ...

  9. 卷积神经网络、比较MLPS和CNNS、滤波器、CNN各层的作用、在Pytorch可视化CNN

    1.33.卷积神经网络 1.33.1.卷积 和 神经网络 1.33.1.1.比较MLPS和CNNS 1.33.1.2.计算机如何看图像? 1.33.1.3.建立自己的滤波器 1.33.2.完整的卷积神 ...

最新文章

  1. linux文件系统dentry_NFS 文件系统源代码剖析
  2. 企业架构:现代数据架构的特征
  3. 简单工厂模式(Simple Factory)
  4. 如何在微信公众帐号开发模式下,通过程序代码向用户发送符号表情。
  5. 以太坊核心开发者正在制定ETH2.0合并最低技术规范
  6. linux应用之Lamp(apache+mysql+php)的源码安装(centos)
  7. 1.3 正则表达式和Python语言-1.3.5使用 search()在一个字符串中查找模式(搜索与匹配 的对比)...
  8. Qt浅谈之三十二二维码条形码解析
  9. HTML页面跳转及传递参数
  10. java Ofd 转图片_一文教你搞懂如何将ofd格式的文件转为图片
  11. 对话诊断(X)2022IJCAI-My nose is running.Are you also coughing?:Building a Medical Diagnosis Agent with
  12. unity模型制作(终章):柔体布料绘制
  13. LLDP 链路发现协议
  14. 【微信小程序-初级实战】商品/表单编辑
  15. 【英语-同义词汇词组】common,general,normal,ordinary,usual | often 与 usually的用法及区别
  16. 个人网站的设计与实现
  17. 你是我生命中最美丽的温暖
  18. pptp中的pac与pns
  19. 人际交往中,你的真诚相待一定会换来疏远
  20. 《长三角区域大数据发展报告(2018)》在杭发布

热门文章

  1. 游戏策划学习:乱敏、mmo、跳跃表现
  2. CAN总线详解 整车的控制只需要一条线(怪不得那些汽车厂商的嵌入式岗位基本都是要求会CAN的)
  3. c语言交通违章编程代码,C语言程序设计之交通处罚单管理系统报告材料内含代码...
  4. android3g运存,为什么iphoneX只有3G运存还比安卓的6G运存快?
  5. 电脑 ctf占用过高
  6. 微信共享自习室预约小程序源码开发方案
  7. 解决虚拟机无法复制粘贴
  8. 关键词搜索API接口之1688平台
  9. 阿米巴经营模式,以及阿米巴模式改进
  10. CVPR 2019 论文汇总(按方向划分,0409 更新中)[转载]