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

探究nn.Linear和nn.Conv2d的基本用法

1问题

1.如何在pytorch中使用nn.Linear?

2.如何在pytorch环境中运用nn.Conv2d?

2 方法

1.首先在网上查询了关于nn.Linear的含义。PyTorch的nn.Linear()是用于设置网络中的全连接层的,需要注意在二维图像处理的任务中,全连接层的输入与输出一般都设置为二维张量,形状通常为[batch_size, size],不同于卷积层要求输入输出是四维张量。其中in_features指的是输入的二维张量的大小,即输入的[batch_size, size]中的size。out_features指的是输出的二维张量的大小,即输出的二维张量的形状为[batch_size,output_size],当然,它也代表了该全连接层的神经元个数。
从输入输出的张量的shape角度来理解,相当于一个输入为[batch_size, in_features]的张量变换成了[batch_size, out_features]的输出张量。

  1. Conv2d是用来实现2d卷积操作的,其中:

in_channels 表示输入的channels数

out_channels 表示输出的channels数,

kernel_size 表示卷积核的尺寸,可以是方形卷积核、也可以不是,下边example可以看到

stride 表示 步长,用来控制卷积核移动间隔

padding 表示输入边沿扩边操作

import torch
from torch import nn
conv1 = nn.Conv2d(
in_channels=3, #输入通道数
#每个卷积核的通道数与输入通道数相同
#卷积运算后得到128张特征图
out_channels=128, #输出通道数,表示当前卷积层有128个卷积核
kernel_size=3, #卷积核大小3x3
stride=1, #步长,每次滑动窗口移动的长度,默认为1
)
fc1 = nn.Linear(
in_features=128*26*26, #前一层拉伸后的向量大小
out_features=10,
)
x = torch.rand(size=(32,3,28,28))
x = conv1(x)
x = torch.flatten(x,1) #二维的特征图与全连接进行连接时需要拉伸
x = fc1(x)
#[32,3,28,28] -> [32,32,26,26]
print(x.shape)

输出:

3结语

针对探究nn.Linear问题,其用于设置网络中的全连接层的,需要注意在二维图像处理的任务中,全连接层的输入与输出一般都设置为二维张量,其中参数in_features指的是输入的二维张量的大小,即输入的[batch_size, size]中的size。out_features指的是输出的二维张量的大小。

针对nn.Conv2d问题,其用法是用来实现2d卷积操作的,其中包含了许多用于卷积的参数,in_channels、out_channels和kernel_size是需要手动提供的,而其他的参数是有默认值。

http://www.rkmt.cn/news/113570.html

相关文章:

  • EmotiVoice能否实现语音情感渐变过渡?动态控制探索
  • 2025年江苏新沂PC砖公司口碑榜单 - 2025年品牌推荐榜
  • 【开题答辩全过程】以 基于JSP的校园停车收费系统设计及实现为例,包含答辩的问题和答案
  • Speechless终极指南:一键永久保存微博内容的完整解决方案
  • Open-Meteo终极指南:5步搭建个人天气数据服务
  • 银行回单识别技术:企业财务智能化的重要基石
  • d2s-editor终极指南:暗黑破坏神2存档修改完全手册
  • GitHack终极指南:快速检测Git泄露与完整源代码恢复
  • LobeChat用量统计面板:跟踪Token消耗与GPU使用率
  • Vosk Android中文语音识别终极部署指南:5个关键避坑点深度解析
  • 基于VUE的企业咨询管理系统 [VUE]-计算机毕业设计源码+LW文档
  • 图像处理函数与形态学操作笔记(含 Halcon 示例)
  • 如何快速实现大屏自适应:前端开发的终极解决方案
  • LSM 原理、实现及与 B+ 树的核心区别
  • 神经网络(1)基本原理 正向传播反向传播 - MKT
  • sherpa-onnx终极指南:嵌入式语音识别快速部署教程
  • 5大核心技术突破:OpenIM Server如何重构元宇宙社交通信体验
  • 如何快速配置Motrix浏览器扩展:面向新手的完整指南
  • LobeChat ABAC属性访问控制
  • EmotiVoice情感语音数据库构建方法与公开资源推荐
  • 文档生成PPT到底快不快?PDF转PPT工具实测分析
  • LobeChatOKR目标制定辅助工具
  • 3大场景下MoneyNote开源记账系统的实战应用指南
  • autofit.js大屏自适应终极方案:一键实现完美响应式布局
  • 快速上手MoneyNote:新手必备的智能记账完整指南
  • Unitree GO2 ROS2 SDK终极开发指南:5步快速构建智能机器人应用
  • HS2-HF_Patch终极指南:如何快速解锁HoneySelect2完整游戏体验
  • NewGAN-Manager:足球经理新生代头像配置神器
  • 复旦大学LaTeX论文模板fduthesis:告别格式困扰的智能写作利器
  • PuzzleSolver:突破CTF MISC困局的智能解谜引擎