当前位置: 首页> 教育> 幼教 > 神经网络—卷积层

神经网络—卷积层

时间:2025/7/8 16:38:26来源:https://blog.csdn.net/qq_37441377/article/details/141562981 浏览次数:0次

1.讲解 Conv2d

在这里插入图片描述

  • out_channels 参数为2时,会生成两个卷积核,分别与输入进行卷积。得到的两个输出为输出

新生成的卷积核和原来的卷积核不一定相同

在这里插入图片描述

  • in_channels (int) – Number of channels in the input image

  • out_channels (int) – Number of channels produced by the convolution

  • kernel_size (int or tuple) – Size of the convolving kernel

  • stride (int or tuple, optional) – Stride of the convolution. Default:1

  • padding (int, tuple or str, optional) – Padding added to all four
    sides of the input. Default: 0

2.代码实现

import torch
import torchvision
from torch import nn
from torch.nn import Conv2d
from torch.utils.data import DataLoaderdataset=torchvision.datasets.CIFAR10("../data",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader=DataLoader(dataset,batch_size=64)class Tudui(nn.Module):def __init__(self):super(Tudui,self).__init__()self.conv1=Conv2d(in_channels=3,out_channels=6,kernel_size=3,stride=1,padding=0)def forward(self,x):self.conv1(x)return  xtudui=Tudui()
print(tudui)

在这里插入图片描述

for data in dataloader:imgs,targets=dataoutput=tudui(imgs)print(output.shape)

在这里插入图片描述

tudui=Tudui()writer=SummaryWriter("./logs")
step=0for data in dataloader:imgs,targets=dataoutput=tudui(imgs)# print(output.shape)print(imgs.shape)print(output.shape)#torch.Size([64, 3, 32, 32])writer.add_images("input",imgs,step)#torch.Size([64, 6, 30, 30]) -> [xxx,3,30,30]output=torch.reshape(output,(-1,3,30,30))writer.add_images("output", output, step)step=step+1

在这里插入图片描述

注意:torch.Size([64, 3, 32, 32])与torch.Size([64, 6, 30, 30])

  • ①输出通道数从3增加到6,因为使用了6个卷积核。
  • ②宽度和高度的计算公式:
    (输入尺寸 - 卷积核大小 + 2 * 填充) / 步长 + 1
    将假设的值代入公式中:
    宽度:(32 - 3 + 2 * 0) / 1 + 1 = 30
    高度:(32 - 3 + 2 * 0) / 1 + 1 = 30

注意:reshape(output,(-1,3,30,30))

  • -1:这个值是一个占位符,表示新张量的第一个维度的大小应该自动计算,以保持元素总数不变。这意味着PyTorch会自动计算这个维度的大小,使得新的张量包含与原始张量相同数量的元素。
关键字:神经网络—卷积层

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: