草庐IT

cythonized

全部标签

python - Cython:对于类型化的内存 View ,我应该使用 np.float_t 而不是 double

关于cython中的内存View,如果我正在使用numpyfloat数组?然后我应该以同样的方式输入cdef吗?g.ctypedefnp.float64_tnp_float_t...@cython.profile(False)@cython.wraparound(False)@cython.boundscheck(False)cdefnp_float_tmean_1d(np_float_t[:]v)nogil:cdefunsignedintn=v.shape[0]cdefnp_float_tn_sum=0.cdefPy_ssize_tiforiinrange(n):n_sum+=v[i

python - 如何在具有通用浮点类型的cython中声明一个ndarray

如果它应该能够处理float和double,那么在cython中声明numpy数组的最佳方法是什么?我想内存View是不可能的,因为数据类型是至关重要的,但是对于ndarray有什么方法可以给它一个通用的float类型,它仍然会受益于cython的快速性?所以这是我通常会做的:defF(np.ndarrayA):A+=10我看到还有:defF(np.ndarray[np.float32_t,ndim=2]A):A+=10但这又会为该类型提供一个位大小。我还考虑过根据位大小(32或64)在函数内部创建内存View。任何想法都受到高度赞赏非常感谢您提供有关floating类型的提示。我试过

python - 如何在 Cython 中声明二维列表

我正在尝试编译这种代码:defmy_func(doublec,intm):cdefdoublef[m][m]f=[[cforxinrange(m)]foryinrange(m)]...引发:ErrorcompilingCythonfile:------------------------------------------------------------defgrow(doublealpha,doublebeta,doublegamma,intm,ints):cdefdoublef[m][m]^--------------------------------------------

python - pickle cython类

我必须保存和加载一个cython类实例。我的cython类是这个加上几个方法:importnumpyasnpcimportnumpyasnpcimportcythoncdefclassPerceptron_avg_my:cdefintwlen,freePoscdefnp.ndarrayw,wtot,wac,wtotc#np.ndarray[np.int32_t]cdefnp.ndarraywmean#np.ndarray[np.float32_t]cdefpublicdictfposdef__cinit__(self,np.int64_twlen=4*10**7):self.fpos=

Python Line_profiler 和 Cython 函数

所以我尝试使用line_profiler在我自己的python脚本中分析一个函数,因为我想要逐行计时。唯一的问题是该函数是Cython函数,并且line_profiler无法正常工作。在第一次运行时,它只是因错误而崩溃。然后我添加了!pythoncython:profile=Truecython:linetrace=Truecython:binding=True在我的脚本的顶部,现在它运行正常,除了时间和统计数据是空白的!有没有办法将line_profiler与Cythonized函数一起使用?我可以分析非Cythonized函数,但它比Cythonized慢得多,以至于我无法使用来自

python - 如何用 numpy 在 Cython 中表示 inf 或 -inf?

我正在用cython逐个元素地构建一个数组。我想在某些条目中存储常量np.inf(或-1*np.inf)。但是,这将需要返回Python以查找inf的开销。是否有与此常量等效的libc.math?或者其他一些可以轻松使用的值,相当于(-1*np.inf)并且可以在没有开销的情况下从Cython使用?EDIT例如,您有:cdefdoublevalue=0forkinxrange(...):#use-infhere--howtoavoidreferringtonp.infandcallingbacktopython?value=-1*np.inf 最佳答案

python - Cython:在没有 NumPy 数组的情况下创建内存 View ?

由于我发现内存View既方便又快速,因此我尽量避免在cython中创建NumPy数组并使用给定数组的View。但是,有时无法避免,不是更改现有数组而是创建一个新数组。在上层函数中这并不明显,但在通常被调用的子例程中却很明显。考虑以下功能#@cython.profile(False)@cython.boundscheck(False)@cython.wraparound(False)@cython.nonecheck(False)cdefdouble[:]vec_eq(double[:]v1,int[:]v2,intcond):'''Functionoutputcorrespondsto

python - Cython 编译错误,include_path 作为 cythonize 中的关键字

我有一个代码片段,叫做“test.pyx”:importnumpyasnpcimportnumpyasnpprint(np.arange(10))然后我写了两个setup.py来编译它们。第一个工作正常:fromdistutils.coreimportsetupfromdistutils.extensionimportExtensionfromCython.Buildimportcythonizeimportnumpyasnpextensions=[Extension('test',['test.pyx'],include_dirs=[np.get_include()]),]setup

python - 使用 Cython 传递 int 和 struct 包装 C 代码的最小示例

我在下面显示的代码有效,但我不确定原因。我正在使用:Mac操作系统10.8.5酿造Python2.7.5赛通0.20.2此代码主要取自thisvideotutorial和gitpage,但不幸的是,“开箱即用”对我不起作用。此包装的目标是通过Python提供对普通C函数的访问,该函数接受整数或整数结构并将它们相加。为此需要5个文件,如下所述:adder.c:两个加法器函数的C代码:add(标量输入)和pair_add(结构输入)adder.h:adder.c的头文件c_adder.pxd:一个cython头文件——本质上告诉cython要注意主头文件的哪些部分cy_adder.pyx:

python - 调试 Cython 时打印变量时出错

我正在尝试使用gdb调试一些Cython代码,这些代码包装了要从Python调用的C++代码。我按照documentation中的说明进行操作但是我在调​​试时遇到了一些与我的代码无关的错误。示例:(gdb)cyprintsome_variablePythonException'PyDictObjectPtr'objecthasnoattribute'items':ErroroccurredinPython:'PyDictObjectPtr'objecthasnoattribute'items'我有时也会收到这个(通常在第一个之后):PythonExceptionThereisnome