随便聊聊torch.utils.tensorboard跟tensorboardX(待验证)

1. 前言

相信有一部分小伙伴在使用PyTorch时跟我一样,PyTorch可用的数据可视化工具TensorBoard有两种可用的方法,torch.utils.tensorboard和tensorboardX,他们之前到底有什么区别跟联系?为什么官方有TensoBoard的接口,还会有tensorboardX的存在呢?

这个小问题也困惑了我很久,不过我入门PyTorch比较晚,一直用的也都是官方的api,而不是tensorboardX,不过也相应地遇到过一些问题。今天就简单地聊下他们之间的缘分。

2. 分析

2.1 tensorboardX

先说tensorboardX吧。在PyTorch刚发布的那段时间,是不支持tensorboard这样强大的数据可视化工具的。没有方便易用的数据可视化多难受呀,需要自己写复杂的代码来实现,这就很麻烦,而别人却能用着tensorboard这样方便的可视化工具。于是乎,在这样难受的处境下,lanpa大佬(Github用户名)就开发了tensorboardX,一个完全支持PyTorch的tensorboard工具包,从而让PyTorch很好地调用tensorboard的数据可视化工具来监控神经网络训练的过程。

其实,tensorboardX的的使用与官方的tensorboard的使用并无差异,唯一的不同就是要在导入时用tensorboardX替代tensorboard (代码如下),只是tensorboardX就是为PyTorch精心打造的,解决了PyTorch早期在数据可视化功能上的不足。

# 官方tensorboard导入
from tensorboard import SummaryWriter

# tensorboardX导入
from tensorboardX import SummaryWriter

GitHub链接:lanpa/tensorboardX

2.2 torch.utils.tensorboard

PyTorch官方对tensorboard的支持是在PyTorch 1.1.0版本中实现的,具体的更新内容可看Official TensorBoard Support, Attributes, Dicts, Lists and User-defined types in JIT / TorchScript, Improved Distributed。tensorboard功能强大,用户多,这么好用,比visdom要强大一点,不如就合作一下吧。

torch.utils.tensorboard是PyTorch官方对tensorboard支持的接口,使用方面上也和官方的tensorboard没什么区别 (也基本仅在导入上不同),不过唯一要注意的就是要使用torch.utils.tensorboard必须在环境中安装官方的tensorboard的包 (即pip install tensorboard)。

导入方式:

from torch.utils.tensorboard import SummaryWriter

3. 结束语

总的来说,tensorboardX跟torch.utils.tensorboard在使用上是基本一样的,区别可能仅在于一个是大佬开发的,一个是PyTorch官方与TensoBoard合作的。

tensorboardX我没用过,是否与TensorFlow在同一环境下兼容我不太清楚,不过torch.utils.tensorboard就可能会有不兼容的问题 (在同一环境下同时有TensorFlow,PyTorch可能会导致torch.utils.tensorboard不可用,具体问题和相应的解决方法可阅读我之前的文章:AttributeError: module ‘tensorflow_core._api.v2.io.gfile’ has no attribute ‘get_filesystem’)。

就在上面这一点上,可能tensorboardX是第三方不依赖于TensorFlow的会有优势吧,不过我还是会倾向于torch.utils.tensorboard,因为它是官方与TensorBoard合作的,会随版本持续更新吧,具体使用见仁见智吧。

  • 29
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
import torch.utils.tensorboard as tensorboard是导入PyTorch中的tensorboard模块的方式。通过这个模块,我们可以使用TensorBoard工具来进行可视化。TensorBoard是TensorFlow中的可视化工具,后来也被集成到了PyTorch中,并且可以通过torch.utils.tensorboard来导入。 使用TensorBoard有一些基本步骤,例如创建SummaryWriter对象来保存日志和可视化数据,并使用该对象来写入数据到TensorBoard中。 还有一点需要注意的是,如果tensorboard和protobuf版本不一致,可以通过使用pip list命令来查看tensorboard和protobuf的版本,如果protobuf版本过高,可以考虑降级其版本。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pytorch框架学习(13)——可视化工具TensorBoard](https://download.csdn.net/download/weixin_38571449/14884863)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Pytorch基础 - 3. torch.utils.tensorboard](https://blog.csdn.net/Aaron_neil/article/details/130091388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [torch.utils.tensorboard protobuf error](https://blog.csdn.net/suzy419/article/details/129584865)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值