wordpress怎么设置伪静态,北京网站优化快速排名,太原免费网站建设,app推广接单渠道**前置知识#xff1a;
1、nn.Conv2d和torch.nn.functional.conv2d的对比#xff1a; nn.Conv2d#xff08;能自主学习#xff0c;更新调整卷积核#xff09;
模块#xff1a;可以看作是一个“卷积层”#xff0c;用在神经网络里。定义一次#xff0c;用多次#xf… **前置知识
1、nn.Conv2d和torch.nn.functional.conv2d的对比 nn.Conv2d能自主学习更新调整卷积核
模块可以看作是一个“卷积层”用在神经网络里。定义一次用多次你只需设置好参数比如输入通道、输出通道、卷积核大小然后在每次前向传播时直接用它。自动管理这个模块会自动保存和更新卷积的权重参数你只需关注模型的整体结构。
torch.nn.functional.conv2d一次性使用卷积核的参数需要人为给好给全
函数可以想象成一个工具用来执行一次性的卷积操作。灵活使用每次使用时都要提供所有需要的参数比如输入数据、卷积核的权重和偏置。无状态这个函数不会保存卷积的参数所以你得自己管理这些。 2、self.conv_1 Conv2d(in_channels3, out_channels6, kernel_size3, stride1, padding0)
定义了一个卷积层输入为 3 通道的图像经过 3x3 的卷积核处理后输出 6 通道的特征图
in_channels3
输入通道数这里设置为 3表示输入的图像有 3 个通道例如 RGB 彩色图像。每个通道对应图像中的一种颜色。
out_channels6
输出通道数设置为 6表示该卷积层会输出 6 个通道的特征图。这意味着卷积层会学习到 6 种不同的特征。 kernel_size3
卷积核大小设置为 3表示卷积核的尺寸为 3x3 像素。卷积核在输入图像上滑动进行局部特征的提取。 stride1
步幅设置为 1表示卷积核每次滑动一个像素。步幅越小输出特征图的尺寸越大。 padding0
填充设置为 0表示不对输入图像进行填充。没有填充会使输出特征图的尺寸减小。 **代码
加载数据集——数据Loader处理——创建新神经网络模型继承nn.Module并重写方法——数据输入reshape成4维度张量——使用该模型进行计算——数据结果reshape成3通道——tensorboard记录
import torch
import torchvision
from torch.nn import Conv2d
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWritertest_settorchvision.datasets.CIFAR10(root./dataset,trainFalse,transformtorchvision.transforms.ToTensor(),downloadTrue)dataloaderDataLoader(test_set,batch_size64)class Xigua(nn.Module):def __init__(self):super().__init__()self.conv_1Conv2d(in_channels3,out_channels6,kernel_size3,stride1,padding0)def forward(self,input):outputself.conv_1(input)return outputxigua1Xigua()
print(xigua1)
#Xigua((conv_1): Conv2d(3, 6, kernel_size(3, 3), stride(1, 1)))writerSummaryWriter(logs1)
step0
for data in dataloader:imgs,targetsdataoutputxigua1(imgs)print(imgs.shape) #torch.Size([64, 3, 32, 32])print(output.shape) #torch.Size([64, 6, 30, 30])#需要reshape使其变为3通道才能使add_imgs生效torch.Size([64, 6, 30, 30])————torch.Size([***, 3, 30, 30])outputtorch.reshape(output,(-1,3,30,30)) #-1是一个占位符表示让pytorch自动计算该维度的大小writer.add_images(test_Conv2d,output,step,dataformatsNCHW)writer.add_images(start,imgs,step,dataformatsNCHW)stepstep1if step10:break
writer.close()# AssertionError: assert I.ndim 4 and I.shape[1] 3