栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

最大池化代码举例————PyTorch

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

最大池化代码举例————PyTorch

哔哩大学的PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】
的P19讲讲述了神经网络的最大池化的使用。

最大池化的作用

就是减少训练的数据量。举个例子:视频有1080p和720p,输入图像就是一个1080p的视频,网卡的时候可以池化一下变成720p的,可以看而且文件变小了。

池化过程为

代码举例:

import torch

# 输入图像,tensor数据类型
import torchvision
from torch import nn
from torch.nn import MaxPool2d
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

dataset = torchvision.datasets.CIFAR10("../data", train=False, download=True, transform=torchvision.transforms.ToTensor())

dataloader = DataLoader(dataset, batch_size=64)
# 数据集可以用下边的这个注释掉的手动输入的矩阵,也可以是上边的dataset。
# 下边的矩阵就是图片中的例子。

# input = torch.tensor([[1, 2, 0, 3, 1],
#                       [0, 1, 2, 3, 1],
#                       [1, 2, 1, 0, 0],
#                       [5, 2, 3, 1, 1],
#                       [2, 1, 0, 1, 1]], dtype=torch.float32)
#
# input = torch.reshape(input, (-1, 1, 5, 5))# -1不知道是啥,一层网络所以1,5*5矩阵
# print(input.shape)

class Tudui(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()
        self.maxpool1 = MaxPool2d(kernel_size=3, ceil_mode=True)

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

tudui = Tudui()

writer = SummaryWriter("logs_maxpool")
step = 0

for data in dataloader:
    imgs, targets = data
    writer.add_images("input", imgs, step)
    output = tudui(imgs)
    writer.add_images("output", output, step)
    step = step + 1

writer.close()
# 代码看不懂可以看上几篇文章,都是一样的操作就没写详细的注释

在日志中查看结果如图:

查看日志的方法也是同上几篇文章,用tensorboard:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331135.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号