【问题标题】:Numba jit() function signature for function returning jitclass用于返回 jitclass 的函数的 Numba jit() 函数签名
【发布时间】:2020-12-02 17:12:00
【问题描述】:

如果我定义一个 jitclass:

SPEC = [ ... ]
@jitclass
class Foo:
    ...

如何为返回类实例的 jit 函数指定类型签名。当我尝试时:

@jit("Foo(float32[:])")
def some_function(a: np.ndarray): ...

我得到NameError: name 'Foo' is not defined,即使它是在上面声明的。

【问题讨论】:

  • 根据doc,假设类型来自numba.types。有那么一瞬间,以为去掉引号是可行的,但问题是 python 将其视为对 jitclass 构造函数的调用,但失败了。

标签: python numba


【解决方案1】:

来自https://stackoverflow.com/a/49102638/435563

尝试以下方法:

@jit(Foo.class_type.instance_type(float32[:]))
def some_function(a: np.ndarray): ...

【讨论】:

    猜你喜欢
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2021-01-28
    • 2018-02-05
    • 2021-02-22
    • 2019-11-18
    • 2021-02-11
    相关资源
    最近更新 更多