Numba JitClass使用含字符串类型的Record时运行报错的问题求助
Numba JitClass使用含字符串类型的Record时运行报错的问题求助
各位好,我最近在使用Numba的JitClass时碰到了个棘手的问题:我定义的Record类型里包含了字符串(bytes类型)字段v3,但运行代码时总会报错,试了好几种调整都没解决,特意来求助大家。
我的v3变量是字符串类型,下面这段代码无法正常执行,会抛出错误:
import numpy as np import pandas as pd from numba.experimental import jitclass from numba import types import os os.environ['NUMBA_VERBOSE'] = '1' # ----- BEGINNING OF THE MODIFIED PART ----- # recordType = types.Record([ ('v', {'type': types.int64, 'offset': 0, 'alignment': None, 'title': None}), ('v2', {'type': types.float64, 'offset': 8, 'alignment': None, 'title': None}), ('v3', {'type': types.bytes, 'offset': 16, 'alignment': None, 'title': None}) ], 32, False) spec = [ ('data', types.Array(recordType, 1, 'C', False)) ] # ----- END OF THE MODIFIED PART ----- # @jitclass(spec) class Test: def __init__(self, data): self.data = data def loop(self): v = self.data['v'] v2 = self.data['v2'] v3 = self.data['v3'] print("Inside loop:") print("v:", v) print("v2:", v2) print("v3:", v3)
我已经开启了NUMBA_VERBOSE日志来查看详细信息,但还是没搞明白问题出在哪。想请教下各位,是不是Numba的Record类型处理字符串有特殊规则?或者我的代码里哪里写错了?
备注:内容来源于stack exchange,提问作者tompal18
相关产品推荐
相关产品推荐

