一、ReLU 定义
输入是 batchsize,后面一个 * 表示不进行定义的意思,下面是使用时需要注意的,inplace 指的是替换,是否在原来的地方进行替换。
实例:
import torch
from torch import nn
from torch.nn import ReLU
input = torch.tensor([[1, -0.5],
[-1, 3]])
input = torch.reshape(input, (-1, 1, 2, 2))
print(input.shape)
class Tudui(nn.Module): # 第二步,引入父类中的自定义,跑完 init 方法
def __init__(self):
super(Tudui, self).__init__()
self.relu2 = ReLU()
def forward(self, input):
# inplace = False, 所以一定要返回 output
output2 = self.relu2(input) # 第四步,把输入的变量带进来算
return output2 # 第五步:得到输出值
tudui = Tudui() # 第一步:引用 class
output = tudui(input) # 第三步:输入变量
print(output) # 第六步 打印输出值
二、Sigmoid
网络中有非线性,才可以更好的拟合