python - 当太多行传递给 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
解决方案
推荐阅读
- reactjs - Material-UI Expansion Panel not obeying controled expansion
- reactjs - Change HOC wrapper component with its own state to react hooks
- python - 将 CSV 文件记录与 Python Scrapy 输出数据进行比较
- javascript - fullcalendar 不显示 start_time 事件
- javascript - 从 Javascript 与 REST 客户端调用端点时来自 Spotify API 的不同响应
- java - JHipster 6.0.1 docker-compose 部署:Java 堆空间
- javascript - 如何将一个映射函数的迭代器作为参数传递给另一个函数
- html - IOS Safari:打开键盘并禁用正文滚动时不需要滚动
- php - 使用php通过http标头加载mp3文件时是否可以禁用mp3控件
- vhdl - 如何根据使用情况比较两个电路