PyTorch使用tensorboard的SummaryWriter报错Segmentation fault

PyTorch使用tensorboard可以显示网络运行情况,但偶尔使用SummaryWriter时遇到Segmentation fault错误。

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

log_dir = './run_logs'
self.writer = SummaryWriter(log_dir)

报错如下(不同的路径可能具体Stack trace不同,但都是同一个问题):

Segmentation fault: 11

Stack trace:
  [bt] (0) /home/user/.conda/envs/pytorch1.7/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x40c6b50) [0x7f2728400b50]
  [bt] (1) /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7f285b3e6f20]
  [bt] (2) /home/user/.conda/envs/pytorch1.7/lib/python3.6/site-packages/tensorflow/python/../libtensorflow_framework.so.2(scc_info_KernelDef_AttrConstraint_tensorflow_2fcore_2fframework_2fkernel_5fdef_2eproto+0) [0x7f26e0223400]

系统环境:

-------软硬件信息--------------------
电脑:thinkpad笔记本
操作系统:Ubuntu18.04系统
PyTorch版本:torch 1.7.0.dev20200626
Python版本:3.6.10
tensorflow版本:tensorflow-gpu 2.3.0
tensorboard版本:tensorboard  1.15.0
GCC版本:[GCC 7.3.0] on linux
-----------------------------------

经过查询,发现极有可能是导包(from torch.utils.tensorboard import SummaryWriter)顺序导致的问题。
PyTorch使用tensorboard的SummaryWriter报错Segmentation fault_第1张图片
经过调整,将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报错Segmentation fault_第2张图片

参考资料:
[1] [TensorBoard] The different order of import SummaryWriter may cause Segmentation fault #30651

你可能感兴趣的:(#,深度学习框架,python,tensorflow,tensorboard,pytorch)