首页 > 其他分享 >(神经网络和卷积入门)Pytorch小土堆跟练代码(第8天)

(神经网络和卷积入门)Pytorch小土堆跟练代码(第8天)

时间:2024-10-26 23:16:57浏览次数:3  
标签:卷积 import self torch step Pytorch output input 跟练

本系列为跟练小土堆每集代码,然后进入李宏毅机器学习教程

在系列中会敲完所有视频中代码,并且在注释详细写出感悟和易错点。

欢迎大家一起交流!

最前面的神经网络和卷积,可以移步我的另一个帖子

池化层

只提取一部分特征,可以大大的加快训练速度

最后输出类似于马赛克的效果

'池化层 nn.MaxPool2d'
import torch
import torchvision.datasets
from torch import nn
from torch.nn import MaxPool2d
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter

'''
kernel_size , 也是核
stride和步长一样,但是它的步长不是默认为1,是kernel_size
dilation , 空洞卷积,一般不设置
return_ , 一般不用
ceil_mode , true为ceil,floor向下取整,不允许有出界的部分;ceil向上取整,可以出界(地板和天花板)
'''

'这里有个shape,是可以写论文看的。是池化层的公式'

'目的是维持数据的维度,然后让特征的数据量减少,来增加训练的速度。比如说1080p变成360p'

dataset = torchvision.datasets.CIFAR10("data",train=False,download=True,transform=torchvision.transforms.ToTensor())
dataloader = DataLoader(dataset,batch_size=64)
# 此时引入了新的数据集,可以不用了
# 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))                 #这里也得变成四维张量
#

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       #到这里神经网络就建完了。初始化和forward

tudui = Tudui()
# output = tudui(input)
# print(output)
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

标签:卷积,import,self,torch,step,Pytorch,output,input,跟练
From: https://blog.csdn.net/2301_80060871/article/details/143261565

相关文章

  • 搞清楚这个老六的真面目!逐层‘剥开’人工智能中的卷积神经网络(CNN)
    第三章:超越基础——图像中的特征检测上一篇《揭开计算机视觉的神秘面纱,原来机器是这样“看图”的!》本篇序言:上一篇我们实现并训练了一个神经网络,成功让计算机“看懂”了图像。可以说,我们已经一只脚跨进了AI研发的大门。不过,虽然我们迈入了AI这个神秘的领域,实际上,我们还只是......
  • YoloV8改进策略:卷积篇|大感受野的小波卷积
    论文介绍论文背景:近年来,人们尝试增大卷积神经网络(CNNs)的核大小以模仿视觉转换器(ViTs)自注意力模块的全局感受野,但这种方法很快便达到了上限并饱和。论文提出了一种新的解决方案,即利用小波变换(WT)获得非常大的感受野。WTConv层:论文提出了一种新层,称为WTConv,该层使用WT来有效地......
  • 深入探索卷积神经网络(CNN):图像分类的利器
    深入探索卷积神经网络(CNN):图像分类的利器前言CNN的崛起:为何我们需要它?图像卷积:CNN的基石轮廓过滤器:捕捉边缘特征图像池化:降低维度的利器CNN的组成:卷积层、池化层与MLP的结合经典CNN模型:LeNet-5、AlexNet与VGG-16LeNet-5:CNN的先驱AlexNet:深度学习的里程碑VGG-16:标准化的典......
  • pytorch多维张量相乘
    示例:importtorchbox=torch.tensor([[[0.1000,0.2000,0.5000,0.3000],[0.6000,0.6000,0.9000,0.9000],[0.1000,0.1000,0.2000,0.2000]],[[0.1000,0.2000,0.5000,0.3000],[0.6000,0.6000,0.9000,0.9000],......
  • 基于BP译码的LDPC误码率matlab仿真,分析码长,码率,信道对译码性能的影响,对比卷积码,t
    1.算法仿真效果       本程序系统是《m基于BP译码的LDPC误码率matlab仿真,分析不同码长,码率,信道对译码性能的影响,对比卷积码,turbo码》的的升级。 升级前原文章链接 增加了更多的不同码长,不同码率,不同信道对LDPC译码性能的影响,并增加了BCH编译码的对比。 matl......
  • 基于BP译码的LDPC误码率matlab仿真,分析码长,码率,信道对译码性能的影响,对比卷积码,t
    1.算法仿真效果本程序系统是《m基于BP译码的LDPC误码率matlab仿真,分析不同码长,码率,信道对译码性能的影响,对比卷积码,turbo码》的的升级。升级前原文章链接增加了更多的不同码长,不同码率,不同信道对LDPC译码性能的影响,并增加了BCH编译码的对比。matlab2022a仿真结果如下(完整......
  • 基于贝叶斯优化卷积神经网络(Bayes-CNN)的多因子数据分类识别算法matlab仿真
    1.算法运行效果图预览(完整程序运行后无水印) 贝叶斯优化过程  贝叶斯优化后的CNN训练和识别结果 标准的CNN的识别结果 2.算法运行软件版本matlab2022a 3.部分核心程序(完整版代码包含详细中文注释和操作步骤视频)%使用贝叶斯优化算法确定最优的批......
  • conda安装cuda(11.8)+cudnn(8.9.2)+pytorch(2.0.0)
    目录1、从NVIDIA安装CUDA11.8.0正式开始的分界线(可以从这里开始看)2、下载cudnn3、下载pytorch4、检查1、从NVIDIA安装CUDA11.8.0在Cuda|Anaconda.org中找到你要下载的版本的指令(有错,但已解决,先往下看先不要动手,可以从目录跳转到正式开始的分界线) 但是......
  • (神经网络和卷积入门)Pytorch小土堆跟练代码(第7天)
    本系列为跟练小土堆每集代码,然后进入李宏毅机器学习教程。在系列中会敲完所有视频中代码,并且在注释详细写出感悟和易错点。欢迎大家一起交流!最前面的软件安装和环境配置部分,可以移步我的另一个帖子一、神经网络'主要在torch.nn里''首先学的是骨架container''Module,所......
  • pytorch中的permute()函数的原理
    permute的中文含义是:置换这个就已经解释了一半了。他的功能就是把一个多维张量的维度进行调换。对于一个2维张量来说,例如:a=torch.rand(2,3).那么代码a.permute(1,0)就相当于a.T对于一个三维张量来说,例如:a=torch.rand(2,3,4)代码a.permute(2,0,1)把最初的2,3,4维度,给调整成了......