草庐IT

cythonized

全部标签

python - Cython - 将指向数组的指针转换为 Python 对象

好吧,我快吃完了,我可以尝尝了。在过去几周左右的时间里,我一直在尝试创建一个Python扩展,以通过Cython与用C++编写的库进行交互。在这里的人和几个friend的帮助下,我已经完成了98%的感觉。唯一剩下的就是:我这辈子都想不出如何将指向无符号短裤数组的指针转换为Python对象(最好是列表)。一点背景,我正在尝试与设置回调函数的库的一部分进行交互,我已经成功地完成了这个:globalcallbackfuncctypedefunsignedshortconst_ushort"constuint16_t"ctypedefvoid(*Function1)(const_ushort*

python - 在 Cython 和 NumPy 中包装 C 函数

我想从Python调用我的C函数,以便操作一些NumPy数组。函数是这样的:voidc_func(int*in_array,intn,int*out_array);结果在out_array中提供,其大小我事先知道(实际上不是我的函数)。我尝试在相应的.pyx文件中执行以下操作,以便能够将输入从NumPy数组传递给函数,并将结果存储在NumPy数组中:defpyfunc(np.ndarray[np.int32_t,ndim=1]in_array):n=len(in_array)out_array=np.zeros((512,),dtype=np.int32)mymodule.c_func

python - 在不获取 GIL 的情况下在 Cython 中分配中间多维数组

我正在尝试使用Cython并行化一项涉及生成中间多维数组的昂贵操作。以下非常简化的代码说明了我正在尝试做的事情:importnumpyasnpcimportcythoncimportnumpyasnpfromcython.parallelcimportprangefromlibc.stdlibcimportmalloc,free@cython.boundscheck(False)@cython.wraparound(False)defembarrasingly_parallel_example(char[:,:]A):cdefunsignedintm=A.shape[0]cdefuns

python - 使用 Cython 进行线分析内部函数

我使用thisanswer取得了相当大的成功分析我的Cython代码,但它似乎无法与嵌套函数一起正常工作。在thisnotebook您可以看到,当在嵌套函数上使用线分析器时,配置文件不会出现。有没有办法让它发挥作用? 最佳答案 tl,博士:这似乎是Cython的问题,有一种hackish方法可以解决问题但不可靠,您可以将它用于一次性案例,直到此问题得到解决*更改line_profiler来源:我不能100%确定它是否有效,您需要做的是downloadthesourceforline_profiler然后在python_trace_c

python - 使用 numpy 或 cython 进行高效的成对 DTW 计算

我正在尝试计算numpy数组中包含的多个时间序列之间的成对距离。请看下面的代码print(type(sales))print(sales.shape)(687,157)因此,sales包含687个长度为157的时间序列。使用pdist计算时间序列之间的DTW距离。importfastdtwimportscipy.spatial.distanceassddefmy_fastdtw(sales1,sales2):returnfastdtw.fastdtw(sales1,sales2)[0]distance_matrix=sd.pdist(sales,my_fastdtw)---编辑:尝试不

python - Cython 扩展类型是否支持类属性?

Python类可以具有类属性:classFoo(object):bar=4是否有用于在Cython扩展类型中定义类属性的类似构造?例如,当我尝试编译以下cython代码时cdefclassFoo:cdefintbarbar=4我收到此错误:thing.c:773:3:error:useofundeclaredidentifier'bar'bar=4;^1errorgenerated.error:command'cc'failedwithexitstatus1 最佳答案 简短的回答是肯定的和否定的。不,没有一种方便的语法习惯用法可以在

python - 将多个子模块折叠为一个 Cython 扩展

这个设置.py:fromdistutils.coreimportsetupfromdistutils.extensionimportExtensionfromCython.Buildimportcythonizeextensions=(Extension('myext',['myext/__init__.py','myext/algorithms/__init__.py','myext/algorithms/dumb.py','myext/algorithms/combine.py']))setup(name='myext',ext_modules=cythonize(extensio

python - 是否应该在 cython 中定义列表项类型?

如果我将python列表发送给cython函数进行迭代,我是否应该声明列表项的类型?另外,在cython中循环列表的最佳方法是什么?例如:#Cythonfunction,passedalistoffloatitemsdefcython_f(listexample_list):cdefintiforiinrange(len(example_list)):#Dostuff#butlistitemtypenotdefined?pass#Alternativeloopcdefjfloat#declarationoflistitemtypeforjinexample_list:#Dostuffp

python - 值错误 : ndarray is not C-contiguous in cython

我在cython中编写了以下函数来估计对数似然@cython.boundscheck(False)@cython.wraparound(False)deflikelihood(doublem,doublec,np.ndarray[np.double_t,ndim=1,mode='c']r_mpcnotNone,np.ndarray[np.double_t,ndim=1,mode='c']gtannotNone,np.ndarray[np.double_t,ndim=1,mode='c']gcrsnotNone,np.ndarray[np.double_t,ndim=1,mode='c'

python - Cython 中神奇的 libc.math.abs

cython如何设法从libc.math中cimportabsfromlibc.mathcimportabs如果不存在呢?>grepabsCython/Includes/libc/math.pxd我什至尝试删除该文件中的所有内容(我得到一个0长度的math.pxd)但它设法以某种方式在那里找到abs。更新这是我关于cython的第三个问题:在firstquestion我发现libcpp.complex写得不太正确,@axil在cythongithubrepo中提出了一个问题,然后用我的修复程序提出了一个拉取请求,替换了大约20%的complex.pyd行。因此,cython用户不时查看