python创建一个relu激活函数的类并进行调用

本文通过对relu激活函数的剖析,学习类的创建与实例化,数组与列表的区别,copy函数的用法等知识,均在注释中有所提及:

import numpy as np
class ReLU:
    def __init__(self):
        self.mask = None

    def forward(self, x):
        r'''
        ReLU激活函数的前向传播。

        Parameter:
        - x: numpy.array, (B, d1, d2, ..., dk)

        Return:
        - y: numpy.array, (B, d1, d2, ..., dk)
        '''
        ########## Begin ##########
        self.mask = (x <= 0)#true=1,false=0
        # print(self.mask)
        out = x.copy() #out[0]=x,将另一个对象关联到这个对象的副本,关联到[0]的位置,也就是副本的位置
        out[self.mask] = 0
        return out#总是输出out[1]
        ########## End ##########
# print(ReLU(4))

# john=ReLU()
# john.out=4
# john.forward(john.out)
x= np.array([[-2, -1, 0], [1, 2 ,3 ]]).astype(np.float32)#把二维列表转化成数组,float32数位越高浮点数的精度越高

# x=([[-2, -1, 0], [1, 2, 3]])#'<=' not supported between instances of 'list' and 'int'

print(ReLU().forward(x))


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值