python教程—如何在Numpy中实现ReLU函数-Python实用宝典

python教程—如何在Numpy中实现ReLU函数

我想做一个简单的神经网络,我希望使用ReLU函数。谁能告诉我如何使用numpy实现这个函数? 谢谢你的时间!

我想做一个简单的神经网络,我希望使用ReLU函数。谁能告诉我如何使用numpy实现这个函数?
谢谢你的时间!

回答

有几种方法。

    >>> x = np.random.random((3, 2)) - 0.5 >>> x array([[-0.00590765, 0.18932873], [-0.32396051, 0.25586596], [ 0.22358098, 0.02217555]]) >>> np.maximum(x, 0) array([[ 0. , 0.18932873], [ 0. , 0.25586596], [ 0.22358098, 0.02217555]]) >>> x * (x > 0) array([[-0. , 0.18932873], [-0. , 0.25586596], [ 0.22358098, 0.02217555]]) >>> (abs(x) + x) / 2 array([[ 0. , 0.18932873], [ 0. , 0.25586596], [ 0.22358098, 0.02217555]])

如果计时结果与以下代码:

    import numpy as np x = np.random.random((5000, 5000)) - 0.5 print("max method:") %timeit -n10 np.maximum(x, 0) print("multiplication method:") %timeit -n10 x * (x > 0) print("abs method:") %timeit -n10 (abs(x) + x) / 2

我们得到:

    max method: 10 loops, best of 3: 239 ms per loop multiplication method: 10 loops, best of 3: 145 ms per loop abs method: 10 loops, best of 3: 288 ms per loop

所以乘法似乎是最快的。

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
0

发表评论