numpy np.clip vs np.max限制下限值

d7v8vwbk  于 2023-04-21  发布在  其他
关注(0)|答案(1)|浏览(151)

假设我试图用numpy编码max(0, x)ReLU activation的公式),其中x是一个numpy数组。
我可以想到两个明显的实现:

  • np.clip(x, a_min=0, a_max=None)
  • numpy.maximum(0, x)

哪个是更好的选择,为什么?

bmvo0sr5

bmvo0sr51#

对于这个特定的应用程序,numpy.maximum应该更高效(您只需要clip执行的一个测试):

# setting up random example
a = np.random.randint(-100, 100, size=1_000_000)

%%timeit
np.maximum(0, x)
9.62 µs ± 833 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)

%%timeit
np.clip(x, a_min=0, a_max=None)
52.5 µs ± 9.92 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

相关问题