问题标签 [cythonize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1762 浏览

python - 在 Cythonized 函数中将 `int *` 转换为 Python 或 Numpy 对象

(我认为这个问题可以很容易地由专家回答,而无需实际的复制粘贴工作示例,所以我没有花额外的时间在上面……)

我有一个 C++ 方法,它返回一个整数数组:

我为它的类创建了 Cython 的东西:

这些是我的 Python 包装器:

问题在于foo方法及其int*返回类型(我在此示例中未列出的其他方法工作得很好!)。它无法编译并给出以下错误:

当然,它显然不接受int *作为返回类型。我该如何解决这个问题?有没有一种简单的方法可以将它包装int *到一个 numpy 数组中(我更喜欢 numpy),或者应该如何处理?

我也不确定如何在这里处理内存,因为我正在读取大文件等。

0 投票
1 回答
93 浏览

python - 构建 Python 图像注册工具包的问题

我在构建 PIRT(Python 图像注册工具包库)时遇到问题。我使用 mercurial ( hg clone https://bitbucket.org/almarklein/pirt) 从 bitbucket 下载。但是当我尝试使用它来构建它时python setup.py,出现以下错误:

我已经安装了 Cython 和 visvis(通过 Anaconda),但构建仍然失败。

0 投票
1 回答
114 浏览

python - 在 python 中导入 PIRT(Python Image Registration Toolkit)时出错

所以,我已经安装了用于图像注册的 PIRT 包。但我无法在我的 python 中导入它。它显示了一些错误:

当我查看init .py 文件时,它显示错误的行是 import interp_ 和 import interpolation_。但是,这些文件存在于我从中导入它们的当前目录中。

现在我不明白为什么从 python 导入 pirt 不起作用。我正在使用 python 3.5

0 投票
0 回答
1269 浏览

python - 构建 sklearn 错误 cythonize 失败

给了我以下内容:

安装 cython 时:

0 投票
2 回答
3040 浏览

python - 如何并行执行 cython 文件编译?

我想cython并行执行文件编译。

因此,我查看了Cython.Build源文件,并找到了以下cythonize函数签名:

以下是关于 cythonizenthreads选项的评论:

所以我尝试在我的setup.py文件中使用这个选项,就像这样:

但我的.pyx文件仍然使用 1 个线程按顺序编译。

我不明白我在这里做错了什么以及如何使用选项并行nthreads执行编译?cythonize

0 投票
1 回答
716 浏览

python - 如何使用 pybrain 等外部 python 库在 cython 中编译我的 python 代码

我需要更高的性能来运行我的神经网络,所以我认为用 cython 构建它是个好主意。我正在构建这样的代码:

但它会构建我使用的外部 python 文件吗?就我而言,就像 pybrain、skimage 和 PIL。如果没有,如何强制 cython 构建它们。

0 投票
1 回答
619 浏览

python - Cython中的AES-NI内在函数?

有没有办法在 Cython 代码中使用 AES-NI 指令?

我能找到的最接近的是有人如何访问 SIMD 指令: https ://groups.google.com/forum/#!msg/cython-users/nTnyI7A6sMc/a6_GnOOsLuQJ

Python 线程中的 AES-NI 未得到回答: Python support for AES-NI

0 投票
0 回答
1277 浏览

parallel-processing - 在 Cython 中使用 numpy 数组数组与 nogil 并行

我想用 nogil 在 Cython 并行循环中分配 numpy 数组数组(将元素作为数组的数组)。我使用 dtype 作为对象,以便能够将 numpy 数组分配为数组元素。它在 Cython 中工作,无需并行化。但是通过使用并行,它给出了这个错误信息:

没有 gil 就不允许分配 Python 对象

我确实尝试了不同的方法在 cdef 中声明它,但它仍然无法正常工作。我不确定 Cython 并行化是否支持数组数组。如果是这样,声明类型和分配值的最佳方法是什么。

错误信息:

没有 gil 就不允许分配 Python 对象

错误信息:

“无法将类型 'double[:]' 分配给 'double'”

0 投票
1 回答
793 浏览

python - 如何在 setup.py 中使用 distutils 或 setuptools 使 cython 扩展可导入(无需在每次导入之前附加到 sys.path)?

我有 cython 扩展,我通过以下方式安装:

当我想导入这个包时,我需要使用以下命令将构建文件夹附加到路径:

安装中需要更改哪些模块才能将模块安装到 Linux 中并且无需附加到路径即可导入?

我也愿意使用 setuptools。

0 投票
1 回答
7057 浏览

python - Cython:致命错误:使用 numpy 找不到“numpy/arrayobject.h”文件

我正在尝试将我的 Ipython 笔记本代码移动到 python。但我有错误

,即使我在设置中包含了 numpy

我的 setup.py:

Trajectory.pyx 文件

我在 osX,Python 2.7.10 上运行

它还在错误之前给了我这个信息,希望这有助于识别问题:clang -fno-strict-aliasing -fno-common -dynamic -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer /SDKs/MacOSX10.11.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5 /Headers -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c Trajectory.c -o build/temp.macosx-10.11-x86_64-2.7/Trajectory.o

当我跑

我得到:

我查看目录,/numpy/arrayobject.h 在那里。所以我真的不知道为什么它说没有这样的文件