蛋糕小茄 2023-01-06 22:41 采纳率: 33.3%
浏览 1011
已结题

TypeError: guvectorize() missing 1 required positional argument: 'signature'

TypeError: guvectorize() missing 1 required positional argument: 'signature'应该怎么解决呢

img

  • 写回答

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基础应用

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月15日
  • 已采纳回答 1月7日
  • 创建了问题 1月6日