news 2026/4/23 13:54:51

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
探究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是需要手动提供的,而其他的参数是有默认值。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:22:11

深度优化:Mem Reduct内存管理工具的高级配置指南

Mem Reduct是一款专为Windows系统设计的轻量级实时内存管理工具,通过智能清理系统缓存和内存区域,帮助用户解决电脑卡顿问题,提升系统运行效率。本文将为中级用户提供深度配置方案,让你的内存管理更加精准高效。 【免费下载链接】…

作者头像 李华
网站建设 2026/4/18 10:42:04

Archipack建筑建模插件新手入门指南:从问题解决到实战应用

Archipack建筑建模插件新手入门指南:从问题解决到实战应用 【免费下载链接】archipack Archipack for blender 2.79 项目地址: https://gitcode.com/gh_mirrors/ar/archipack Archipack作为Blender平台上专业的建筑建模插件,为建筑设计和3D建模新…

作者头像 李华
网站建设 2026/4/23 11:17:34

d2s-editor:暗黑破坏神2存档编辑的终极解决方案

d2s-editor:暗黑破坏神2存档编辑的终极解决方案 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor d2s-editor是一款专为暗黑破坏神2玩家设计的强大Web存档编辑工具,支持原版D2和D2R版本。通过现代化的Vue.j…

作者头像 李华
网站建设 2026/4/22 17:32:24

CAN协议完全指南

CAN总线协议完全指南 目录 CAN协议简介CAN总线基础知识显性位与隐性位详解CAN报文格式CAN总线仲裁机制CAN错误检测机制CAN节点状态管理发布-订阅通信模式硬件与软件分工实际编程示例CAN配置与调试常见问题与解决方案 1. CAN协议简介 1.1 什么是CAN? CAN&#xf…

作者头像 李华
网站建设 2026/4/23 12:29:24

京东任务自动化终极解决方案:高效管理你的京豆与福利

京东任务自动化终极解决方案:高效管理你的京豆与福利 【免费下载链接】jd_scripts-lxk0301 长期活动,自用为主 | 低调使用,请勿到处宣传 | 备份lxk0301的源码仓库 项目地址: https://gitcode.com/gh_mirrors/jd/jd_scripts-lxk0301 还…

作者头像 李华
网站建设 2026/4/23 12:12:01

Shell脚本入门:让重复工作一键完成

为什么你需要学习Shell脚本?如果你在Linux上做过以下任何一件事: 重复输入同样的命令序列手动备份文件,然后担心忘了需要批量处理几十个文件定期检查服务器状态那么Shell脚本就是你的自动化利器。它能把复杂的操作变成一条命令&#xf…

作者头像 李华