Ben*_*Sam 9 installation segmentation-fault tensorflow
我是TensorFlow的新手.
我刚刚安装了TensorFlow并测试安装,我尝试了以下代码,一旦启动TF会话,我就会收到Segmentation fault(core dumped)错误.
bafhf@remote-server:~$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
/home/bafhf/anaconda3/envs/ismll/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
from ._conv import register_converters as _register_converters
>>> tf.Session()
2018-05-15 12:04:15.461361: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1349] Found device 0 with properties:
name: Tesla K80 major: 3 minor: 7 memoryClockRate(GHz): 0.8235
pciBusID: 0000:04:00.0
totalMemory: 11.17GiB freeMemory: 11.10GiB
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)
我的nvidia-smi是:
Tue May 15 12:12:26 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.30 Driver Version: 390.30 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K80 On | 00000000:04:00.0 Off | 0 |
| N/A 38C P8 26W / 149W | 0MiB / 11441MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla K80 On | 00000000:05:00.0 Off | 2 |
| N/A 31C P8 29W / 149W | 0MiB / 11441MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
而nvcc --version是:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
Run Code Online (Sandbox Code Playgroud)
此外GCC --version是:
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Run Code Online (Sandbox Code Playgroud)
以下是我的路径:
/home/bafhf/bin:/home/bafhf/.local/bin:/usr/local/cuda/bin:/usr/local/cuda/lib:/usr/local/cuda/extras/CUPTI/lib:/home/bafhf/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Run Code Online (Sandbox Code Playgroud)
和LD_LIBRARY_PATH:
/usr/local/cuda/bin:/usr/local/cuda/lib:/usr/local/cuda/extras/CUPTI/lib
Run Code Online (Sandbox Code Playgroud)
我在服务器上运行它,我没有root权限.我仍然按照官方网站上的说明安装了一切.
编辑:新观察:
似乎GPU正在为进程分配内存一秒钟,然后抛出核心分段转储错误:
Edit2:更改了tensorflow版本
我将tensorflow版本从v1.8降级到v1.5.问题仍然存在.
有没有办法解决或调试此问题?
如果您可以看到nvidia-smi输出,则第二个 GPU 的ECC代码为 2。无论 CUDA 版本或 TF 版本错误如何,此错误都会出现,并且通常作为段错误,有时CUDA_ERROR_ECC_UNCORRECTABLE
在堆栈跟踪中带有标志。
我从这篇文章中得到了这个结论:
“不可纠正的 ECC 错误”通常是指硬件故障。ECC 是纠错码,是一种检测和纠正 RAM 中存储的位错误的方法。杂散宇宙射线每隔很长一段时间就会破坏 RAM 中存储的一位,但“不可纠正的 ECC 错误”表明 RAM 存储中的多个位“错误” - 太多,ECC 无法恢复原始位值。
这可能意味着您的 GPU 设备内存中有一个坏的或边缘的 RAM 单元。
任何类型的边缘电路可能不会 100% 失效,但在大量使用和相关温度升高的压力下更有可能失效。
重新启动通常应该可以消除ECC错误。如果没有,似乎唯一的选择就是更改硬件。
CUDA_VISIBLE_DEVICES
环境变量。然后我请求重新启动Tesla-K80 服务器以检查重新启动是否可以解决此问题,他们花了一段时间,但服务器随后重新启动
现在问题不再存在,我可以为我的张量流实现运行这两张卡。
归档时间: |
|
查看次数: |
4172 次 |
最近记录: |