2019-03-04
阅读量:
822
在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在这种情况下也应该快得多。然而,它不太可能引人注意,因为数组的分配和将一些元素设置为零将成为这里的主要运行时贡献者。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论