热线电话:13121318867

登录
2019-03-14 阅读量: 740
numba函数中使用带有列表输入的np.min

使用np.min这里有什么问题?为什么numba不喜欢在该函数中使用列表,还有其他方法可以开始np.min工作吗?


from numba import njit
import numpy as np

def availarray(length):
out=np.ones(14)
if length>0:
out[0:np.min([int(length),14])]=0
return out

availarray(3)

功能正常,min但np.min应该更快......

解决办法:问题是numba版本np.min需要array输入。

更好的解决方案是使用numba版本的Pythons min:


from numba import njit
import numpy as np


def availarray(length):
out = np.ones(14)
if length > 0:
out[0:min(length, 14)] = 0
return out

由于这两个np.min并且min实际上是这些函数的Numba版本(至少在njitted函数中)min在这种情况下也应该快得多。然而,它不太可能引人注意,因为数组的分配和将一些元素设置为零将成为这里的主要运行时贡献者。

1.2614
4
关注作者
收藏
评论(0)

发表评论

暂无数据