pytorch中nn.Conv1d功能介绍

这篇具有很好参考价值的文章主要介绍了pytorch中nn.Conv1d功能介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        在使用Conv1d函数时,pytorch默认你的数据是一维的,比如一句话“深度学习”可以用一个一维数组 ['深', '度', '学', '习'] 表示,这个数据就是一维的。图片是二维数据,它有长宽两个维度。

        因此在使用 Conv1d 函数时,输入是一个三位数组,三个维度分别表示  (批量,通道,长度)

        使用 Conv2d 函数时,输入是一个四维数组,四个维度分别是(批量,通道,行,列),这里不详细介绍Conv2d。

        (批量即 batch_size)

        用如下例子介绍Conv1d(input_channel=3, output_channel=4, kernel_size=1),输入的例子数据为一句话,这句话有5个单词,假设每个单词都由三个字母组成,就相当于每个单词有3个通道,假设这句话是 ['abc', 'def', 'ghi', 'jkl', 'mno'],这些数据放在图1所示的矩阵里,可见长度为5,通道数为3。

pytorch中nn.Conv1d功能介绍,深度学习,pytorch,人工智能,python
图1. 数据存储格式

         output_channel=4,即有四个卷积核,每个卷积核的通道数和输入的通道数相同,这里是3,如图2所示,第一个元素'abc'的三个通道'a', 'b', 'c'输入第一个卷积核,得到红色数字,第二个单词经过卷积核得到黄色数字,排成一列得到第一个通道,四个卷积核得到输出的四个通道。

        如果一个batch里有很多句话,那么分别对每句话进行上述计算即可。

pytorch中nn.Conv1d功能介绍,深度学习,pytorch,人工智能,python
图2. 单个channel计算过程

        测试代码:

        输入数据的 batch_size=10,通道数为3,长度为5。卷积核大小为1,卷积核通道数和输入数据的通道数一致。输出数据通道数为7,卷积核的数量和输出数据的通道数一致。

        因为卷积核大小为1,所以输出长度与输入长度一致,卷积不影响批量数(batch_size),因此输出数据的(批量,通道,长度)应为(10, 7, 5)

from torch import nn

    conv1 = nn.Conv1d(in_channels=3, out_channels=7, kernel_size=1)
    input = torch.randn(10, 3, 5)
    out = conv1(input)
    print(out.size())

运行后的输出如下图所示,可见分析正确。

pytorch中nn.Conv1d功能介绍,深度学习,pytorch,人工智能,python文章来源地址https://www.toymoban.com/news/detail-691182.html

到了这里,关于pytorch中nn.Conv1d功能介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CONV1D一维卷积神经网络运算过程(举例:n行3列➡n行6列)

    作者:CSDN @ _养乐多_ 背景 一维卷积的运算过程网上很多人说不清楚,示意图画的也不清楚。因此,本人针对一维卷积的过程,绘制了计算过程,以我的知识量解释一下 pytorch 中 Conv1d() 函数的机理。 Conv1d() 计算过程 假设我们现在有 n 行,3列数据。n 行可以是 n 个点,也可以

    2024年02月06日
    浏览(40)
  • 【PyTorch】nn.Conv2d函数详解

    CONV2D官方链接 in_channels:输入的通道数,RGB 图像的输入通道数为 3 out_channels:输出的通道数 kernel_size:卷积核的大小,一般我们会使用 5x5、3x3 这种左右两个数相同的卷积核,因此这种情况只需要写 kernel_size = 5这样的就行了。如果左右两个数不同,比如3x5的卷积核,那么写作

    2024年01月22日
    浏览(39)
  • 深度学习之pytorch 中 torch.nn介绍

    pytorch 中必用的包就是 torch.nn,torch.nn 中按照功能分,主要如下有几类: 1. Layers(层):包括全连接层、卷积层、池化层等。 2. Activation Functions(激活函数):包括ReLU、Sigmoid、Tanh等。 3. Loss Functions(损失函数):包括交叉熵损失、均方误差等。 4. Optimizers(优化器):包括

    2024年02月22日
    浏览(45)
  • 【Pytorch】三维卷积 nn.Conv3d 用法

    nn.Conv3d 是 PyTorch 中实现三维卷积操作的类。 其输入和输出的维度如下: 输入维度: 输入张量的维度应为 (N, C_in, D, H, W) ,其中: N : 批量大小 (batch size),即一批输入数据中包含的样本数量。 C_in : 输入通道数 (number of input channels),即输入数据的通道数量,例如彩色图像通常

    2024年02月05日
    浏览(51)
  • pytorch中 nn.Conv2d的简单用法

    参数介绍 : in_channels :卷积层输入通道数 out_channels :卷积层输出通道数 kernel_size :卷积层的卷积核大小 padding :填充长度 stride :卷积核移动的步长 dilation :是否采用空洞卷积 groups :是否采用分组卷积 bias :是否添加偏置参数 padding_mode : padding 的模式 如果输入大小为:

    2024年02月11日
    浏览(43)
  • 【深度学习】特征图的上采样(nn.Upsample)和转置卷积(nn.ConvTranspose2d) | pytorch

    这次就不废话了,我想赶在10点前回去洗头(现在9.17,还差一篇文章) 该函数有四个参数: 参数的介绍如下: 稍微翻译一下: 参数: 1)size(int或Tuple[int]或Tuple[int,int]或Tupple[int,int,int],可选):输出空间大小 2)scale_factor(float或Tuple[floot]或Tuple[floot,float]或Tuple[floo

    2023年04月08日
    浏览(45)
  • Pytorch学习笔记(5):torch.nn---网络层介绍(卷积层、池化层、线性层、激活函数层)

     一、卷积层—Convolution Layers  1.1 1d / 2d / 3d卷积 1.2 卷积—nn.Conv2d() nn.Conv2d 1.3 转置卷积—nn.ConvTranspose nn.ConvTranspose2d  二、池化层—Pooling Layer (1)nn.MaxPool2d (2)nn.AvgPool2d (3)nn.MaxUnpool2d  三、线性层—Linear Layer  nn.Linear  四、激活函数层—Activate Layer (1)nn.Sigmoid  (

    2024年01月20日
    浏览(44)
  • nn.BatchNorm讲解,nn.BatchNorm1d, nn.BatchNorm2d代码演示

            BatchNorm是深度网络中经常用到的加速神经网络训练,加速收敛速度及稳定性的算法,是深度网络训练必不可少的一部分,几乎成为标配;         BatchNorm 即批规范化,是为了 将每个batch的数据规范化为统一的分布 ,帮助网络训练, 对输入数据做规范化,称为

    2023年04月18日
    浏览(48)
  • pytorch容器之nn.Sequential, nn.ModuleList, nn.ModuleDict介绍

      在深度学习模型创建的时候,我们经常会碰到 nn.Sequential , nn.ModuleList , nn.ModuleDict 这三个东西,尤其是在迁移学习训练的时候经常碰到,他们到底是什么,怎么用的,使用的时候有哪些注意事项,通过这篇博文浅记一下。   在介绍这三个容器之前,我们需要先知道什么

    2024年02月08日
    浏览(49)
  • 【PyTorch API】 nn.RNN 和 nn.LSTM 介绍和代码详解

    torch.nn.RNN 的 PyTorch 链接:torch.nn.RNN(*args, **kwargs) nn.RNN 的用法和输入输出参数的介绍直接看代码: 需要特别注意的是 nn.RNN 的第二个输出 hn 表示所有掩藏层的在最后一个 time step 隐状态,听起来很难理解,看下面的红色方框内的数据就懂了。即 output[:, -1, :] = hn[-1, : , :] 这里

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包