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
相关推荐
自可乐几秒前
LangGraph从入门到精通:构建智能Agent的完整指南
人工智能·python·机器学习
m0_561359673 分钟前
使用Docker容器化你的Python应用
jvm·数据库·python
LCG米13 分钟前
基于PyTorch的TCN-GRU电力负荷预测:从多维数据预处理到Docker云端部署
pytorch·docker·gru
逻极23 分钟前
Moltbot 快速入门指南(2026年1月最新版)
python·ai·aigc·智能助手·clawdbot·molbot
AAD5558889929 分钟前
基于Deformable-DETR的植物叶片病害检测
python
Cemtery11630 分钟前
Day40 早停策略和模型权重的保存
人工智能·python·深度学习·机器学习
Jackson@ML32 分钟前
[Kimi重磅出击!]用Kimi Code智能高效开发Web应用程序指南
ide·python·kimi code
u01092727135 分钟前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
MaoziShan39 分钟前
[ICLR 2026] 一文读懂 AutoGEO:生成式搜索引擎优化(GEO)的自动化解决方案
人工智能·python·搜索引擎·语言模型·自然语言处理·内容运营·生成式搜索引擎