tensorboard画图
记录一次使用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画图相关推荐
- 自定义模型tensorboard画图命令报错 assert error assert isinstance(orig, torch.nn.Module)
╭──────────────────────────── Traceback (most recent call last) ────────────────────────────╮ │ < ...
- pytorch1.7教程实验——使用 TensorBoard 可视化模型,数据和训练
可视化还是很重要的,作为官方教程的开头部分,还是有必要好好看看,毕竟使用服务器没有桌面,不用直接使用画图函数看图像,使用tensorboard可以作为一种可视化方法,而且训练过程的损失曲线等也可以通过 ...
- [tensorflow、神经网络] - 使用tf和mnist训练一个识别手写数字模型,并测试
参考 包含: 1.层级的计算.2.训练的整体流程.3.tensorboard画图.4.保存/使用模型.5.总体代码(含详细注释) 1. 层级的计算 如上图,mnist手写数字识别的训练集提供的图片是 ...
- 辛普森悖论如何影响AB测试
Simpson's paradox occurs when we observe a certain trend in the aggregate data but not in the underl ...
- 李宏毅机器学习2022 HW1
李宏毅机器学习2022版 Homework1 新冠阳性人数预测,根据前四天的数据,预测第五天的阳性人数.(回归) 首先下载数据集 !gdown --id '1kLSW_-cW2Huj7bh84YTdi ...
- pytorch学习笔记(4):tensorboard可视化
参考文档:https://mp.weixin.qq.com/s/UYnBRU2b0InzM9H1xl4b4g 在之前的第二篇笔记中,我们实现了一个 CNN 网络,在 mnist 上通过两个卷积层完成分 ...
- PyTorch (二):数据可视化 (TensorBoard、Visdom)
目录 TensorBoard Create a summary writer General api format Add scalar `add_scalar` `add_scalars` Add ...
- 快速解决tensorflow与tensorboard版本不兼容问题
因为pytorch中没有可视化的包,所以在画图的时候使用了tensorboardX. 步骤1:激活安装pytorch框架的环境,查看安装的包,如果有tensorflow,高版本的tf一般自带tenso ...
- 【深度学习】tensorboard中的图片放到论文中
1. 利用tensorboard中的导出数据功能 选中左上角的标签,然后选择csv格式的数据下载即可. 左边的smoothing 数值不影响导出数据的大小. 2.tensorboard 图下标签介绍: ...
最新文章
- Java Spring的IoC和AOP的知识点速记
- 常见的shell实例
- 解决X64操作系统PL/SQL连接报错问题 make sure you have the 32 bits oracle client installed
- SQLserver2008数据表的修改操作
- js 中的[] {}是什么意思
- java画笔覆盖在界面_Java学习笔记:swing画笔工具Graphics,刷新页面,键盘事件,随机数等【诗书画唱】...
- 在modelarts上部署backend为TensorFlow的keras模型
- '=='和equals区别以及jvm内存分配
- Leetcode每日一题:17.letter-combinations-of-a-phone-number(电话号码的字母组合) 0ms通过
- error while loading shared libraries: libavformat.so.56
- 云函数隐藏c2服务器
- flv怎么转换成mp4格式?
- 原生js预览ofd文件,JavaScript
- BAPI_PO_CREATE1--单价增大10倍问题
- okGo框架的使用,下载列表显示
- Android:圆形头像
- uniapp ios原生插件开发 (framework,cocoapods)
- java webp文件转png,jpg
- djangoday18
- matlab画等势线,求助大牛MATLAB画三维等势面
热门文章
- ens天空盒_这句话是什么意思啊
- Linux物理内存较少导致OOM问题分析
- python打开word并在前台显示_Python办公自动化:自动打开word文档,你学到了吗?
- 微信或QQ屏蔽域名,爆红域名如何在微信打开,如何进行微信域名防封?
- 锁客+裂变,这套玩法你觉得怎么样
- 方兴未艾的CORBA
- 解决win7语言栏消失问题
- JavaCV音视频开发宝典:基于JavaCV实现wav音频直播服务,wav在线FM电台直播服务,无需流媒体服务,浏览器原生audio标签直接播放wav直播音频
- 帮我写一个无数爱心滑落的html
- 人工智能带来的岗位减少更多是重复性、机械性、门槛低的岗位