Python Cython的Numpy断层
我有一个Cython程序,在压缩的Python Cython的Numpy断层,python,numpy,cython,Python,Numpy,Cython,我有一个Cython程序,在压缩的结构的内存视图中调用np.asarray()时最终崩溃。我可以使用%timeit使用相同的输入反复运行完全相同的函数,它最终会崩溃 当我从gdb运行它时,从\u buffer\u info\u new调用malloc时,崩溃总是一个错误。从内存视图看,什么会导致malloc崩溃 我使用的是Continuum的Anaconda发行版、Python 2.7.10、Cython 0.23.3和numpy 1.10.1,一个明显的解释是内存不足——可能是内存泄漏,在连续
结构的内存视图中调用np.asarray()
时最终崩溃。我可以使用%timeit
使用相同的输入反复运行完全相同的函数,它最终会崩溃
当我从gdb
运行它时,从\u buffer\u info\u new
调用malloc
时,崩溃总是一个错误。从内存视图看,什么会导致malloc
崩溃
我使用的是Continuum的Anaconda发行版、Python 2.7.10、Cython 0.23.3和numpy 1.10.1,一个明显的解释是内存不足——可能是内存泄漏,在连续的函数调用中消耗了所有可用内存。你需要展示你的代码,否则我们只能猜测。我希望我能。这是一个工作问题,我在制作一个玩具示例时遇到了一个问题。我通过将numpy数组大小过度分配为大于最大的潜在大小来“修复”这个错误。在这里,在黑暗中拍摄,但是如果您使用的是任何numpy C-API,则需要调用numpy.import\u array()
(在cimport numpy
之后)在Cython文件的顶部,或者您可以得到类似的segfault问题。C-API函数看起来类似于numpy.PyArray\u SimpleNewFromData()
。谢谢。我有numpy.import\u array()
。知道如何使用numpyarray\u SimpleNewFromData()
从memoryview初始化数组吗?