我试图以与过去在其他计算机上多次使用相同的方式运行TF对象检测API(相同的Dockerfile设置)。这次,当尝试调用model_main.py
时,返回的只是Segmentation fault (core dumped)
。
我走过model_main.py
,发现此段错误很早发生在from object_detection import model_lib
行中。我怎样才能弄清楚为什么会这样呢?我有这个核心转储文件,但是我不确定如何使用它来找出导致此段错误的更多信息。我正在使用的GPU /版本为:
Ubuntu 16.04
NVIDIA K80
CUDA 9.0
cuDNN 7.3.1
Python 3.6.7
Tensorflow 1.10
我还可以毫无问题地导入TensorFlow并运行我成功找到的基本测试:
import tensorflow as tf
with tf.device('/gpu:0'):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
with tf.Session() as sess:
print (sess.run(c))
任何建议都将不胜感激!
编辑: Sorta-kinda解决了。在model_lib.py
中,导致错误的行是from object_detection import eval_util
。如果我修改此文件以使该行是最后一个导入而不是第一个导入,则此段错误会消失。不知道为什么,所以如果有人知道我会对听真的很感兴趣。