记录一次使用tensorboard画图实例

# 导入包
from torch.utils.tensorboard import SummaryWriter
# 实例化内容
writer = SummaryWriter('./output/log')
for i in range(100):
# 分别是 题目,数值,x坐标writer.add_scalar(tag, scalar_value, global_step=None)writer.close()

查看

在终端输入

tensorboard --logdir=./output/log

打开浏览器复制链接即可查看

常见问题

1.该报错为输入的scalar格式不对,可能为ndarray格式,需要进行转换

scalar should be 0d

2.图片显示不全取消第二个√

科研绘图

需要有图例,但是目前tensorboard不能添加,所以需要将数据进行下载

保存为csv文件后,获取数据
根据自己数据特点绘图

此处代码参考:https://www.pianshen.com/article/316476506/

import pandas as pd
import matplotlib.pyplot as plt
from io import StringIOnet2 = pd.read_csv('run_2-tag-loss.csv', usecols=['Step', 'Value'])
plt.plot(net2.Step, net2.Value, lw=1.5, label='Net-2', color='pink')
net3 = pd.read_csv('run_3-tag-loss.csv', usecols=['Step', 'Value'])
plt.plot(net3 .Step, net3 .Value, lw=1.5, label='Net-3', color='green')
net4 = pd.read_csv('run_4-tag-loss.csv', usecols=['Step', 'Value'])
plt.plot(net4 .Step, net4 .Value, lw=1.5, label='Net-4', color='yellow')plt.legend(loc=0)
plt.show()

就可以放到论文里面了

具有标准差的论文绘图

# 导入库函数
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('ggplot')
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 平滑处理,类似tensorboard的smoothing函数。
# 此处的x y需要根据自己文件列名修改,权重可以自己设定
def smooth(read_path, save_path, file_name, x='timestep', y='reward', weight=0.75):data = pd.read_csv(read_path + file_name)scalar = data[y].valueslast = scalar[0]smoothed = []for point in scalar:smoothed_val = last * weight + (1 - weight) * pointsmoothed.append(smoothed_val)last = smoothed_valsave = pd.DataFrame({x: data[x].values, y: smoothed})save.to_csv(save_path + 'smooth_'+ file_name)
# 平滑预处理原始reward数据
smooth(read_path='./BipedalWalker-v3/', save_path='./BipedalWalker-v3/', file_name='PPO_BipedalWalker-v3_log_210.csv')
smooth(read_path='./BipedalWalker-v3/', save_path='./BipedalWalker-v3/', file_name='PPO_BipedalWalker-v3_log_310.csv')
smooth(read_path='./BipedalWalker-v3/', save_path='./BipedalWalker-v3/', file_name='PPO_BipedalWalker-v3_log_410.csv')
# 读取平滑后的数据与原始数据
df1 = pd.read_csv('./BipedalWalker-v3/smooth_PPO_BipedalWalker-v3_log_210.csv')  #[1100: 1200]
df2=pd.read_csv('./ori/train_data.csv')
# 拼接到一起
df = df1.append(df2)
# 重新排列索引
df.index = range(len(df))
print(df)
# 设置图片大小
plt.figure(figsize=(15, 10))
# 画图,同理xy需要改成自己文件的
sns.lineplot(data=df, x="timestep", y="reward")

tensorboard画图相关推荐

  1. 自定义模型tensorboard画图命令报错 assert error assert isinstance(orig, torch.nn.Module)

    ╭──────────────────────────── Traceback (most recent call last) ────────────────────────────╮ │ < ...

  2. pytorch1.7教程实验——使用 TensorBoard 可视化模型,数据和训练

    可视化还是很重要的,作为官方教程的开头部分,还是有必要好好看看,毕竟使用服务器没有桌面,不用直接使用画图函数看图像,使用tensorboard可以作为一种可视化方法,而且训练过程的损失曲线等也可以通过 ...

  3. [tensorflow、神经网络] - 使用tf和mnist训练一个识别手写数字模型,并测试

    参考 包含: 1.层级的计算.2.训练的整体流程.3.tensorboard画图.4.保存/使用模型.5.总体代码(含详细注释) 1. 层级的计算 如上图,mnist手写数字识别的训练集提供的图片是 ...

  4. 辛普森悖论如何影响AB测试

    Simpson's paradox occurs when we observe a certain trend in the aggregate data but not in the underl ...

  5. 李宏毅机器学习2022 HW1

    李宏毅机器学习2022版 Homework1 新冠阳性人数预测,根据前四天的数据,预测第五天的阳性人数.(回归) 首先下载数据集 !gdown --id '1kLSW_-cW2Huj7bh84YTdi ...

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

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

  7. PyTorch (二):数据可视化 (TensorBoard、Visdom)

    目录 TensorBoard Create a summary writer General api format Add scalar `add_scalar` `add_scalars` Add ...

  8. 快速解决tensorflow与tensorboard版本不兼容问题

    因为pytorch中没有可视化的包,所以在画图的时候使用了tensorboardX. 步骤1:激活安装pytorch框架的环境,查看安装的包,如果有tensorflow,高版本的tf一般自带tenso ...

  9. 【深度学习】tensorboard中的图片放到论文中

    1. 利用tensorboard中的导出数据功能 选中左上角的标签,然后选择csv格式的数据下载即可. 左边的smoothing 数值不影响导出数据的大小. 2.tensorboard 图下标签介绍: ...

最新文章

  1. Java Spring的IoC和AOP的知识点速记
  2. 常见的shell实例
  3. 解决X64操作系统PL/SQL连接报错问题 make sure you have the 32 bits oracle client installed
  4. SQLserver2008数据表的修改操作
  5. js 中的[] {}是什么意思
  6. java画笔覆盖在界面_Java学习笔记:swing画笔工具Graphics,刷新页面,键盘事件,随机数等【诗书画唱】...
  7. 在modelarts上部署backend为TensorFlow的keras模型
  8. '=='和equals区别以及jvm内存分配
  9. Leetcode每日一题:17.letter-combinations-of-a-phone-number(电话号码的字母组合) 0ms通过
  10. error while loading shared libraries: libavformat.so.56
  11. 云函数隐藏c2服务器
  12. flv怎么转换成mp4格式?
  13. 原生js预览ofd文件,JavaScript
  14. BAPI_PO_CREATE1--单价增大10倍问题
  15. okGo框架的使用,下载列表显示
  16. Android:圆形头像
  17. uniapp ios原生插件开发 (framework,cocoapods)
  18. java webp文件转png,jpg
  19. djangoday18
  20. matlab画等势线,求助大牛MATLAB画三维等势面

热门文章

  1. ens天空盒_这句话是什么意思啊
  2. Linux物理内存较少导致OOM问题分析
  3. python打开word并在前台显示_Python办公自动化:自动打开word文档,你学到了吗?
  4. 微信或QQ屏蔽域名,爆红域名如何在微信打开,如何进行微信域名防封?
  5. 锁客+裂变,这套玩法你觉得怎么样
  6. 方兴未艾的CORBA
  7. 解决win7语言栏消失问题
  8. JavaCV音视频开发宝典:基于JavaCV实现wav音频直播服务,wav在线FM电台直播服务,无需流媒体服务,浏览器原生audio标签直接播放wav直播音频
  9. 帮我写一个无数爱心滑落的html
  10. 人工智能带来的岗位减少更多是重复性、机械性、门槛低的岗位