【问题标题】:How do I define a numba class with ndarray arguments and/or output?如何使用 ndarray 参数和/或输出定义 numba 类?
【发布时间】:2013-10-01 14:33:09
【问题描述】:

我试过了:

import numpy as np
import numba

@numba.jit
class foo(object):
    @numba.void(numba.int32)
    def __init__(self, somenum):
        self.somenumarray = np.arange(somenum)

    @numba.jit('f8[:](f8[:])')
    def somemethod1(self, a):
        return self.somenumarray + a

使用@numba.double[:](numba.double[:]) 方法装饰器会导致错误。

【问题讨论】:

    标签: python numpy numba


    【解决方案1】:

    这可以使用numba.FunctionType来完成

    将 numpy 导入为 np 进口麻木 bar = numba.FunctionType(return_type=numba.f8[:], args=[numba.f8[:]]) @numba.jit 类 foo(对象): @numba.FunctionType(return_type=numba.void, args=[numba.int32]) def __init__(self, somenum): self.somenumarray = np.arange(somenum) @酒吧 def somemethod1(self, a): 返回 self.somenumarray + a

    您以后可以这样做:

    quux = foo(3) quux.somemethod1(np.arange(3))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多