TypeError: guvectorize() missing 1 required positional argument: 'signature'
时间: 2023-10-23 21:13:05 浏览: 293
10种JavaScript最常见的错误(小结)
这个错误通常是由于 `guvectorize()` 函数的参数不正确引起的。`guvectorize()` 函数需要至少两个参数,第一个参数是要向量化的函数,第二个参数是函数签名。
请确保你提供了正确的函数签名作为 `guvectorize()` 函数的第二个参数。签名应该指定输入和输出数组的数据类型和维度。例如,如果你要向量化的函数具有以下签名:
```python
def my_func(a: np.ndarray, b: np.ndarray) -> np.ndarray:
...
```
那么你应该将以下签名提供给 `guvectorize()` 函数:
```python
@guvectorize(['(n), (n) -> (n)'], target='cuda')
def my_func_gpu(a, b, out):
...
```
在这个例子中,签名 `'(n), (n) -> (n)'` 指定了两个输入数组 `a` 和 `b`,以及一个输出数组 `out`,它们都是一维的(即 `n` 是数组的长度),并且它们的数据类型相同。你也可以使用其他数据类型和数组维度来定义你的函数签名。
阅读全文