当前位置: 首页 > article >正文

Tensorboard 基础与使用-——界面介绍

在导入运行tensorboard得到一个event file文件。

tensorboard基本原理是这样的

  1. python代码中将可视化的数据记录到event file中,保存至硬盘

  2. 采用tensorboard对event file文件进行读取,并在web端进行可视化

  3. 指令启动:

    tensorboard --logdir=your path dir
    

    可能发生的问题:

1. 6006端口被占用:

 port 6006 was already in use 

E0117 15:58:38.631224 MainThread program.py:260] TensorBoard attempted to bind to port 6006, but it was already in use

TensorBoard attempted to bind to port 6006, but it was already in use
解决方法:修改端口为6007

tensorboard --logdir=your_dir --port=6007
到这里可以知道,tensorboard软件是一个web应用,它对指定目录下的event file进行可视化,可视化页面拥有一系列功能按钮,供开发者使用。

SummaryWriter类介绍

首先介绍Summary Writer的参数设置,然后是方法。

属性:

log_dir (string) – 文件保存目录设置,默认为 runs/current_datetime_hostname

comment (string) – 当log_dir采用默认值时,comment字符串作为子目录

purge_step (int) – ?

max_queue (int) –?

flush_secs (int) – 磁盘刷新时间,默认值为120秒

filename_suffix (string) –文件名后缀

方法:

add_scalar

add_scalar(tag, scalar_value, global_step=None, walltime=None, new_style=False, double_precision=False)

add_scalar(tag, scalar_value, global_step=None, walltime=None, new_style=False, double_precision=False)功能:添加标量;tag的设置可以有个技巧是在同一栏下绘制多个图,如'Loss/train', 'Loss/Valid', 这就类似于matplotlib的subplot(121), subplot(122)

功能:添加标量;tag的设置可以有个技巧是在同一栏下绘制多个图,如'Loss/train', 'Loss/Valid', 这就类似于matplotlib的subplot(121), subplot(122)

  • tag (string) – Data identifier

  • scalar_value (float or string/blobname) – Value to save

  • global_step (int) – Global step value to record

add_scalars

add_scalars(main_tagtag_scalar_dictglobal_step=Nonewalltime=None)

功能:在一个坐标轴中绘制多条曲线。常用于曲线对比。

  • main_tag (string) – The parent name for the tags
  • tag_scalar_dict (dict) – Key-value pair storing the tag and corresponding values
  • global_step (int) – Global step value to record

核心在于tag_scalar_dict 字典中存放多条曲线的数值。

add_histogram

add_histogram(tag, values, global_step=None, bins='tensorflow', walltime=None, max_bins=None)

功能:绘制直方图。这里的global_step表明会得到多个直方图,详情请看图理解。

在tensorboard界面,需要进入HISTOGRAM中才能看到直方图可视化。

  • tag (string) – Data identifier

  • values (torch.Tensor, numpy.array, or string/blobname) – Values to build histogram

  • global_step (int) – Global step value to record

  • bins (string) – One of {‘tensorflow’,’auto’, ‘fd’, …}. This determines how the bins are made.

add_image

add_image(tag, img_tensor, global_step=None, walltime=None, dataformats='CHW')

功能:绘制图像。

  • tag (string) – Data identifier

  • img_tensor (torch.Tensor, numpy.array, or string/blobname) – Image data

  • global_step (int) – Global step value to recorddataformats- 数据通道顺序物理意义。默认为 CHW

add_images

add_images(tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW')

功能:绘制图像序列,常用于数据清洗,卷积核,特征图的可视化。

Add batched image data to summary.Note that this requires the pillow package.

  • tag (string) – Data identifier

  • img_tensor (torch.Tensor, numpy.array, or string/blobname) – Image data

  • global_step (int) – Global step value to record

  • walltime (float) – Optional override default walltime (time.time()) seconds after epoch of event

  • dataformats (string) – Image data format specification of the form NCHW, NHWC, CHW, HWC, HW, WH, etc.

add_figure

add_figure(tag, figure, global_step=None, close=True, walltime=None)

功能:将matplotlib的figure绘制到tensorboard中。

Render matplotlib figure into an image and add it to summary.Note that this requires the matplotlib package.

tag (string) – Data identifier

figure (matplotlib.pyplot.figure) – Figure or a list of figures

global_step (int) – Global step value to record

close (bool) – Flag to automatically close the figure

walltime (float) – Optional override default walltime (time.time()) seconds after epoch of event

剩下一些高级函数,就不一一讲解,用法雷同,再次仅汇总,供需使用。

add_video:绘制视频

add_audio:绘制音频,可进行音频播放。

add_text:绘制文本

add_graph:绘制pytorch模型拓扑结构图。

add_embedding:绘制高维数据在低维的投影

add_pr_curve:绘制PR曲线,二分类任务中很实用。

add_mesh:绘制网格、3D点云图。

add_hparams:记录超参数组,可用于记录本次曲线所对应的超参数。


http://www.kler.cn/a/302007.html

相关文章:

  • vue2/vue3中使用的富文本编辑器vue-quill
  • @Autowired和@Resource的区别
  • 插入排序——希尔排序
  • AI开发-计算机视觉库-OpenCV
  • 入侵排查之Linux
  • 深入探索 React Hooks:原理、用法与性能优化全解
  • 使用FastJson2将对象转成JSON字符串时,小数位“0”开头时转换出错
  • 深入理解Java虚拟机:Jvm总结-Java内存区域与内存溢出异常
  • [数据集][目标检测]烟叶病害检测数据集VOC+YOLO格式612张3类别
  • Cmake之3.22版本重要特性及用法实例(十九)
  • 小众创新组合!LightGBM+BO-Transformer-LSTM多变量回归交通流量预测(Matlab)
  • 计算两个数据集之间的皮尔森相关系数与其p值 scipy.stats.pearsonr()
  • 解决 Ubuntu 20.04 上 Fail2Ban 启动失败问题:指定 systemd 后端
  • nnunet报错 the direction does not match between the images
  • STM32-HAL库开发快速入门
  • React基础
  • [001-02-001]. 第07-03节:理解线程的安全问题
  • 空间物联网中的大规模接入:挑战、机遇和未来方向
  • 基于 onsemi NCV78343 NCV78964的汽车矩阵式大灯方案
  • Linux下进程间的通信--共享内存
  • 计算机视觉的应用33-基于双向LSTM和注意力机制融合模型的车辆轨迹预测应用实战
  • 五分钟让你学会threeJS
  • git 远程分支同步本地落后的有冲突的分支
  • Redis常用操作及springboot整合redis
  • web基础之文件上传
  • Kotlin 中的 `flatMap` 方法详解