本文介绍了如何在Numpy中实现ReLU功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想做一个简单的神经网络,我想使用ReLU函数.有人可以告诉我如何使用numpy实现该功能的线索.感谢您的宝贵时间!
I want to make a simple neural network and I wish to use the ReLU function. Can someone give me a clue of how can I implement the function using numpy.Thanks for your time!
推荐答案
有两种方法.
>>> 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]])
如果使用以下代码计时结果:
If timing the results with the following code:
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
所以乘法似乎是最快的.
So the multiplication seems to be the fastest.
这篇关于如何在Numpy中实现ReLU功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!