加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

numba中零维数组的签名是什么

发布时间:2020-12-17 17:38:51 所属栏目:Python 来源:网络整理
导读:numba.jit()允许输入类型签名,但我无法弄清楚零维数组的签名是什么. 例如: numba.jit('void(float32,float32[:])') 表示函数返回为void,输入参数为float32标量和float32 1-D数组. 但是我想在0维数组中传递什么而不是标量.什么是类型签名?我尝试了明显的flo

numba.jit()允许输入类型签名,但我无法弄清楚零维数组的签名是什么.

例如:

numba.jit('void(float32,float32[:])')

表示函数返回为void,输入参数为float32标量和float32 1-D数组.

但是我想在0维数组中传递什么而不是标量.什么是类型签名?我尝试了明显的float32 [],但似乎没有用.

如果您想知道一个人如何在numpy中获取0-D数组,可以这样做:

a = numpy.array(2)

不同于

a = numpy.array([2])

后者是一维数组.

最佳答案
这是使用numba.types.Array的方法:

import numba as nb
import numpy as np

#        |---------0d int array---------|
@nb.njit(nb.types.Array(nb.int64,"C")())
def func():
    return np.array(2)

在这里,我使用了返回的值将是一个具有0个维的C连续int64数组.根据需要调整这些值.

以我的经验,在numba中很少有显式类型的函数的用例(请参见“Benefit and Limitations of Ahead-of-Time compilation”)-编译时间除外,或者在编译新函数时需要避免numba使用已经推断的类型的情况除外.因此,就我个人而言,我不会使用这些签名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读