深度学习(十)——神经网络:非线性激活

一、Padding Layers简介#

  • nn.ZeroPad2d:在输入的tensor数据类型周围用0进行填充

  • nn.ConstantPad2d:在输入的tensor数据类型周围用常数进行填充

这个函数的主要作用是对输入的图像进行填充,但里面所有功能都能用nn.Conv2d实现。

二、Non-linear Activations#

非线性激活主要作用是为神经网络引入一些非线性特质

1. nn.ReLU介绍#

Copy
class torch.nn.ReLU(inplace=False)

作用:

  • input0output=0

  • input>0output=input

计算公式:

ReLU(x)=(x)+=max(0,x)

inplace参数:

  • inplace=True,则会自动替换输入时的变量参数。如:input=-1,ReLU(input,implace=True),那么输出后,input=output=0

  • inplace=True,则不替换输入时的变量参数。如:input=-1,ReLU(input,implace=True),那么输出后,input=-1,output=0

2. nn.Sigmoid介绍#

Copy
class torch.nn.Sigmoid(*args, **kwargs)

计算公式:

Sigmiod(x)=σ(x)=11+exp(x)

三、代码栗子#

1. nn.ReLU函数#

Copy
import torch import torchvision from torch import nn from torch.nn import ReLU,Sigmoid from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter input=torch.tensor([[1,-0.5], [-1,3]]) output=torch.reshape(input,(-1,1,2,2)) #构建神经网络 class Demo(nn.Module): def __init__(self): super(Demo,self).__init__() self.relu1=ReLU() def forward(self,input): output=self.relu1(input) return output demo=Demo() output=demo(input) print(output) """ [Run] tensor([[1., 0.], [0., 3.]]) """

2. nn.Sigmoid函数#

Copy
import torch import torchvision from torch import nn from torch.nn import ReLU,Sigmoid from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter dataset=torchvision.datasets.CIFAR10("./dataset",train=False,download=True,transform=torchvision.transforms.ToTensor()) dataloder=DataLoader(dataset,batch_size=64) class Demo1(nn.Module): def __init__(self): super(Demo1,self).__init__() self.sigmoid=Sigmoid() def forward(self,input): output=self.sigmoid(input) return output demo1=Demo1() writer=SummaryWriter("logs_sigmoid") step=0 for data in dataloder: imgs,targets=data writer.add_images("input",imgs,global_step=step) output=demo1(imgs) writer.add_images("output",output,global_step=step) step+=1 writer.close()

输出结果:

3. 非线性变换的目的#

  • 非线性变换的目的是为神经网络引入一些非线性特征,使其训练出一些符合各种曲线或各种特征的模型。

  • 换句话来说,如果模型都是直线特征的话,它的泛化能力会不够好

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYO3e2vX' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片