Pytorch——Conv2d、conv2d
Conv2d、conv2d是pytorch中进行卷积操作的2个类,虽然只是首字母大小写不同,使用起来方法也不一样,一个是类,一个是函数。
1 Conv2d
Conv2d是torch.nn中的类
1.1 初始化
CLASS
torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None)
参数说明
in_channels (int) – 输入图像通道
out_channels (int) – 输出图像通道,也就是用了多少层卷积核
kernel_size (int or tuple) – 卷积核大小
stride (int or tuple, optional) – 步长. Default: 1
padding (int, tuple or str, optional) – Padding 大小. Default: 0
padding_mode (string, optional) – 填充模式,默认填充0,
'zeros'
,'reflect'
,'replicate'
or'circular'
. Default:'zeros'
dilation (int or tuple, optional) – Spacing between kernel elements. Default: 1,一般不用管
groups (int, optional) – Number of blocked connections from input channels to output channels. Default: 1,一般不用管
bias (bool, optional) –是否添加偏值, Default:
True
样例
from torch.nn import Conv2d
conv1 = Conv2d(in_channels=3, out_channels=6, kernel_size=3, stride=1, padding=0)
print(conv1)
输出
Conv2d(3, 6, kernel_size=(3, 3), stride=(1, 1))
1.2 输入输出大小
- N:样本数
- C:通道数
- H:高
- W:宽
import torch
input = torch.randn(1, 3, 5, 5)
output = conv1(input)
print(input.shape)
print(output.shape)
输出
torch.Size([1, 3, 5, 5])
torch.Size([1, 6, 3, 3])
2 conv2d
conv2d是torch.nn.functional中的函数
2.1 代码格式
torch.nn.functional.conv2d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1)
参数说明
input –输入一个tensor
weight – 卷积核,也是一个tensor
bias – 偏值,tensor,大小是输出通道的大小. Default:
None
stride –步长. Default: 1
padding –{‘valid’, ‘same’},默认valid,,也可以是int数值
dilation – the spacing between kernel elements. Can be a single number or a tuple (dH, dW). Default: 1,不用管
groups – split input into groups, \text{in\_channels}in_channels should be divisible by the number of groups. Default: 1,不用管
2.2 输入输出大小
input = torch.tensor([[1, 2, 0, 3, 1],[0, 1, 3, 3, 1],[1, 2, 1, 0, 0],[5, 5, 3, 1, 4],[3, 1, 0, 4, 1]])kernel = torch.tensor([[1, 1, 1],[0, 2, 0],[2, 1, 0]])input = torch.reshape(input, (1, 1, 5, 5))
kernel = torch.reshape(kernel, (1, 1, 3, 3))print(input.shape)
print(kernel.shape)
输出
torch.Size([1, 1, 5, 5])
torch.Size([1, 1, 3, 3])
样例
import torch.nn.functional as F
output = F.conv2d(input, kernel, stride=1, padding=“same”)
print(output)
输出
tensor([[[[ 1, 3, 4, 10, 8],[ 5, 10, 12, 12, 6],[ 7, 18, 16, 16, 8],[11, 13, 9, 3, 4],[14, 13, 9, 7, 4]]]])
Pytorch——Conv2d、conv2d相关推荐
- PyTorch学习笔记(1)nn.Sequential、nn.Conv2d、nn.BatchNorm2d、nn.ReLU和nn.MaxPool2d
文章目录 一.nn.Sequential 二.nn.Conv2d 三.nn.BatchNorm2d 四.nn.ReLU 五.nn.MaxPool2d 一.nn.Sequential torch.nn. ...
- Pytorch的nn.Conv2d()详解
Pytorch的nn.Conv2d()详解 nn.Conv2d()的使用.形参与隐藏的权重参数 in_channels out_channels kernel_size stride = 1 padd ...
- Pytorch的nn.Conv2d()参数详解
nn.Conv2d()的使用.形参与隐藏的权重参数 二维卷积应该是最常用的卷积方式了,在Pytorch的nn模块中,封装了nn.Conv2d()类作为二维卷积的实现.使用方法和普通的类一样,先实例 ...
- Pytorch中nn.Conv2d数据计算模拟
Pytorch中nn.Conv2d数据计算模拟 最近在研究dgcnn网络的源码,其网络架构部分使用的是nn.Conv2d模块.在Pytorch的官方文档中,nn.Conv2d的输入数据为(B, Cin ...
- 【pytorch】nn.conv2d的使用
官方文档在这里. conv2d具体不做介绍了,本篇只做pytorch的API使用介绍. torch.nn.Conv2d(in_channels, out_channels, kernel_size, ...
- [十三]深度学习Pytorch-卷积层(1D/2D/3D卷积、卷积nn.Conv2d、转置卷积nn.ConvTranspose)
0. 往期内容 [一]深度学习Pytorch-张量定义与张量创建 [二]深度学习Pytorch-张量的操作:拼接.切分.索引和变换 [三]深度学习Pytorch-张量数学运算 [四]深度学习Pytor ...
- Pytorch填充、步幅及多通道输入输出的理论分析及代码实现
填充和步幅 卷积核带来的问题-输入形状不断减小 更大的卷积核可以更快的减小输出大小 形状从 n h ∗ n w n_h * n_w nh∗nw减少到 ( n h − k h + 1 ) ∗ ( n ...
- Jetson Nano目标检测手把手实战教程(pytorch训练、tensorrt推理,含完整代码和数据)
目录 一.概述 1.1 深度学习和边缘计算 1.2 Jetson Nano简介 二.深度学习环境安装 2.1 Pytorch框架 2.2 在Jetson Nano上安装Pytorch 三.算法原理 四 ...
- Jetson Nano v4.6.3:安装系统、U盘启动、安装SDK、安装PyTorch GPU、YOLOv5+DeepStream部署
一.写在前面 本教程为个人创作,截止发布日仅在CSDN平台刊登,转载请附本文链接. 本教程直接面向YOLOv5用户,提供四个文件供下载,简单说明如下表,详细说明和下载链接在文末. 文件名称 文件类型 ...
- pytorch笔记(四)nn.Conv1d、nn.Conv2d、nn.Conv3d
概念: nn.Conv1d:常用在文本 (B,C,L) (batch,channel,sequence_len) (批数量,通道数,句子长度) nn.Conv2d:常用在图像 (B,C,H,W) (b ...
最新文章
- 查看Hotspot源码,查看java各个版本源码的网站,如何查看jdk源码
- c++生成nurbs曲面文件_使用曲面细分丰富原始多边形
- 初学Java对某些问题的理解
- C++ sodoku solve数独算法(附完整源码)
- WebSocket笔记(一) 初步认识
- Python自定义包
- JPA基础(三):搭建JPA开发环境和全局事务介绍
- 数据结构之广义表的相关知识点
- Linux 学习笔记 (四)Ubuntu14.04 解决上网问题安装无线网卡驱动
- windows安全事件id汇总
- [RK3288][Android7.1]调试笔记 --- 内置高版本的APK编译User版本出错解决
- html图片有的不显示不出来的,css背景图片不显示有哪些原因?
- 免费升级win10系统方法
- 在vue中使用unity3D实现webGL将要呈现的效果
- Android流量统计
- 腾讯云php小程序,使用微信小程序和腾讯云实现直播功能
- 【老生谈算法】matlab实现EKF UKF PF三种算法对比源码——EKF UKF PF算法
- 最长递增子序列 java_最长递增子序列问题---动态规划
- Rails 中 scope
- 上海理工大学高校计算机补办,上海理工大学关于2017上海市高校计算机等级考试报考通知...