cython相关内容

jupyter笔记本中的cython

在 Jupyter Notebook 中加载 Cython 文件时出现错误.有什么想法吗? %load_ext Cython将 numpy 导入为 npcimport numpy 作为 np进口赛通 只是一个简单的错误信息: 文件“",第5行cimport numpy 作为 np^语法错误:无效语法 解决方案 阅读完docs -- 我使用了两个单独的单元格.第一个是: %load_ex ..
发布时间:2021-12-31 23:43:44 其他开发

尝试编译扩展类型时出现 CompileError

我正在尝试按照此教程进行操作使用 pyx、pxd 和 cimport 创建和使用扩展类型. 在终端编译 Cython 文件时,我收到一个错误,我不知道如何纠正: cdef class CythonClass: pyx文件中的错误行表示. 文件“/Library/Python/2.7/site-packages/Cython/Build/Dependencies.py",第1056行, ..
发布时间:2021-12-31 22:35:33 Python

cython:不允许超出主包的相对 cimport

我正在尝试在 cython 中使用显式相对导入.从 发行说明 看来,相对导入应该在 cython 0.23 之后工作,我在 python 3.5 中使用 0.23.4.但是我收到了这个奇怪的错误,我找不到很多引用.错误仅来自 cimport: driver.pyx:4:0: 不允许超出主包的相对 cimport 目录结构为: myProject/设置文件__init__.py测试/驱动程序 ..
发布时间:2021-12-31 22:33:39 Python

如何告诉 distutils 使用 gcc?

