神经网络—卷积层

news/2024/9/19 1:19:08/ 标签: 神经网络, 深度学习, pytorch, python

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.代码实现

python">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)

在这里插入图片描述

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

在这里插入图片描述

python">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会自动计算这个维度的大小,使得新的张量包含与原始张量相同数量的元素。

http://www.ppmy.cn/news/1516769.html

相关文章

秋招突击——8/21——知识补充——计算机网络——cookie、session和token

文章目录 引言正文Cookie——客户端存储和管理Session——服务端存储和管理Token补充签名和加密的区别常见的加密算法和签名算法 面试题1、HTTP用户后续的操作,服务端如何知道属于同一个用户?如果服务端是一个集群机器怎么办?2、如果禁用了Co…

在线英语学习小程序App源码开发技术探讨

引言 随着信息技术的飞速发展和全球化进程的加快,英语学习已经成为越来越多人的日常需求。传统的纸质材料和课堂教学已经无法满足现代人灵活、高效的学习需求。因此,开发一款在线英语学习小程序App成为了一个热门话题。本文将从技术角度探讨在线英语学习…

Ruby遇上GUI:探索Ruby桌面应用开发的新天地

标题:Ruby遇上GUI:探索Ruby桌面应用开发的新天地 在编程语言的多彩世界中,Ruby以其简洁和优雅著称,常被用于Web开发。然而,Ruby的潜力远不止于此,它同样能够在桌面应用开发领域大放异彩。本文将带您深入了…

从安装Docker到打包迁移MySQL的完整指南

从安装Docker到打包迁移MySQL的完整指南 每一天过得充实,眼中无迷茫,心中无烦恼。日子就会充满希望,岁月就会洒满清欢。 这篇文章将带你从零开始,在CentOS服务器上安装Docker、使用Docker部署MySQL数据库,并打包和迁移…

云计算day30

1. 配置⼀主⼆从mysql57 1. mycat对mysql8不完全⽀持 2. mysql8主从问题不⼤ get_pub_key1 1. gtids事务复制 2. 删除/etc/my.cnf 3. 同步data⽂件需要先停⽤mysql服务,删除data⽬录中的 auto.cnf 4. gtid模式以及经典模式都需要锁表 flush tables with rea…

给房子“养老”,你准备好了吗?

文|琥珀食酒社 作者 | 积溪 真崩不住了啊 一觉醒来 朋友圈被房屋养老金刷屏了 有人说买房如买“爹”,真的好费钱 有的说咱自己的养老还没着落呢 未来还得给房子养老? 当然,这事已经被辟谣了 说公共账户不需要咱老百姓额外…

0x03 ShowDoc 文件上传漏洞(CNVD-2020-26585)复现

参考:ShowDoc文件上传漏洞(CNVD-2020-26585)_showdoc漏洞-CSDN博客 一、fofa 搜索使用该工具的网站 网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统 "S…

【Linux】第十六章 高级IO (五种IO模型+fcntl)

文章目录 五种 IO 模型异步IO 和 同步IO同步通信 和 异步通信同步通信 和 同步与互斥fcntl-设置非阻塞IO测试 IO主要分为两步: 第一步是等,即等待IO条件就绪。第二步是拷贝,也就是当IO条件就绪后将数据拷贝到内存或外设。 让IO变得高效&…

排序算法(冒泡、插入、选择、快排、归并)原理动画及Python、Java实现

排序算法(冒泡、插入、选择、快排、归并)原理动画及Python、Java实现 1 冒泡排序1.1 原理1.2 Python、Java实现 2 插入排序2.1 原理2.2 Python、Java实现 3 选择排序3.1 原理3.2 Python、Java实现 4 快速排序4.1 原理4.2 Python、Java实现 5 归并排序5.1…

【十四届蓝桥杯省赛C++试卷】

