深度强化学习中数据可视化及论文级绘图方法

Tensorboard数据可视化
Tensorboard是机器学习中最常用的可视化工具之一,它不但可以用于模型训练及测试中过程可视化,甚至可以直接用于论文的插图。充分发挥tensorboard的功能,可以事半功倍。

reference:
https://pytorch.org/docs/stable/tensorboard.html
https://zhuanlan.zhihu.com/p/103630393

Tensorboard数据导出与处理
tensorboard可以很好的对实验过程进行数据可视化,便于实验过程中的数据对比查看。但是只能将多次重复实验结果分别进行可视化,在数据对比中需要将多次重复实验处理,再与系列实验进行对比。额外的数据处理需要将数据进行导出,导出方法主要分为两种[1]:直接下载csv文件和直接解析event提取数据。
对读出的数据可以进行初步处理和可视化 [3]。

reference:
[1] https://www.jianshu.com/p/bdeca5e26cc4
[2] https://www.cxymm.net/article/weixin_40539826/111083471
[3] https://blog.csdn.net/weixin_38757163/article/details/116693900

wandb: 深度学习轻量级可视化工具
人工智能方向的项目,和数据可视化是紧密相连的。模型训练过程中梯度下降过程是什么样的?损失函数的走向如何?训练模型的准确度怎么变化的?清楚这些数据,对我们模型的优化至关重要。

reference:
[1] https://blog.csdn.net/qq_40507857/article/details/112791111
[2] https://wandb.ai/site

pandas数据读取与操作
使用数组或列表创建dataframe,对数据进行操作由宽数据转换为长数据。

Matplotlib画图

Seaborn论文级绘图
Seaborn是一个使用python画统计图表的库,在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图,同时它能高度兼容numpy与pandas数据结构以及scipy与statsmodels等统计模式[1,6]。

图表类型选择
没有一种通用最好的可视化方法,不同的问题需要不同的绘图方式。支持多种风格和颜色设置,可以进行关系曲线、统计估计、变量分布、回归分析等[2]。
强化学习中训练曲线则是各指标关于episode的函数,采用其中的关系曲线 [3, 4]。多组实验结果在一张图中进行对比时,为了减小曲线波动和提高简洁性,采用平滑处理[5]。
训练得到的策略的性能是各指标关于设置条件的分布,采用分类数据图(plots for categorical data)。在一张图中对比不同条件下指标的均值和标准差。

图格式设置
1)背景颜色
seaborn中默认的是窗格底色,而论文中一般采用白色,有两种方法可以更改背景颜色 [7],一种是使用seaborn.set()传递matplotlib模块中的参数来控制seaborn图的绘制,另外一种是通过seaborn.set_style()设置图的主题来稍微调整图形背景。
2)线宽
seaborn中曲线的宽度是偏细的,特别是单条曲线,官方文件中并未给出相应的参数设置,但是使用linewidth也是可以修改的 [8]。
3)字体及大小设置
字体大小可以通过seaborn.set() 函数中的 font_scale 参数整体放大,也可以使用 fontsize 参数指定字体大小 [9]。
4)设置坐标轴格式
设置坐标轴范围,刻度,位置,自定义刻度名称,添加数据标签 [10]。
5)设置图例
图例位置调整和排列方式设置 [11,12]。

图片保存[13]
1)图片格式
Matplotlib提供多种保存图片的格式,包括PNG、JPEG、EPS、SVG、PDF等。EPS和PDF文件格式更适合在印刷品中使用,在保持分辨率不变的情况下,可以无限缩放。
2)分辨率
默认情况下,Matplotlib使用100 dpi(dots per inch)的分辨率,这对于大多数应用程序来说已经足够了。但是,在一些应用场景下,比如印刷品,需要更高的分辨率。
3)尺寸
除了分辨率和文件格式之外,你还可以指定保存图片的尺寸。

reference:
[1] https://zhuanlan.zhihu.com/p/24464836
[2] https://zhuanlan.zhihu.com/p/342945532
[3] https://zhuanlan.zhihu.com/p/147847062
[4] https://zhuanlan.zhihu.com/p/75477750
[5] https://blog.csdn.net/qq_43280087/article/details/119894398
[6] https://seaborn.pydata.org/tutorial/introduction.html
[7] https://www.delftstack.com/zh/howto/seaborn/background-color-seaborn/
[8] https://www.coder.work/article/7665070
[9] https://zhuanlan.zhihu.com/p/437747308
[10] https://blog.csdn.net/HHG20171226/article/details/101294381
[11] https://blog.csdn.net/Wannna/article/details/102751689
[12] https://blog.csdn.net/weixin_38314865/article/details/115182900
[13] https://zhuanlan.zhihu.com/p/592141461
[14] https://geek-docs.com/seaborn/seaborn-top-tutorials/1001100_seaborn_introduction.html

多图绘制方法
直接绘制子图网格。

在latex或者word中拼图。

reference:
[1] https://geek-docs.com/seaborn/seaborn-top-tutorials/1016100_seaborn_pair_grid.html

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值