jjzjj

c++ - 从 python 使用 Opencv Cuda 函数

对于我的一个类(class)项目,我需要使用OpenCVsGPU库。我正在处理使用OpenCVpython的现有代码,我的工作是找到一种访问OpenCVCuda库的方法,因为目前没有可访问的Python绑定(bind)到OpenCV的各种CUDA模块。我现在非常需要的两个函数是cuda::warpPerspective和cv::cuda::DescriptorMatcher::knnMatch()。我尝试按照@ostrumvulpes在AccessingOpenCVCUDAFunctionsfromPython(NoPyCUDA)中的建议来实现warpPerspective它工作得很好

python - cpdef 和封装在 def 中的 cdef 有什么区别?

在Cython文档中有一个example他们给出了两种编写C/Python混合方法的方法。一个显式的,带有用于快速C访问的cdef和用于从Python访问的包装器def:cdefclassRectangle:cdefintx0,y0cdefintx1,y1def__init__(self,intx0,inty0,intx1,inty1):self.x0=x0;self.y0=y0;self.x1=x1;self.y1=y1cdefint_area(self):cdefintareaarea=(self.x1-self.x0)*(self.y1-self.y0)ifarea还有一个使用c

python - 如何控制 cython cdef 类的模块/名称?

我正在使用cython将C++库公开给python,方法是将所有包装器对象和函数放在内部模块_pydynd中,然后通过不同的python模块公开它们。我想控制出现在这些扩展类中的模块和类的名称,使其看起来像dynd.nd.array,例如,而不是_pydynd.w_array,这是包装类的内部名称。cython是否有执行此操作的机制?我希望找到类似于在编写定义时如何重命名C/C++函数的内容,但我的搜索结果一无所获。生成的C++代码应该不同,这里是tp_name行:staticPyTypeObject__pyx_type_7_pydynd_w_array={PyVarObject_HE

python - Cython 的功率谱

我正在尝试使用Cython优化我的代码。它正在做一个功率谱,而不是使用FFT,因为这是我们在类里面被告知要做的。我试过用Cython编写代码,但没有发现任何区别。这是我的代码#!/usr/bin/envpython#-*-coding:utf8-*-from__future__importdivisioncimportnumpyasnpimportnumpyasnpcimportcython@cython.boundscheck(False)defpower_spectrum(time,data,doublef_min,doublef_max,doubledf,w=1):cdefdou

python - Cython 可以加速对象迭代数组吗?

我想使用cython加速以下代码:classA(object):cdeffun(self):return3classB(object):cdeffun(self):return2deftest():cdefintx,y,i,s=0a=[[A(),B()],[B(),A()]]foriinxrange(1000):forxinxrange(2):foryinxrange(2):s+=a[x][y].fun()returns唯一想到的是这样的:deftest():cdefintx,y,i,s=0types=[[0,1],[1,0]]data=[[...],[...]]foriinxrang

python - 在 Cython 中共享扩展类型以进行静态类型化

我将Python类转换为.pyx文件中的扩展类型。我可以在另一个Cython模块中创建这个对象,但我不能用它做静态类型。这是我类(class)的一部分:cdefclassPatternTree:cdefpublicPatternTreepreviouscdefpublicPatternTreenextcdefpublicPatternTreeparentcdefpubliclistchildrencdefpublicinttypecdefpublicunicodenamecdefpublicdictattributescdefpubliclistcategoriescdefpublic

python - 如何使用 Cython 围绕 C 结构编写完整的 Python 包装器?

我正在使用Cython为Python的C库编写高级接口(interface)。我有一个扩展类型A,它使用指向更复杂的C上下文结构c_context的指针来初始化库。指针保存在A中。A也有一个def函数,它又创建了另一个扩展类型B,用库函数调用初始化另一个C结构。B中的后续库调用需要此结构。B需要来自A的c_context指针,它被我包装在扩展类型py_context中以便传递它从B到__cinit__:#lib.pxd(Clibrarydefinitions)cdefexternfrom"lib.h":ctypedefstructc_context:pass#filepy_contex

c++ - C 编译器错误 : cdefs. h 未找到

(回答了类似的问题,但没有一个真正适用于此)我有一block采用Fedora20和armv71架构(32位)的主板。我已经通过yum安装了所有需要的gcc库,例如gcc、g++、cmake、glibc,glibc-devel等(glibc-devel等同于Fedora中的libc6-dev-i386)。我正在尝试编译一个C项目,它在MACOS64位和Ubuntu64位上编译得很好,但是当我运行make:/usr/include/features.h:364:25:fatalerror:sys/cdefs.h:Nosuchfileordirectory#include当我检查/usr/i

c++ - C 编译器错误 : cdefs. h 未找到

(回答了类似的问题,但没有一个真正适用于此)我有一block采用Fedora20和armv71架构(32位)的主板。我已经通过yum安装了所有需要的gcc库,例如gcc、g++、cmake、glibc,glibc-devel等(glibc-devel等同于Fedora中的libc6-dev-i386)。我正在尝试编译一个C项目,它在MACOS64位和Ubuntu64位上编译得很好,但是当我运行make:/usr/include/features.h:364:25:fatalerror:sys/cdefs.h:Nosuchfileordirectory#include当我检查/usr/i

python - Numpy vs Cython 速度

我有一个分析代码,它使用numpy执行一些繁重的数值运算。只是为了好奇,尝试用cython编译它,只做很少的改动,然后我用循环重写了它的numpy部分。令我惊讶的是,基于循环的代码要快得多(8x)。我无法发布完整的代码,但我整理了一个非常简单的不相关计算,显示出类似的行为(尽管时间差异不是那么大):版本1(无cython)importnumpyasnpdef_process(array):rows=array.shape[0]cols=array.shape[1]out=np.zeros((rows,cols))forrowinrange(0,rows):out[row,:]=np.s
12