IT俱乐部 Python PyTorch使用tensorboard的SummaryWriter报错问题解决方案

PyTorch使用tensorboard的SummaryWriter报错问题解决方案

PyTorch使用tensorboard可以显示网络运行情况,但偶尔使用SummaryWriter时遇到Segmentation fault错误。
利用python3的faulthandler,可定位到出错的代码行,具体操作有两种方式如下:
(1) 在代码中写入faulthandler

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

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

python -X faulthandler your_script.py

错误代码:

import xxx
from torch.utils.tensorboard import SummaryWriter
import yyy
log_dir = './run_logs'
self.writer = SummaryWriter(log_dir)

报错如下:

 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顺序调前,可以顺利导包和实例化了。

import xxx
from torch.utils.tensorboard import SummaryWriter
import yyy

改为

from torch.utils.tensorboard import SummaryWriter
import xxx
import yyy

到此这篇关于PyTorch使用tensorboard的SummaryWriter报错的文章就介绍到这了,更多相关PyTorch SummaryWriter报错内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/code/python/11829.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部