首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Numba -无法确定<class 'builtin_function_or_method'>的Numba类型

Numba -无法确定<class 'builtin_function_or_method'>的Numba类型
EN

Stack Overflow用户
提问于 2020-11-21 04:18:29
回答 1查看 3K关注 0票数 1

我不知道该怎么做。考虑一下这句话:

代码语言:javascript
复制
this_size = numba.typed.Dict.empty(key_type=numba.types.float64, value_type=numba.types.float64)

我在@numba.jit(nopython = True)。我试着把这句话的价值加起来。但我得到了:

代码语言:javascript
复制
TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Untyped global name 'sum': cannot determine Numba type of <class 'builtin_function_or_method'>

File "trial.py", line 163:
def strat_1(bid_price, ask_price, deal_size, deal_price, posture, post_update, is_out, num_ticks, tick_size, point_value):
    <source elided>
                BBB[i] = sum(this_size.values())
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-21 08:20:39

看起来sum不在supported built-in functions的列表中(从Numba版本0.51.2开始)。现在,Numba支持一个不断增长但仍然相当有限的vanilla Python和NumPy子集。

Numba确实支持np.sum,尽管我不能说服它接受你的字典的值(它可能需要更多的修改)。我编译它的唯一方法是回退一个普通的for循环:

代码语言:javascript
复制
import numba
import numpy as np

this_size = numba.typed.Dict.empty(key_type=numba.types.float64, value_type=numba.types.float64)

@numba.njit
def my_sum(d):
  total = 0.0
  for val in d.values():
    total += val
  return total

print(my_sum(this_size))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64936311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档