首页 文章
  • 5 votes
     answers
     views

    使用cython将项目从intel ubuntu交叉到arm

    我在我的ubuntu 16 x86_64上有简单的python cython项目(来自http://docs.cython.org/src/tutorial/cython_tutorial.html的hello world示例) . 我可以使用cython for x86_64构建这个项目 . 如何在不使用真正的armv7板/ cpu的情况下为armv7版本的ubuntu 15构建项目? 我有 a...
  • 2 votes
     answers
     views

    如何在Cython中阻止__Pyx_MemoryView_Len(__ pyx_v_a)Python交互

    我有一个简单的Cython函数,它获取内存视图的长度: cdef int get_length(int[:] a): return len(a) 我正在编译用 annotate=True 指令编译代码,让我看看Cython有哪些Python交互 . 生成的html包含此文本,用于 return len(a) 行: __pyx_t_1 = __Pyx_MemoryView_Len(__py...
  • 13 votes
     answers
     views

    Numba代码比纯python慢

    我一直在努力加快粒子滤波器的重采样计算 . 由于python有很多方法可以加速它,我虽然会尝试所有这些 . 不幸的是,numba版本非常慢 . 由于Numba应该加速,我认为这是我的错误 . 我尝试了4个不同的版本: Numba Python Numpy Cython 每个代码如下: import numpy as np import scipy as sp import nu...
  • 0 votes
     answers
     views

    错误:Dependency walker上至少有一个文件不是32位或64位Windows模块

    我通过 visual studio c++ 项目的 CMake 创建的ALL_BUILD的成功构建创建了 .pyd 文件 . 我在项目中使用了配置类型为.lib . 我通过anaconda提示安装 python3.6.4 . 我已经给出了.pyd文件存在的路径,我想在python shell中导入一些模块 . 但它显示错误 ImportError:DLL加载失败:%1不是有效的Win32应用程...
  • 12 votes
     answers
     views

    编译Cython扩展错误 - Pycharm IDE

    非零退出代码(1):_ pydevd_bundle / pydevd_cython.c:13:20:致命错误:Python.h:没有此类文件或目录编译终止 . 错误:命令'x86_64-linux-gnu-gcc'以退出状态1失败 请帮我解决尝试在PyCharm中安装Cython的错误 .
  • 2 votes
     answers
     views

    cython在winpython上工作得很好但在anaconda上却没有 - 链接问题

    我有一个在WinPython下运行并运行良好的Cython代码,但是当我从WinPython切换到Anaconda3时,我遇到了问题 . 我使用的是Python 3.4 测试代码是: # cython: boundscheck=False # cython: wraparound=False # cython: cdivision=True cimport cython cimport nump...
  • 3 votes
     answers
     views

    在OSX上构建Cython和gevent

    当我构建gevent时,我收到一个错误 Traceback (most recent call last): File "/usr/local/Cellar/python/2.7.1/bin/cython", line 7, in from Cython.Compiler.Main import main File "/usr/local/Cella...
  • 10 votes
     answers
     views

    如何在使用C扩展numpy时考虑列连续数组

    我有一个C函数来规范化日志空间中的数组行(这可以防止数字下溢) . 我的C函数的原型如下: void normalize_logspace_matrix(size_t nrow, size_t ncol, double* mat); 您可以看到它需要一个指向数组的指针并在适当的位置修改它 . C代码当然假设数据被保存为C连续数组,即行连续 . 我使用Cython(导入和 cdef extern...
  • 5 votes
     answers
     views

    将numpy数组转换为cython指针

    我有一个来自 cv2.imread 的numpy数组,所以 dtype = np.uint8 和 ndim = 3 . 我想将它转换为Cython unsigned int* 以与外部cpp库一起使用 . 我正在尝试 cdef unsigned int* buff = <unsigned int*>im.data 然而我收到错误 Python objects cannot be c...
  • 8 votes
     answers
     views

    如何在Cython中初始化固定大小的整数numpy数组?

    如何在Cython中创建 int 类型的空numpy数组?以下适用于double或float数组: # make array of size N of type float cdef np.ndarray[float, ndim=1] myarr = np.empty(N) # make array of size N of type int cdef np.ndarray[int, ndim=1...
  • 7 votes
     answers
     views

    在cython中声明numpy数组和c指针

    在我的代码中,我通常使用numpy数组来连接方法和类 . 优化我的程序的核心部分我使用cython与那些numpy数组的c指针 . 不幸的是,我目前正在声明阵列的方式很长 . 例如,假设我有一个方法应该返回一个numpy数组someArrayNumpy,但是在函数指针内部* someArrayPointers应该用于速度 . 这就是我通常声明的方式: cdef: numpy.ndarray...
  • 6 votes
     answers
     views

    将numpy数组传递给Cython

    我正在学习Cython . 我有将numpy数组传递给Cython的问题,并且不太了解发生了什么 . 你可以帮帮我吗? 我有两个简单的数组: a = np.array([1,2]) b = np.array([[1,4],[3,4]]) 我想计算它们的点积 . 在python / numpy一切正常: >>> np.dot(a,b) array([ 7, 12]) 我将代码翻...
  • 7 votes
     answers
     views

    性能比较Fortran,Numpy,Cython和Numexpr

    我有以下功能: def get_denom(n_comp,qs,x,cp,cs): ''' len(n_comp) = 1 # number of proteins len(cp) = n_comp # protein concentration len(qp) = n_comp # protein capacity len(x) = 3*n_comp + 1 # fit parameters l...
  • 1 votes
     answers
     views

    在Python文件Pycharm中导入Cython类

    如何在pycharm python文件中导入已编译的cython文件? 这是我的设置 . 从我的项目根目录,cython类是“/classes/knn.cpython-35m-x86_64-linux-gnu.so” . 我的python文件是“/classes/testing_cython_knn.py” . 我在“/ classes /”中有一个“__init __.py”文件... 但是,...
  • 1 votes
     answers
     views

    Cython:致命错误:找不到'numpy/arrayobject.h'文件,使用numpy

    我试图将我的Ipython笔记本代码移动到python . 但我有错误 fatal error: 'numpy/arrayobject.h' file not found #include "numpy/arrayobject.h" ,即使我在设置中包含了numpy 我的setup.py: from distutils.core import setup, Extension...
  • 1 votes
     answers
     views

    无法编译一个简单的Cython程序

    我正在开始一个Cython教程,可在以下位置获得:http://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.html但是,我无法编译.pyx文件: 我写了一个包含print(“Hello World”)的文件并将其保存在hello.pyx下 然后我制作了setup.py文件,其中包含: 来自distutils.core从...
  • 0 votes
     answers
     views

    获取SystemError:父模块''未加载,在尝试在Cython扩展中导入numpy时无法执行相对导入

    我在一个包里面有一个cython扩展,结构如下: packagename ├── MANIFEST.in ├── packagename │   ├── __init__.py │   ├── packagename.py │   ├── subpackage1 │   │   ├── __init__.py │   │   ├── subpackage1.py │   │   └── cytho...
  • 6 votes
     answers
     views

    内存泄漏调用cython函数与大numpy数组参数?

    我正在尝试编写调用以下cython函数test1的python代码,如下所示: def test1( np.ndarray[np.int32_t, ndim=2] ndk, np.ndarray[np.int32_t, ndim=2] nkw, np.ndarray[np.float64_t, ndim=2] phi): for _ in ...
  • 13 votes
     answers
     views

    Cython类型的记忆观点:它们到底是什么?

    Cython documentation很好地解释了它们允许的内容,如何声明它们以及如何使用它们 . 但是,我仍然不清楚他们到底是什么 . 例如,来自numpy数组的简单赋值如下: my_arr = np.empty(10, np.int32) cdef int [:] new_arr = my_arr 可以更快地访问/分配 my_arr . 幕后发生了什么? Numpy应该已经以连续的方式在...
  • 1 votes
     answers
     views

    numpy.asarray因cython memoryview而失败

    我使用numpy.asarray和一个我无法解释的memoryview对象遇到了一些奇怪的行为 . 这是一个在jupyter笔记本中使用cython magic的简短示例 - 我只是创建一个需要两个struct数组缓冲区并返回它们的函数 . 一个有两个int,另一个有long和int: cdef struct S1: int iGroup int iOrder cdef stru...
  • 2 votes
     answers
     views

    Cython指定固定长度字符串的numpy数组

    我有一个函数,我想使用Cython,涉及处理大量固定长度的字符串 . 对于标准的cython函数,我可以声明类似的数组: cpdef double[:] g(double[:] in_arr): cdef double[:] out_arr = np.zeros(in_arr.shape, dtype='float64') cdef i for i in range(le...
  • 1 votes
     answers
     views

    Cython中的内存视图数组

    在我之前的问题回答this回答的基础上,我想制作一些记忆视图 . 问题1 使用固定长度构建具有固定长度的2D存储器视图阵列,例如 mv1 = memoryview(b'1234') mv2 = memoryview(b'abcd') cdef const unsigned char[:,:] tmv = (mv1, mv2) 有了这个我得到: TypeError: a bytes-like ob...
  • 1 votes
     answers
     views

    Cython:将C缓冲区内存视图返回到Python

    我有一个Cython代码,定义了一个C缓冲区( c_buffer ): ctypedef struct my_struct_t: float x float y cdef class CMyClass: cdef my_struct_t c_buffer[1000] def get_array(self): return <my_struc...
  • 4 votes
     answers
     views

    cython memoryview比预期慢

    我已经开始在cython中使用memoryviews来访问numpy数组 . 他们拥有的各种优势之一是它们比旧的numpy缓冲支持快得多:http://docs.cython.org/src/userguide/memoryviews.html#comparison-to-the-old-buffer-support 但是,我有一个例子,旧的numpy缓冲支持比memoryviews快!怎么会这样...
  • 11 votes
     answers
     views

    Cython Memoryview作为返回值

    考虑这个虚拟的Cython代码: #!python #cython: boundscheck=False #cython: wraparound=False #cython: initializedcheck=False #cython: cdivision=True #cython: nonecheck=False import numpy as np # iterator function...
  • 3 votes
     answers
     views

    Cython通过阵列广播加速循环

    Summary: 你们太棒了......我的真实代码正常运行 . 我接受了JoshAdel的建议,即: 1)将所有ndarray更改为键入的内存视图2)手动展开所有numpy数组计算3)为索引使用静态定义的unsigned int 4)禁用boundscheck和wraparound 而且,非常感谢Veedrac的洞察力! Original post: 我知道python做这些代码真的很慢: im...
  • 0 votes
     answers
     views

    在cython中创建2D / 3D C数组

    谁能告诉我如何将在cython中创建的2D数组传递给cdef函数?我可以使用1D数组,但不能使用2D(或更高版本),让我说明一下情况: 这是我想在cython中重现的C代码: #include <stdio.h> void print_my_1Darray(); void print_my_2Darray(); int main(void){ int arr1D[] = ...
  • 1 votes
     answers
     views

    如何使用Python访问属于对象的动态C数组变量?

    我有一个带有变量的C类,它是一个动态数组 . 它非常简单,目前仅用于测试目的: class testClass { public: int *x; testClass(); ~testClass(); }; 变量 x 初始化为一些值,目前通过构造函数 . 我试图通过Cython为C类编写一个python包装器代码,可以访问 x . 我怎样才能做到这一点? 最好的办法...
  • 1 votes
     answers
     views

    Cython memoryview转置:Typeerror

    我正在尝试用python开发一个小的卷积神经网络框架 . 卷积节点的代码已经(慢慢地)工作,我想加快它的速度 . 热点是卷积滤波器在图像上移动的循环 . 我选择使用cython来加速这些循环 . 显而易见的小注释,所有局部变量的cdef和删除boundscheck,使我的运行时间几乎没有减少10% . 这对我来说很奇怪,基于我在网上看到的内容,cython应该已经能够发挥它的魔力 . 不幸的是,代...
  • 0 votes
     answers
     views

    类型化MemoryView的Cython性能不佳

    我正在尝试使用Cython加速一些纯Python代码 . 这是原始的Python代码: import numpy as np def image_to_mblocks(image_component): img_shape = np.shape(image_component) v_mblocks = img_shape[0] // 16 h_mblocks = img_s...

热门问题