如何链接到cython numpy

时间:2019-03-05 01:02:19

标签: python numpy scipy cython

我有一个使用READ_EXTERNAL_STORAGEEnvironment.getExternalStorageDirectory().getPath()来解决优化问题的应用程序。我通过pandas进行了cython设置,在我的模块中有:

cvxpy

运行程序时,我可以看到gcc正在编译代码。但是,当我使用pyximport.install(setup_args={'include_dirs': np.get_include()})进行优化时,结果如下:

cimport numpy as np
import numpy as np

如您所见,%prun是花费最多时间的函数,因此,如果可能的话,我想对此进行cythonize处理。它是 ncalls tottime percall cumtime percall filename:lineno(function) 13 95.403 7.339 95.627 7.356 decomp.py:270(eigh) 39 7.826 0.201 8.968 0.230 numeric.py:2319(within_tol) 13 5.756 0.443 5.756 0.443 {built-in method _ecos.csolve} 13 4.805 0.370 5.118 0.394 decomp.py:118(eig) 729 4.714 0.006 4.714 0.006 {built-in method _cvxcore.LinOp_set_dense_data} 1 2.398 2.398 138.383 138.383 <string>:1(<module>) 13 2.073 0.159 97.705 7.516 quad_form.py:147(decomp_quad) 91 1.140 0.013 1.140 0.013 {built-in method builtins.abs} 26 0.994 0.038 0.994 0.038 {method 'dot' of 'numpy.ndarray' objects} 1 0.571 0.571 4.045 4.045 {pandas._libs.reduction.reduce} 的一部分,我猜想我在使用decompy.py:eigh时应该已经编译了,但是由于它是在scipy中被调用的,所以我猜测它是在使用python版本而不是cython版本。我需要对cimport进行cythonize使其使用cython cvxpy吗?

0 个答案:

没有答案