一、选择题 第一题 C 中, bool 类型的变量占用字节数为( )。 A 、 1 B 、 2 C 、 3 D 、 4 答案:A 解析:(C 中 bool 类型与 char 类型一样,都需要1 byte。一些其他类型的占用字节数&…

streeapptest 工具编译看 + 测试rk3568

首先来了解一下 stressappteset 网上的资料 压力测试不就是 内存的接口测试吗? 网上找了些资料,基本没有这个工具对于 磁盘网络的测试。 我的理解,压力测试应该指的就是 CPU内存的测试吧。 然后是 关于这个 软件的编译。 首先是下载 git c…

JavaScript(28)——正则表达式

定义正则表达式语法&#xff1a; const 变量名 /表达式/ 判断是否有符合规则的字符串&#xff1a; test()方法 用来查看正则表达式与指定的字符串是否匹配 语法&#xff1a; regObj.test(被检测的字符串) //返回布尔值 regObj.exec(字符串) //返回的是数组 <script>…

docker的部署及基本用法

目录​​​​​​​ 1 docker 介绍 1.1 什么是docker&#xff1f; 1.2 docker在企业中的应用场景 1.3 docker与虚拟化的对比 1.4 docker的优势 1.5 容器工作方式 2 部署docker 2.1 配置软件仓库 2.2 docker 安装 2.3 配置docker 镜像加速器 2.4 启动服务 2.5 激活内核网络选项…

每日刷力扣SQL题(五)

1164.指定日期的产品价格 一、方法&#xff1a;使用left join 和 ifnull 思路 本题的关键点在找到 2019-08-16 前所有有改动的产品及其最新价格和没有没有修改过价格的产品。 我们可以先找到所有的产品&#xff0c;再找到所有 2019-08-16 前有修改的产品和他们最新的价…

Vue3 pinia

1.简介 集中式状态&#xff08;数据&#xff09;管理 和vueX一样 2.安装pinia npm i pinia //引入 createApp用于创建应用 import {createApp} from vue; //引入 App 根组件 import App from ./App.vue;//引入pinia import {createPinia} from pinia;//创建一个应用 const…

PyTorch构建模型网络结构的6种方式

PyTorch提供了多种方式来构建模型的网络结构&#xff0c;我尝试总结一下&#xff0c;有如下6种常见方式&#xff08;可能还有我没注意到的&#xff0c;欢迎补充&#xff09;。我们平时写代码并不一定需要掌握全部方式&#xff0c;但是多了解一些&#xff0c;对于阅读理解别人的…

服务器主动推送的方法

目录 1.长轮询&#xff08;Long Polling&#xff09;2.WebSockets3.Server-Sent Events&#xff08;SSE&#xff09;4.HTTP2 Server Push 服务器如何主动推送数据 在传统的网络通信中&#xff0c;客户端&#xff08;如浏览器&#xff09;通常需要通过向服务器发起请求来获取数据…

快速判断一个项目是Spring MVC框架还是Spring Boot框架

1. 查看项目的启动类 Spring Boot: 通常有一个主类&#xff0c;包含 SpringBootApplication 注解&#xff0c;并且有一个 main 方法来启动应用程序。 SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Appli…

作业训练三编程题13. 导弹防御系统

【问题描述】 某国为了防御敌国的导弹袭击&#xff0c;开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷&#xff1a;虽然它的第一发炮弹能够到达任意的高度&#xff0c;但是以后每一发炮弹都不能高于前一发的高度。某天&#xff0c;雷达捕捉到敌国的导弹来袭&#xf…

python脚本请求数量达到上限,http请求重试问题例子解析

在使用Python的requests库进行HTTP请求时&#xff0c;可能会遇到请求数量达到上限&#xff0c;导致Max retries exceeded with URL的错误。这通常发生在网络连接不稳定、服务器限制请求次数、或请求参数设置错误的情况下。以下是一些解决该问题的策略&#xff1a; 增加重试次数…