gpt4 book ai didi

python - 未实现错误 : range_state_int64 cannot be represented as a Numpy dtype

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:57 24 4
gpt4 key购买 nike

我正在尝试编写一个函数来初始化数组并在返回之前将其打乱。 将 numba 导入为 nb

@nb.jit(nopython=True, cache=True)
def test(x):
ind = np.array(range(len(x)))
np.random.shuffle(ind)
return ind

错误消息说我使用了不受支持的功能或数据类型:

NotImplementedError: range_state_int64 cannot be represented as a Numpy dtype

numba 是否支持 numpy.random.shuffle()?如何修改?谢谢!

最佳答案

这实际上与random.shuffle无关,因为numba supports the random module out of the box .

这里的问题是 numba cannot support the range object (因为它是一个 python 对象)当设置了 nopython 标志时。将 range 替换为 np.arange :

@nb.njit(cache=True)  # same as @nb.jit(nopython=True, ...)
def test(x):
ind = np.arange(len(x))
np.random.shuffle(ind)
return ind

test([1, 2, 3])
# array([1, 0, 2])

关于python - 未实现错误 : range_state_int64 cannot be represented as a Numpy dtype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56498210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com