【Pytorch】torch.nn.conv2d
这个函数和我们之前提到的【Pytorch】6.torch.nn.functional.conv2d的使用的作用相似,都是完成CV领域的卷积操作,这里就不在过多赘述
torch.nn.conv2d的使用
打开pytorch的官方文档,我们可以看到
torch.nn.conv2d
包含了若干参数
- in_channels:代表输入的通道数
- out_channels:代表输出的通道数
- kernel_size:代表卷积核的大小,既可以是
int
类型,也可以是tuple
元组类型,比如(2,5)
代表卷积核大小为两行五列 - stride:代表卷积每次的步长
- padding:代表输入层的边缘填充
- padding_mode:代表边缘填充的规则,默认为
用0填充
- dilation:代表膨胀,默认为1
我们也可以通过官方的这个链接link来对每个参数进行了解
具体的使用方法为
# With square kernels and equal stride
m = nn.Conv2d(16, 33, 3, stride=2)
# non-square kernels and unequal stride and with padding
m = nn.Conv2d(16, 33, (3, 5), stride=(2, 1), padding=(4, 2))
# non-square kernels and unequal stride and with padding and dilation
m = nn.Conv2d(16, 33, (3, 5), stride=(2, 1), padding=(4, 2), dilation=(3, 1))
input = torch.randn(20, 16, 50, 100)
output = m(input)
具体用例
import torch
import torchvision
from torch import nn
from torch.nn import Conv2d
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriterdataset = torchvision.datasets.CIFAR10(root='./dataset', transform=torchvision.transforms.ToTensor(), train=False,download=False)dataLoader = DataLoader(dataset, batch_size=64, shuffle=True)class Net(nn.Module):def __init__(self):super(Net, 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 xnet = Net()writer = SummaryWriter(log_dir='./logs')i = 0
for data in dataLoader:img, target = dataoutput = net.forward(img)# print(output.shape)writer.add_images('input', img, i)# -1是一个占位符,让Pytorch自动计算维度大小output = torch.reshape(output,(-1, 3, 30, 30))# 无法直接传入6通道,只能3通道writer.add_images("output", output, i)i = i + 1writer.close()
需要注意一下几点
- 再使用
TensorBoard
进行可视化时,需要使用writer.add_images
而不是writer.add_image
要加s
- 再使用
writer
进行可视化时,tensor
格式只支持3通道,如果是其他通道数,需要使用torch.reshape
来进行通道数转换
因为output上是64个图片为一组,通道数为6,所以转化为通道数为3的话,有64*2的图片
下面附上输入输出通道数与像素数的计算方法
相关文章:

【Pytorch】torch.nn.conv2d
这个函数和我们之前提到的【Pytorch】6.torch.nn.functional.conv2d的使用的作用相似,都是完成CV领域的卷积操作,这里就不在过多赘述 torch.nn.conv2d的使用 打开pytorch的官方文档,我们可以看到 torch.nn.conv2d包含了若干参数 in_channe…...

WPF之DataGird应用
1,DataGrid相关属性 GridLinesVisibility:DataGrid网格线是否显示或者显示的方式。HorizontalGridLinesBrush:水平网格线画刷。VerticalGridLinesBrush:垂直网格线画刷。HorizontalScrollBarVisibility:水平滚动条可见…...
linux内核debug(二)在线调试内核kdb/kgdb工具使用及环境搭建
目录 一、引言 二、kgdb调试 ------>2.1、kgdb板端配置 ------------>2.1.1、添加编译内核参数 ------------>2.1.2、配置 ------>2.2、kgdb本地调试环境搭建 ------------>2.2.1、串口工具 ------------>2.2.2、连接板端 ------>2.3、kgdb调试 …...

解决“电脑开机黑屏Explorer进程卡死“问题
今天,给台式机按电源键,进入windows系统时,发现电脑黑屏了,昨天还好好的,怎么今天电脑桌面进不去了?想起Windows XP、Windows 7、Windows 10 、Windows 11等系统,在使用多个文件拷贝时ÿ…...
阿里云学习笔记2
企业应用服务 域名以及DNS内容分发网络CDN云监控 1、使用数字证书管理服务申请证书时,需要选择加密算法,通过加密算法得到的密钥对可以保证在世界范围内是唯一的。阿里云SSL证书服务支持______、______和______三种加密算法,可根据不同证书…...

【回溯】1240. 铺瓷砖
本文涉及知识点 回溯 LeetCode1240. 铺瓷砖 你是一位施工队的工长,根据设计师的要求准备为一套设计风格独特的房子进行室内装修。 房子的客厅大小为 n x m,为保持极简的风格,需要使用尽可能少的 正方形 瓷砖来铺盖地面。 假设正方形瓷砖的…...

【Unity Shader入门精要 第7章】基础纹理(一)
1. 纹理映射 每一张纹理可以看作拥有一个属于自己的2D坐标空间,其横轴用U表示,纵轴用V表示,因此也称为UV坐标空间。 UV空间的坐标范围为[0,0]到[1,1],在Unity中,UV空间也是从左下到右上&#…...

el-checkbox选中后的值为id,组件显示为label中文
直接上代码 方法一 <el-checkbox v-for"item in list" :key"item.id" :label"item.id">{{中文}} </el-checkbox> 方法二 <el-checkbox-group class"flex_check" v-model"rkStatusList" v-for"item…...

03-数据结构(一)
链接:C# 数据结构_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1a541147Nk/?spm_id_from333.337.search-card.all.click&vd_source6eb7d966aa03ff5cb02b63725f651e68 链接:使用 C#.Net 学习掌握数据结构 (更新中)_哔哩哔哩_bilibili 一…...
MySQL问题记录-主机被锁问题
主机被锁问题 描述:"Host ‘113.109.111.217’ is blocked because of many connection errors 原因:同一个ip在短时间内产生太多中断的数据库连接而导致的阻塞; 超过mysql数据库max_connection_errors的最大值; 解决方法…...

用好 explain 妈妈再也不用担心我的 SQL 慢了
大家好,我是聪,一个乐于分享的小小程序员。在不久之前我写了一个慢 SQL 分析工具,可以用来分析 Java Mybatis 项目的 SQL 执行情况,其中刚好涉及到了 explain 的使用。感兴趣的可以了解一下。 Github 地址⭐:https://…...

【漏洞复现】泛微OA E-Cology SignatureDownLoad SQL注入漏洞
漏洞描述: 泛微OA E-Cology是一款面向中大型组织的数字化办公产品,它基于全新的设计理念和管理思想,旨在为中大型组织创建一个全新的高效协同办公环境。泛微OA E-Cology SignatureDownLoad存在SQL注入漏洞,允许攻击者非法访问和操…...

前端工程化,前端监控,工作流,部署,性能
开发规范 创建项目的时候,配置下 ESlint,stylelint, prettier, commitlint 等; ESLint 主要功能: ESLint 是一个静态代码检查工具,用于在 JavaScript 代码中识别和报告模式。它的目标是提供一个插件化的 …...
浅析Java贪心算法
浅析Java贪心算法 在计算机科学中,贪心算法(Greedy Algorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。贪心算法并不总是能够得到全…...

vue3.0(五) reactive全家桶
文章目录 1 reactive1.1 reactive的应用1.2 reactive的特点1.3 reactive的注意1.4 reactive的局限性 2 toRefs3 isReactive4 shallowReactive5 readonly5.1 readonly 详细信息5.2 readonly函数创建一个只读的响应式对象5.3 如何修改嵌套在只读响应式对象中的对象? 6 isReadonl…...

Selenium 自动化 —— 四种等待(wait)机制
更多关于Selenium的知识请访问CSND论坛“兰亭序咖啡”的专栏:专栏《Selenium 从入门到精通》 目录 目录 需要等待的场景 自己实现等待逻辑 Selenium 提供的三种等待机制 隐式等待(Implicit Waits) 隐式等待的优点 隐式等待的缺点 …...

每日两题 / 437. 路径总和 III 105. 从前序与中序遍历序列构造二叉树(LeetCode热题100)
437. 路径总和 III - 力扣(LeetCode) 前序遍历时,维护当前路径(根节点开始)的路径和,同时记录路径上每个节点的路径和 假设当前路径和为cur,那么ans 路径和(cur - target)的出现次数 /*** D…...

matlab使用2-基础绘图
matlab使用2-基础绘图 文章目录 matlab使用2-基础绘图1. 二维平面绘图2. 三维立体绘图3. 图形窗口的分割 1. 二维平面绘图 % 创建一些二维数据 x 0:0.01:10; % x轴的数据点,从0到10,间隔为0.01 y sin(x); % y轴的数据点,是x的正弦…...
嵌入式开发四大平台介绍
MCU(Micro Control Unit)四大平台介绍) 单片机优点:缺点:总结: DSP digital signal processingARM优点:缺点:总结 FPGA什么事FPGA(集成元件库)FPGA开发方法—…...

《Python编程从入门到实践》day28
# 昨日知识点回顾 安装Matplotlib 绘制简单的折线图 # 今日知识点学习 15.2.1 修改标签文字和线条粗细 # module backend_interagg has no attribute FigureCanvas. Did you mean: FigureCanvasAgg? # 解决办法:matplotlib切换图形界面显示终端TkAgg。 #…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...