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报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://www.jb51.net/python/322193hq9.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|
|
|
发表于 2024-6-10 17:11:57
举报
回复
分享
|
|
|
|