我想用 Cython 包装一个包含 C++ 和 OpenMP 代码的测试项目,并通过 setup.py 文件用 distutils 构建它.我的文件内容如下所示: from distutils.core 导入设置from distutils.extension 导入扩展从 Cython.Build 导入 cythonize从 Cython.Distutils 导入 build_ext模块 = [ ..
发布时间:2021-12-31 22:14:52 Python

验证编译扩展类型的兼容性,并将它们与 cdef 一起使用

常规问题: 为什么 Cython 编译中的其他错误指向特定的错误行,而这没有? 更新前: 由于难以编译扩展类型,如下面的“不会编译"链接中所述,人们认为 AssertionError 与扩展类型有关(在它们的实例化传输到主 pyx 文件之后). 来自这个论坛帖子的人说“如果你实际上想要扩展类型,并且想要在你的代码中声明它们的类型,你需要在 .pxd 文件中声明它们的 C 属 ..
发布时间:2021-12-31 22:13:54 Python

如何将 scipy.sparse CSR 矩阵正确传递给 cython 函数?

我需要将 scipy.sparse CSR 矩阵传递给 cython 函数.如何指定类型,就像 numpy 数组一样? 解决方案 这里有一个例子,说明如何使用 row 属性快速访问 coo_matrix 中的数据,col 和 data.该示例的目的只是展示如何声明数据类型和创建缓冲区(还添加编译器指令,这通常会给您带来相当大的提升)... #cython: boundscheck=Fal ..
发布时间:2021-12-31 12:28:46 Python

将 cython 函数与 cython 方法传递给 scipy.integrate

我正在尝试研究如何使用 cython 来加速涉及在我定义的类中完成的集成的计算.我试图更好地理解 cython 如何与用户定义的 python 类一起工作.我想详细了解为什么会出现下面描述的错误. 我在一个名为 ex.pyx 的文件中有以下 cython 代码 来自 libc.math cimport 日志来自 libc.math cimport sqrt导入 scipy.integra ..
发布时间:2021-12-31 12:07:43 Python

使用 Cython 和 C++ 进行项目组织

我想为我的 C++ 项目提供 Python 接口.从技术上讲,我决定使用 Cython 来包装 C++ 代码.随着时间的推移,整个项目旨在成为一个 Python 扩展模块,但起初,这是高度实验性的.渐渐地,C++ 类需要暴露给 Python. 我的问题是如何最好地组织文件和构建配置,以便 Cython 生成的和人工编写的 C++ 代码不会混合在一起,并且 Python 扩展模块与其他目标完全 ..
发布时间:2021-12-28 20:21:40 C/C++开发

提高 Pandas 合并性能

我特别没有 Pands Merge 的性能问题,正如其他帖子所暗示的那样,但我有一个类,其中有很多方法,可以对数据集进行大量合并. 班级有大约 10 个小组,大约有 15 个合并.虽然 groupby 非常快,但在 1.5 秒的总执行时间中,这 15 次合并调用大约需要 0.7 秒. 我想在这些合并调用中提高性能.因为我将有大约 4000 次迭代,因此在单次迭代中总共节省 0.5 秒将 ..
发布时间:2021-12-27 21:56:46 Python

Cython 代码可以编译成 dll 以便 C++ 应用程序可以调用它吗?

我有一个 C++ 程序,它具有某种插件结构:当程序启动时,它会在插件文件夹中寻找具有某些导出函数签名的 dll,例如: void InitPlugin(FuncTable* funcTable); 然后程序会调用dll中的函数进行初始化并将函数指针传递给dll.从那时起,dll 就可以与程序对话了. 我知道 Cython 允许您在 Python 中调用 C 函数,但我不确定我是否可以编写 ..
发布时间:2021-12-25 15:57:15 C/C++开发

几个 .pyx 的 Cython setup.py

我想更快地进行cythonize.一个 .pyx 的代码是 from distutils.core 导入设置从 Cython.Build 导入 cythonize设置(ext_modules = cythonize("MyFile.pyx")) 如果我想cythonize怎么办 几个扩展名为 .pyx 的文件,我会用它们的名字来称呼它们 文件夹中的所有 .pyx 文件 在这两 ..
发布时间:2021-12-23 18:16:10 Python

在 Cython 中生成随机数的规范方法

生成伪均匀随机数([0, 1) 中的双精度数)的最佳方法是: 跨平台(最好具有相同的样本序列) 线程安全(显式传递 prng 或在内部使用线程本地状态) 没有 GIL 锁 在 Cython 中很容易包装 3 年前有一个类似的帖子关于这一点,但很多答案并不符合所有标准.例如,drand48 是特定于 POSIX 的. 我所知道的似乎(但不确定)满足所有某些标准的唯一方法是: ..
发布时间:2021-12-21 16:04:33 其他开发

为类型化内存视图分配内存的推荐方法是什么?

关于类型化内存视图的 Cython 文档列出了三种分配给类型化内存视图: 来自原始 C 指针, 来自 np.ndarray 和 来自 cython.view.array. 假设我没有将数据从外部传入我的 cython 函数,而是想分配内存并将其作为 np.ndarray 返回,我选择了哪些选项?还假设该缓冲区的大小不是编译时常量,即我不能在堆栈上分配,但需要 malloc 选项 1 ..
发布时间:2021-12-21 09:50:58 Python

在 Windows x64 中运行 Cython - 致命错误 C1083:无法打开包含文件:'basetsd.h':没有这样的文件或目录

我一直在尝试在我的 Window 7 系统上安装 Cython for Python 2.7.特别是,我更喜欢 64 位的所有内容.(如果你想知道,我需要 Cython,因为 Cython 是我需要的另一个组件之一,用于一些专门的数值分析.而且 x64 是存储大型数据集的潜在优势.) 于是我从官网下载了x64 Python 2.7.从 Christoph Gohlke 获得 Cython.当 ..
发布时间:2021-12-08 12:43:10 Python

在 Cython 中调用点积和线性代数运算?

我正在尝试使用 Cython 的 numpy 中提供的点积、矩阵求逆和其他基本线性代数运算.numpy.linalg.inv(反演)、numpy.dot(点积)、X.t(矩阵/数组的转置)等函数.从 Cython 函数调用 numpy.* 有很大的开销,而该函数的其余部分是用 Cython 编写的,所以我想避免这种情况. 如果我假设用户安装了 numpy,有没有办法做这样的事情: #inc ..
发布时间:2021-12-08 09:30:45 Python