- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个类层次结构,我想通过使用 Numba jitclass 来加速我的代码。我已经测试了 @jitclass 的一些没有类继承的示例,它可以正常工作并加快代码速度。但是,如果我有类继承,则在编译期间会发生错误。下面是演示该问题的示例代码。如果有任何意见和建议,我将非常感激。现在对我来说,Numba 似乎不支持类继承,但我在文档中没有找到任何有关它的信息。代码示例:
import numpy as np
from numba import jitclass
from numba import int32, float32
spec = [
('n', int32),
('val', float32[:]),
]
@jitclass(spec)
class Parent(object):
def __init__(self, n):
self.n = n
self.val = np.zeros(n, dtype=np.float32)
spec = [
('incr', float32),
]
@jitclass(spec)
class Child(Parent):
def __init__(self, n):
Parent.__init__(self, n)
self.incr = 2.
def func(self):
for i in xrange(0, self.n):
self.val[i] += self.incr
return self.val
par = Parent(10)
chl = Child(10)
print chl.func()
我得到的错误是:
TypeError: cannot subclass from a jitclass
最佳答案
目前(从 0.28.1 开始),Numba 不支持从 jitclass
进行子类化/继承。文档中没有说明,但错误消息非常明确。我猜测将来某个时候会添加此功能,但目前它是一个限制。
关于python - Numba jitclass 和继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40123521/
我正在尝试创建一个类,它可以是 jitclass 的一部分,但具有一些本身是 jitclass 对象的属性。 例如,如果我有两个带有装饰器 @jitclass 的类,我希望在第三个类中实例化它们(组合
我需要创建一个 set 作为 jitclass 属性,并且它必须以空开头: import numba as nb @nb.jitclass([('foo', nb.types.Set(nb.f8))]
我正在尝试了解 @jitclass 装饰器如何与嵌套类一起工作。我写了两个虚拟类:fifi 和 totofifi 有一个 toto 属性。这两个类都有 @jitclass 装饰器,但编译失败。这是代码
如何复制 numba jitclass 实例(其变量是 numpy 标量和数组)? 除了创建一个新实例并在循环中复制所有变量之外,还有更好的方法吗?我还尝试了 copy.copy 和 copy.dee
我有一个类层次结构,我想通过使用 Numba jitclass 来加速我的代码。我已经测试了 @jitclass 的一些没有类继承的示例,它可以正常工作并加快代码速度。但是,如果我有类继承,则在编译期
我正在开发一个 jitclass,其中的方法之一可以接受 int、float 或 numpy.ndarray 的输入参数>。我需要能够确定参数是数组还是其他两种类型中的任何一种。我尝试使用 isins
我正在尝试使用 numba 来提升 scipy.integrate.odeint 的 python 性能。为此,我必须将 @nb.jit(nopython=True) 用于定义 ODE 系统的函数。但
我知道 numba 现在支持字符串,但找不到任何有关如何将字符串与 jitclass 一起使用的文档,并且无法弄清楚。 如何使用 jitclass 创建字符串属性? (这个 hack 是预字符串支持并
我正在模拟一个非常蹩脚的游戏,它基本上会计算玩家在游戏过程中收集的硬币和敌人的数量。该代码包含两个 jitclass:一个 player jitclass 和一个 game jitclass。 对于p
当我尝试导入以下 jitclass 时,我在字典上收到 KeyError: from numba import jitclass, float64 spec = [('n', float64),
TL;DR:用 @numba.jitclass 装饰类时特殊方法如 __add__不会出现在类的实例中,而其他方法则正常工作。为什么会出现这种情况? 考虑以下类声明: import numba as
尝试找出如何在使用 jitclass 时跳过类方法。 有一个相当大的递归模型(几乎是一个巨大的 for 循环),在给定路径相关计算的情况下,无法使用直接 Numpy 进行矢量化。 该类运行一系列 nu
当我调用使用 jitclass 的类中的函数时,我尝试返回一个字符串,但收到错误: numba.errors.InternalError: Failed at nopython (nopython m
我有一个简单的 Python 类: class Node(object): def __init__(self): self._left = self self
我正在尝试寻找如何将@jitclass 与枚举类一起使用。引用手册明确表示它们是 supported但我无法弄清楚,而且我在任何地方都找不到代码示例。 当我尝试运行时 from numba impor
所以我有一段时间没有关注 numba 的开发,但我发现了很多令人兴奋的东西,例如 @jitclass 和列表支持。 所以我想尝试一下,但是如果我尝试在 nopython block 中列出我的 jit
我在 numpy 的帮助下编写了以下代码,我想提高 numba 的性能。我不确定为什么它不起作用,因为我已经按照 numba 系统设置了所有变量。我正在尝试加快此代码的速度,因为我将来会处理大型数据集
考虑自由度类及其子粒子组: class dof(): def getVar(self): return self.var spec = [ ('var', float6
我正在尝试将一个小的多维数组插入到 numba jitclass 内的一个较大的数组中。小数组设置在由索引列表定义的大数组的特定位置。 下面的 MWE 显示了没有 numba 的问题 - 一切都按预期
尝试检查两个 jitclass 实例属性的身份,与普通的 python 类相比,我发现了这种奇怪的行为。 Numba jitclass 在其自身的实例属性身份检查中返回 False,普通 python
我是一名优秀的程序员,十分优秀!