【发布时间】:2017-10-19 17:54:32
【问题描述】:
假设我有 2 个班级,A 和 B,我已经 jitted,其中 B 有一个 A 的列表。这在 numba 中是否可能?
from numba import jitclass, deferred_type
from numba.types import string
spec = [('name', string)]
@jitclass(spec)
class A:
def __init__(self, name):
self.name = name
a_type = deferred_type()
a_type.define(A.class_type.instance_type)
spec2 = [('name', string), ('alist', a_type[:])]
@jitclass(spec2)
class B:
def __init__(self, name, alist):
self.name = name
self.alist = alist
当我运行它时,我收到以下错误:
python3: /opt/miniconda/conda-bld/llvmdev_1498055795382/work/llvm-4.0.0.src/lib/IR/DataLayout.cpp:638: unsigned int llvm::DataLayout::getAlignment(llvm::Type*, bool) const: Assertion `Ty->isSized() && "Cannot getTypeInfo() on a type that is unsized!"' failed.
Aborted (core dumped)
有什么办法可以解决这个错误吗?
【问题讨论】: