nn.Conv2d卷积

nn.Conv2d卷积学习 torch 框架中的卷积神经网络 对此进行记录一 nn Conv2dnn Conv2d self in channels out channels kernel size stride 1 padding 0 dilation 1 groups 1 bias True 参数 in channel 输入数据的通道数 例 RGB 图片通道数为 3 out channel 输

学习torch框架中的卷积神经网络,对此进行记录

一、nn.Conv1d

一维的卷积能处理多维数据

  1. nn.Conv2d(self, in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True))
    参数:
      in_channel: 输入数据的通道数,例RGB图片通道数为3;
      out_channel: 输出数据的通道数,这个根据模型调整;
      kennel_size: 卷积核大小,可以是int,或tuple;kennel_size=2,意味着卷积大小2, kennel_size=(2,3),意味着卷积在第一维度大小为2,在第二维度大小为3;
      stride:步长,默认为1,与kennel_size类似,stride=2,意味在所有维度步长为2, stride=(2,3),意味着在第一维度步长为2,意味着在第二维度步长为3;
      padding: 零填充












  2. 例子
import torch import torch.nn as nn import torch.nn.functional as F x = torch.randn(10, 16, 30, 32, 34) # batch, channel , height , width print(x.shape) class Net_1D(nn.Module): def __init__(self): super(Net_1D, self).__init__() self.layers = nn.Sequential( nn.Conv1d(in_channels=16, out_channels=16, kernel_size=(3, 2, 2), stride=(2, 2, 1), padding=[2,2,2]), nn.ReLU() ) def forward(self, x): output = self.layers(x) log_probs = F.log_softmax(output, dim=1) return log_probs n = Net_1D() # in_channel,out_channel,kennel, print(n) y = n(x) print(y.shape) 

结果:

torch.Size([10, 16, 30, 32, 34]) Net_1D( (layers): Sequential( (0): Conv1d(16, 16, kernel_size=(3, 2, 2), stride=(2, 2, 1), padding=[2, 2, 2]) (1): ReLU() ) ) torch.Size([10, 16, 16, 18, 37]) 
  1. 卷积计算
    d = (d – kennel_size + 2 * padding) / stride + 1
    x = ([10,16,30,32,34]),其中第一维度:30,第一维度,第二维度:32,第三维度:34,对于卷积核长分别是;对于步长分别是第一维度:2,第二维度:,2,第三维度:1;对于padding分别是:第一维度:2,第二维度:,2,第三维度:2;
    d1 = (30 – 3 + 22)/ 2 +1 = 31/2 +1 = 15+1 =16
    d2 = (32 – 2 + 2

    2)/ 2 +1 = 34/2 +1 = 17+1 =18
    d3 = (34 – 2 + 2*2)/ 1 +1 = 36/1 +1 = 36+1 =37
    batch = 10, out_channel = 16










故:y = [10, 16, 16, 18, 37]

二、nn.Conv2d

二维卷积可以处理二维数据

  1. nn.Conv2d(self, in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True))
    参数:
      in_channel: 输入数据的通道数,例RGB图片通道数为3;
      out_channel: 输出数据的通道数,这个根据模型调整;
      kennel_size: 卷积核大小,可以是int,或tuple;kennel_size=2,意味着卷积大小(2,2), kennel_size=(2,3),意味着卷积大小(2,3)即非正方形卷积
      stride:步长,默认为1,与kennel_size类似,stride=2,意味着步长上下左右扫描皆为2, stride=(2,3),左右扫描步长为2,上下为3;
      padding: 零填充












  2. 例子
    输入数据X[10,16,30,32],其分别代表:10组数据,通道数为16,高度为30,宽为32

import torch import torch.nn as nn x = torch.randn(10, 16, 30, 32) # batch, channel , height , width print(x.shape) m = nn.Conv2d(16, 33, (3, 2), (2,1)) # in_channel, out_channel ,kennel_size,stride print(m) y = m(x) print(y.shape) 

结果:

torch.Size([10, 16, 30, 32]) Conv2d(16, 33, kernel_size=(3, 2), stride=(2, 1)) torch.Size([10, 33, 14, 31]) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202415.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午7:11
下一篇 2026年3月20日 上午7:12


相关推荐

  • android思维导图软件推荐,好用的思维导图软件,安卓思维导图软件哪个好

    android思维导图软件推荐,好用的思维导图软件,安卓思维导图软件哪个好MindMaster 思维导图软件是一款新发布的手机 APP 它适合在安卓手机 iPhone 手机和 iPad 平板上使用 在本篇文章中 小编将会为你详细介绍这款软件的特点 打开 MindMaster 思维导图 APP 会发现界面底部布局着四个功能 最近浏览 云文件 导图社区 我的 除此以外还有一个显眼的符号 最近浏览 和 我的 功能大家一定很熟悉 那么下面就为你重点介绍其他三块功能 创作 云文件和导图

    2026年3月17日
    2
  • jdbc事物描述_jdbc获取表结构

    jdbc事物描述_jdbc获取表结构数据库事务数据一旦提交,就不可回滚那些操作会导致数据的自动提交?DDL操作一旦执行,都会自动提交-. set autocommit = false不起作用DML默认情况下,一旦执行就会自动提交-. 可以设置set autocommit = false关闭连接的时候会自动提交 Connection connection = DriverManager.getConnection(url, user, password); connection.setAutoCommit

    2022年8月8日
    11
  • Socket java.net.SocketException: Connection reset的解决方案[通俗易懂]

    Socket java.net.SocketException: Connection reset的解决方案[通俗易懂]背景:服务端通讯方式:TCP/IPsocket短链接。首先看下我的最开始的socket代码:publicstaticbyte[]sendMessage(Stringurl,intport,byte[]request,inttimeout){byte[]res=null;Socketsocket=n

    2022年7月13日
    34
  • python aic准则_使用AIC进行变量选择并评估多元回归中的标准

    python aic准则_使用AIC进行变量选择并评估多元回归中的标准#MultipleRegressionVariableSelectiondefmr(selection=False):importosos.chdir(r’C:\Users\Path’)importpandasaspdh=pd.read_csv(‘Dataset.csv’,index_col=0)#print(h.head(0))#dataset’svariablenamesyva…

    2022年5月23日
    64
  • android toast防重_如何解决android Toast重复显示

    android toast防重_如何解决android Toast重复显示Toast是一种简易的消息提示框,它无法获取焦点,按设置的时间来显示完以后会自动消失,一般用于帮助或提示。先给大家分享下我的解决思路:不用计算Toast的时间之类的,就是定义一个全局的成员变量Toast,这个Toast不为null的时候才去make,否则直接setText.为了按返回键后立即使Toast不再显示,重写父类Activity的onBackPressed()方法里面去cancel你的T…

    2025年11月7日
    8
  • goland2021.2.1激活破解破解方法

    goland2021.2.1激活破解破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    176

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号