20 padding层+非线性激活函数

20 padding层+非线性激活函数

一、补充padding层

补充:padding层,主要是用0或常数填充,可以自己查看官方文档

二、非线性激活函数

1.Relu函数

  • Inplace:是否对原来的结果进行替换

一般采用为False,保留原始数据

  • 图像:

2.sigmoid函数

  • 输入:N表示batchsize

  • 图片

三、实验代码

1.relu函数

  • 代码
点击查看代码
'''RELU:小于0的部分返回0,大于0的部分返回本身的数值'''import torchfrom torch import nnfrom torch.nn import ReLU# 1.输入input=torch.tensor([[1,-0.2],                    [-1,3]])print(input)# 2.调整输入的形式input=torch.reshape(input,(-1,1,2,2))# -1:随机batchsize大小 1:channel 2 2:H Wprint(input.shape)# 3.模型定义class Tudui(nn.Module):    def __init__(self):        super(Tudui, self).__init__()        self.relu1=ReLU() #默认inplace为false    def forward(self,input):        output=self.relu1(input)        return output#4. 创建网络+使用网络tudui=Tudui()output=tudui(input)print(output)

2.sigmoid函数

  • 代码
点击查看代码
import torchimport torchvisionfrom torch import nnfrom torch.nn import ReLU, Sigmoidfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriter# 1.输入# 测试集test_data=torchvision.datasets.CIFAR10(root="./CIFAR10_dataset",transform=torchvision.transforms.ToTensor(),train=False,download=True)test_loader=DataLoader(dataset=test_data,batch_size=64)print(input)# 2.模型定义class Tudui(nn.Module):    def __init__(self):        super(Tudui, self).__init__()        self.sigmoid1=Sigmoid()    def forward(self,input):        output=self.sigmoid1(input)        return output# 3. 创建网络tudui=Tudui()# 4.使用网络writer=SummaryWriter('./logs_20_2')step=0for data in test_loader:    imgs,targetd=data    writer.add_images("input",imgs,global_step=step)    output=tudui(imgs)    writer.add_images("output",output,global_step=step)    step+=1writer.close()
  • 运行结果
tensorboard --logdir=logs_20_2 --host=127.0.0.1

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部