P19-21:池化层、非线性激活等其他层(Pytorch小土堆学习笔记)

池化

人话:在一个范围内(选中的kernel_size中)选择有代表的一个数来代表整个kernel_size,减少数据量

torch.nn里面的MaxPool2d  

stride:步长,默认值为kernel size的长度(卷积默认步长为1) 

dilation:偏移,见如下链接

 conv_arithmetic/README.md at master · vdumoulin/conv_arithmetic (github.com)

 ceil_model:取不到完整的时候是否保留

看例子:

import torch
import torchvision
from torch import nn
from torch.nn import MaxPool2d
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

dataset2 = torchvision.datasets.CIFAR10("dataset2",transform=torchvision.transforms.ToTensor(),download=True)
dataloader = DataLoader(dataset2,batch_size=20)
class qiqi(nn.Module):
    def __init__(self):
        super(qiqi, self).__init__()
        self.maxpool1 = MaxPool2d(kernel_size=3,ceil_mode=False)

    def forward(self,input):
        output=self.maxpool1(input)
        return output

qq=qiqi()
writer=SummaryWriter("nn_maxpool")
step=0
for data in dataloader:
    imgs,target=data
    writer.add_images("input",imgs,step)
    output = qq(imgs)
    writer.add_images("output",output,step)
    step=step+1
writer.close()

用tensorboard打开:

最大池化到这里就很清楚了

非线性激活

ReLU

inplace:是否对原来的进行替代

 

 

 下面拿sigmoid函数进行举例

import torch
import torchvision
from torch import nn
from torch.nn import Sigmoid
from torch.utils.tensorboard import SummaryWriter
from torch.utils.data import DataLoader

dataset2 = torchvision.datasets.CIFAR10("dataset2",transform=torchvision.transforms.ToTensor(),download=True)
dataloader = DataLoader(dataset2,batch_size=24)

class qiqi(nn.Module):
    def __init__(self):
        super(qiqi, self).__init__()
        self.sigmoid1 = Sigmoid()

    def forward(self,input):
        output = self.sigmoid1(input)
        return output

qq=qiqi()
writer = SummaryWriter("nn_sigmoid")
step=0
for data in dataloader:
    imgs,target = data
    writer.add_images("input",imgs,step)
    output=qq(imgs)
    writer.add_images("output",output,step)
    step=step+1

writer.close()

 

 至于使用sigmoid函数的意义,我在知乎上得到一个比较认同的答案:

线性层

bias:偏置,即线性层里面的b(kx+b)

 代码示例:

flatten和上面reshape展平的功能一样

 

 

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值