宋向阳 发表于 2024-6-10 17:11:57

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)顺序导致的问题。参考链接: 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报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/python/322193hq9.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: PyTorch使用tensorboard的SummaryWriter报错问题解决方案