
TypeError: guvectorize() missing 1 required positional argument: 'signature'
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- starlight_2007 2023-01-07 00:35关注
numba.guvectorize函数一共有两个positional argument,即非默认的参数,分别是ftylist和signature。
ftylist要求传入一组数据类型,如[int32[:],int32[:]],列表长度应该与signature参数中的所有向量和标量的数量之和相等,即signature参数里有几个量,ftylist就要一一对应地传入它们的数据类型。
signature要求传入一组向量和一个标量和输出量。
图上的"(n)(m)(p)(p)()()->(m)"其实是signature参数的格式,但因为你没有指定在signature参数之前的ftylist参数,所以python识别你只传入了ftylist,没有传入signature。
解决这个问题,可以尝试在"(n)(m)(p)(p)()()->(m)"之前加上它们对应的数据类型,作为ftylist参数传入。这篇文章里有全面的数据类型介绍
numba基础应用本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录