当前位置: 首页 > news >正文

Pytorch学习11_神经网络-卷积层

1.创建神经网络实例

import torch
import torchvision
from torch import nn
from torch.nn import Conv2d
from torch.utils.data import DataLoaderdataset=torchvision.datasets.CIFAR10("../dataset_cov2d",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader=DataLoader(dataset,batch_size=64)
class Xuexu(nn.Module):def __init__(self):super(Xuexu, 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 xxuexu=Xuexu()
print(xuexu)

2.观察输出

输出图像的形状信息,以便检查输入和输出的张量形状是否符合预期。在深度学习中,了解输入和输出的形状对于调试和确保网络结构正确连接非常重要

import torch
import torchvision
from torch import nn
from torch.nn import Conv2d
from torch.utils.data import DataLoader# 加载 CIFAR-10 数据集
from torch.utils.tensorboard import SummaryWriterdataset=torchvision.datasets.CIFAR10("../dataset_cov2d",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader=DataLoader(dataset,batch_size=64)# 创建数据加载器# 定义神经网络模型
class Xuexu(nn.Module):def __init__(self):super(Xuexu, self).__init__()# 定义卷积层self.conv1=Conv2d(in_channels=3,out_channels=6,kernel_size=3,stride=1,padding=0)def forward(self, x):x=self.conv1(x)return xxuexu=Xuexu()
# writer=SummaryWriter("./logs")
step=0
for data in dataloader:imgs,target=dataoutput=xuexu(imgs)print(f"imgs:{imgs.shape}")print(f"output:{output.shape}")# writer.add_images("input",imgs,step)# writer.add_images("output",output,step)# step+=1

3.修改输出

import torch
import torchvision
from torch import nn
from torch.nn import Conv2d
from torch.utils.data import DataLoader# 加载 CIFAR-10 数据集
from torch.utils.tensorboard import SummaryWriterdataset=torchvision.datasets.CIFAR10("../dataset_cov2d",train=False,transform=torchvision.transforms.ToTensor(),download=True)
dataloader=DataLoader(dataset,batch_size=64)# 创建数据加载器# 定义神经网络模型
class Xuexu(nn.Module):def __init__(self):super(Xuexu, self).__init__()# 定义卷积层self.conv1=Conv2d(in_channels=3,out_channels=6,kernel_size=3,stride=1,padding=0)def forward(self, x):x=self.conv1(x)# 调用卷积层,并将输出赋给 xreturn xxuexu=Xuexu()
writer=SummaryWriter("./logs")
step=0
for data in dataloader:imgs,target=dataoutput=xuexu(imgs)# print(f"imgs:{imgs.shape}")# print(f"output:{output.shape}")# imgs:torch.Size([64, 3, 32, 32])writer.add_images("input",imgs,step)# output: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+=1

终端运行

tensorboard --logdir="logs"

点击蓝色链接进入tensorboard网页

可以看到图片经过卷积之后得到的输出

参考

【PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】】 https://www.bilibili.com/video/BV1hE411t7RN/?p=18&share_source=copy_web&vd_source=be33b1553b08cc7b94afdd6c8a50dc5a

http://www.lryc.cn/news/368434.html

相关文章:

  • Qt实现程序单实例运行(只能运行1个进程)及QSharedMemory用法
  • HTTP协议分析实验:通过一次下载任务抓包分析
  • http网络服务器
  • 使用C++结合OpenCV进行图像处理与分类
  • 探索 Noisee AI 的奇妙世界与变现之旅
  • 【SCSS】use的详细使用规则
  • 数据结构(C):二叉树前中后序和层序详解及代码实现及深度刨析
  • Win11可以安装AutoCAD2007
  • C#操作MySQL从入门到精通(14)——汇总数据
  • 【设计模式深度剖析】【2】【行为型】【命令模式】| 以打开文件按钮、宏命令、图形移动与撤销为例加深理解
  • 【随手记】maplotlib.use函数设置图像的呈现方式
  • LLVM Cpu0 新后端 系列课程总结
  • 【云原生】Kubernetes----RBAC用户资源权限
  • ORA-01652 表空间不够解决方案
  • 亚马逊 AWS 视频转码功能、AWS Elemental MediaConvert 中创建和管理转码作业
  • RocketMQ可视化界面安装
  • 【ffmpeg】本地格式转换 mp4转wav||裁剪mp4
  • 基于Django+MySQL的智慧校园系统
  • Linux基础指令(一)
  • 三极管十大品牌
  • 需求记录(共享元素)
  • .Net 使用 MongoDB
  • 【TensorFlow深度学习】值函数估计:蒙特卡洛方法与TD学习
  • 成功解决ModuleNotFoundError: No module named ‘cv2’
  • 中国蚁剑 安装教程 2024年5月
  • Golang-分离式加载器(传参)AES加密
  • 速览三版HTTP的改进策略
  • window.open(“.html“,“_blank“) 执行是下载,并没有打开新窗口显示html
  • 【QT5.14.2】编译MQTT库example的时候报No such file or directory
  • 【数据结构】前缀树(字典树)汇总