PyTorch使用tensorboard的SummaryWriter报错

PyTorch使用tensorboard可以显示网络运行情况,但偶尔使用SummaryWriter时遇到Segmentation fault错误。

利用python3的faulthandler,可定位到出错的代码行,具体操作有两种方式如下:

(1) 在代码中写入faulthandler

bash 复制代码
import faulthandler
# 在import之后直接添加以下启用代码即可
faulthandler.enable()
# 后边正常写你的代码

(2)直接通过命令行来启用,运行时添加-X faulthandler参数即可:

bash 复制代码
python -X faulthandler your_script.py

错误代码:

bash 复制代码
import xxx
from torch.utils.tensorboard import SummaryWriter
import yyy

log_dir = './run_logs'
self.writer = SummaryWriter(log_dir)

报错如下:

bash 复制代码
 File "/opt/conda/lib/python3.7/site-packages/tensorboard/compat/__init__.py", line 45 in tf
  File "/opt/conda/lib/python3.7/site-packages/tensorboard/lazy.py", line 50 in load_once
  File "/opt/conda/lib/python3.7/site-packages/tensorboard/lazy.py", line 97 in wrapper
  File "/opt/conda/lib/python3.7/site-packages/tensorboard/lazy.py", line 65 in __getattr__
  File "/opt/conda/lib/python3.7/site-packages/tensorboard/summary/writer/event_file_writer.py", line 72 in __init__
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/tensorboard/writer.py",line 66 in __init__
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/tensorboard/writer.py",line 256 in _get_file_writer
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/tensorboard/writer.py", line 225 in __init__

经过查询,发现极有可能是导包(from torch.utils.tensorboard import SummaryWriter)顺序导致的问题。参考链接:TensorBoard The different order of import SummaryWriter may cause Segmentation fault

将from torch.utils.tensorboard import SummaryWriter顺序调前,可以顺利导包和实例化了。

bash 复制代码
import xxx
from torch.utils.tensorboard import SummaryWriter
import yyy

改为

bash 复制代码
from torch.utils.tensorboard import SummaryWriter
import xxx
import yyy
相关推荐
花月C13 分钟前
AI驱动的竞品分析多Agent协作系统设计理论
人工智能·python·ai·agent·ai编程
abcy07121322 分钟前
python InsecureClient 上传下载查看删除实例
python·hdfs
MATLAB代码顾问27 分钟前
Python NumPy数值计算核心指南
开发语言·python·numpy
FBI HackerHarry浩32 分钟前
修改Pycharm2023.2.5连接数据库创建的SQL文件保存的默认位置
python·pycharm
老徐聊GEO32 分钟前
AI搜索获客:亲测有效的实践案例分享
大数据·人工智能·python
HKkuaidou37 分钟前
基于深度学习的药用草本植物识别系统
pytorch·python·深度学习·resnet
码云骑士1 小时前
05-Python字典底层原理-Hash表与有序性的真相
开发语言·python·哈希算法
Cloud_Shy6181 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第六章 Item 44 - 47)
开发语言·人工智能·经验分享·笔记·python
mxlwd1681 小时前
movielen 100k lr模型训练过程
开发语言·python·机器学习
小森林之主1 小时前
深入正则表达式:核心语法与实战剖析
javascript·python·正则表达式·编程技巧·字符串处理