(本文为转载文章!)
import numpy as np
x=np.array([1,-2,3,-1])
class Relu():
def __int__(self):
self.mask=None
def forward(self,x):
self.mask=(x<=0)
print('self.mask = ',self.mask)
out=x.copy()
print('out = ',out)
out[self.mask]=0 #根据mask中True的所有索引,把根据这个索引,把out中的对应元素置为0,这里mask=[1,3],所以out[1]置为0,out[3]也置为0
print('out = ',out)
print('out[self.mask]=',out[self.mask])
return out
def backward(self,dout):
dout[self.mask]=0
dx=dout
return dx
r1=Relu()
res=r1.forward(x)
print(res)
输出结果:
原理就是把True所在索引位置去out数组里面取出元素,比如这里mask中索引为True的是【1,3】,那么out[self.mask]就是取出out中索引为1和3的所有元素!
具体参考:🔗链接
版权:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45829204/article/details/120524923
————————————————
版权声明:本文为CSDN博主「易燃装置nice」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45829204/article/details/120524923