首页 > 解决方案 > 当太多行传递给 sess.run 时,Tensorflow SEGMENTATION FAULT

问题描述

model_path = './resources/models/mymodel'

with tf.Session(graph=tf.Graph()) as sess:
    tf.saved_model.loader.load(sess, [tf.saved_model.tag_constants.SERVING], model_path)

    graph = tf.get_default_graph()
    model = graph.get_tensor_by_name("output_tensor/Sigmoid:0")
    x = graph.get_tensor_by_name("input_tensor_input:0")

    classifications = sess.run(model, {x: cleaned_and_indexed})

如果cleaned_and_indexed长度为 71583,则运行良好,但如果我再添加一个,并使其长度为 71584,一旦命中sess.run,它会立即产生

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

我的第一个想法是数据行 #71584 有问题,所以我将其替换为行 #71583 的副本,问题仍然存在。

在 Apple 的崩溃报告中,也许值得注意的是:

Process:               Python [30782]
Path:                  /usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python
Identifier:            Python
Version:               3.6.5 (3.6.5)
Code Type:             X86-64 (Native)
Parent Process:        pycharm [55274]
Responsible:           Python [30782]
User ID:               501

Date/Time:             2018-07-10 17:02:14.462 -0700
OS Version:            Mac OS X 10.13.5 (17F77)
Report Version:        12
Anonymous UUID:        61953A77-7012-49DE-2E61-2FBE6698E543

Sleep/Wake UUID:       0E90DE9F-E57B-4AF4-A82F-17B0AB88C509

Time Awake Since Boot: 270000 seconds
Time Since Wake:       28000 seconds

System Integrity Protection: enabled

Crashed Thread:        9

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0xffffffffa256cdc0
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

VM Regions Near 0xffffffffa256cdc0:
--> shared memory          00007fffffe40000-00007fffffe41000 [    4K] r-x/r-x SM=SHM  

Thread 9 Crashed:
0   libsystem_platform.dylib        0x00007fff6396b02c _platform_memmove$VARIANT$Haswell + 268
1   _pywrap_tensorflow_internal.so  0x00000001052c22c1 int tensorflow::functor::HandleCopies<Eigen::QInt32, int, int, 10>(tensorflow::OpKernelContext*, tensorflow::TTypes<Eigen::QInt32, 3, long>::ConstTensor, tensorflow::TTypes<int, 1, long>::ConstFlat, int, tensorflow::TTypes<Eigen::QInt32, 3, long>::Tensor)::'lambda'(long long, long long)::operator()(long long, long long) const + 129
2   libtensorflow_framework.so      0x000000010e41c22c std::__1::__function::__func<tensorflow::thread::ThreadPool::Impl::ParallelFor(long long, long long, std::__1::function<void (long long, long long)>)::'lambda'(long, long), std::__1::allocator<tensorflow::thread::ThreadPool::Impl::ParallelFor(long long, long long, std::__1::function<void (long long, long long)>)::'lambda'(long, long)>, void (long, long)>::operator()(long&&, long&&) + 44
3   libtensorflow_framework.so      0x000000010e41c051 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 193
4   libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
5   libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
6   libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
7   libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
8   libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
9   libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
10  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
11  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
12  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
13  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
14  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
15  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
16  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
17  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
18  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
19  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
20  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
21  libtensorflow_framework.so      0x000000010e41c0a6 Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const + 278
22  libtensorflow_framework.so      0x000000010e41c16e std::__1::__function::__func<Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const::'lambda'(), std::__1::allocator<Eigen::ThreadPoolDevice::parallelFor(long, Eigen::TensorOpCost const&, std::__1::function<long (long)>, std::__1::function<void (long, long)>) const::'lambda'(long, long)::operator()(long, long) const::'lambda'()>, void ()>::operator()() + 46
23  libtensorflow_framework.so      0x000000010e41aee4 Eigen::NonBlockingThreadPoolTempl<tensorflow::thread::EigenEnvironment>::WorkerLoop(int) + 1876
24  libtensorflow_framework.so      0x000000010e41a694 std::__1::__function::__func<tensorflow::thread::EigenEnvironment::CreateThread(std::__1::function<void ()>)::'lambda'(), std::__1::allocator<tensorflow::thread::EigenEnvironment::CreateThread(std::__1::function<void ()>)::'lambda'()>, void ()>::operator()() + 52
25  libtensorflow_framework.so      0x000000010e43f6f0 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::function<void ()> > >(void*) + 96
26  libsystem_pthread.dylib         0x00007fff63971661 _pthread_body + 340
27  libsystem_pthread.dylib         0x00007fff6397150d _pthread_start + 377
28  libsystem_pthread.dylib         0x00007fff63970bf9 thread_start + 13

标签: pythontensorflow

解决方案


推荐阅读