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

 更新时间:2024年06月04日 11:20:43   作者:john_bh  
PyTorch使用tensorboard可以显示网络运行情况,但偶尔使用SummaryWriter时遇到Segmentation fault错误,这篇文章主要介绍了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报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 原来我一直安装 Python 库的姿势都不对呀

    原来我一直安装 Python 库的姿势都不对呀

    平常我都是直接执行 pip install 安装的第三方库,很多教程也是这么介绍的,一直以来我都认为这是标准的、正确的安装 Python 第三方库的姿势。下面小编给大家分享一篇教程,一起看看吧
    2019-11-11
  • Python中Continue语句的用法的举例详解

    Python中Continue语句的用法的举例详解

    这篇文章主要介绍了Python中Continue语句的用法的举例详解,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python实现一个简单三层神经网络的搭建及测试 代码解析

    Python实现一个简单三层神经网络的搭建及测试 代码解析

    一个完整的神经网络一般由三层构成:输入层,隐藏层(可以有多层)和输出层。本文所构建的神经网络隐藏层只有一层。一个神经网络主要由三部分构成(代码结构上):初始化,训练,和预测。,需要的朋友可以参考下面文章内容的具体内容
    2021-09-09
  • PyQt5每天必学之组合框

    PyQt5每天必学之组合框

    这篇文章主要为大家详细介绍了PyQt5每天必学之组合框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • python3 正则表达式基础廖雪峰

    python3 正则表达式基础廖雪峰

    正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的
    2020-03-03
  • 浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)

    浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)

    今天小编就为大家分享一篇浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python 包之 multiprocessing 多进程

    python 包之 multiprocessing 多进程

    这篇文章主要介绍了python 包之 multiprocessing 多进程,首先创建一个进程。实例化 Process 类创建一个进程对象、然后调用它的 start 方法即可生成一个子进程,下文更多相关资料,需要的朋友可以参考一下
    2022-04-04
  • 对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解

    对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解

    今天小编就为大家分享一篇对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python多线程和多进程关系详解

    python多线程和多进程关系详解

    在本篇文章里小编给大家整理的是一篇关于python多线程和多进程之间的联系的基础内容,有兴趣的朋友们可以学习下。
    2020-12-12
  • 一文详细聊一聊Python中的下划线“_”们

    一文详细聊一聊Python中的下划线“_”们

    Python中的下划线(_)有多种用途,包括特殊方法、内部变量、避免关键字冲突、名称修饰、临时变量和忽略变量等,这篇文章主要介绍了Python中的一些下划线“_”们,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-12-12

最新评论