【基础篇】pytorch学习笔记(四)[nn.Conv1d、nn.Conv2d、nn.Conv3d]

本文详细介绍了PyTorch中的1D、2D和3D卷积操作,包括nn.Conv1d、nn.Conv2d和nn.Conv3d的定义、参数解释、输入输出格式,并通过实例展示了卷积层在图像处理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

梳理一下1d,2d,3d卷积的用法
import torch.nn as nn

一、nn.Conv1d

1. 定义

class in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros')

2. 参数解释

参数名 含义 默认值
in_channels(int) 输入信号的通道数, 文本应用中为词向量的维度 -
out_channels(int) 卷积产生的通道,卷积核数 -
kernel_size(int or tuple) 卷积核尺寸(实际为kernel_size * in_channel) -
stride(int or tuple, optional) 步长 1
padding (int or tuple, optional) 输入两侧0补充的层数 0
dilation(int or tuple, optional) 卷积核元素之间的间距 1
groups(int, optional) 从输入通道到输出通道的阻塞连接数 1
bias(bool. optional) true为添加偏置 True
padding_mode (string, optional) ‘zeros’, ‘reflect’, ‘replicate’ or ‘circular’ ‘zeros’

3. 输入输出格式
输入:(batch_size, word_vector, sequence_len),即(N, C_in, L_in)
输出:(N, C_out, L_out)
L_out ={ [ L_in + 2 x padding - dilation x (kernel_size - 1) -1] / stride }+1

默认情况下:L_out = L_in - kernel_size + 1

5. 示例
(batch_size, 256, 35)
在这里插入图片描述

conv1 = nn.Conv1d(in_channels=256,out_channels=100,kernel_size=2)

#批大小为32,句子的最大长度为35,词向量维度为256, 32*35*256
input = torch.randn(32,35,256)
#因为一维卷积是在最后维度上扫,所以做如下转换<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值