首页 > 其他分享 >[转载] Conv1d 举例说明

[转载] Conv1d 举例说明

时间:2024-11-04 17:47:05浏览次数:4  
标签:size Conv1d 卷积 torch channels int 转载 optional 举例说明

一维卷积不代表卷积核只有一维,也不代表被卷积的feature也是一维。一维的意思是说卷积的方向是一维的。

class torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)

in_channels(int) – 输入信号的通道。在文本分类中,即为词向量的维度
out_channels(int) – 卷积产生的通道。有多少个out_channels,就需要多少个1维卷积
kernel_size(int or tuple) - 卷积核的尺寸,卷积核的大小为(k,),第二个维度是由in_channels来决定的,所以实际上卷积大小为kernel_size*in_channels
stride(int or tuple, optional) - 卷积步长
padding (int or tuple, optional)- 输入的每一条边补充0的层数
dilation(int or tuple, `optional``) – 卷积核元素之间的间距
groups(int, optional) – 从输入通道到输出通道的阻塞连接数
bias(bool, optional) - 如果bias=True,添加偏置

下面通过具体例子说明参数的设置和用法。

代码如下:

import torch
import torch.nn as nn

卷积大小为kernel_size*in_channels, 此处也即 3 * 4, 每个卷积核产生一维的输出数据,长度与输入数据的长度和stride有关,根据ouotput可知是3,第二个参数2也就卷积核的数量
m = nn.Conv1d(4, 2, 3, stride=2)

# 第一个参数理解为batch的大小,输入是4 * 9格式 
input = torch.randn(1, 4, 9)
print(input)
output = m(input)
print(output)
print(output.size())

输出如下:

tensor([[[-0.2105, -1.0958,  0.7299,  1.1003,  2.3175,  0.8186, -1.7510,  -0.1925,  0.8591],
         [ 1.0991, -0.3016,  1.5633,  0.6162,  0.3150,  1.0413,  1.0571,  -0.7014,  0.2239],
         [-0.0658,  0.4755, -0.6653, -0.0696,  0.3483, -0.0360, -0.4665,   1.2606,  1.3365],
         [-0.0186, -1.1802, -0.8835, -1.1813, -0.5145, -0.0534, -1.2568,   0.3211, -2.4793]]])
tensor([[[-0.8012,  0.0589,  0.1576, -0.8222],
         [-0.8231, -0.4233,  0.7178, -0.6621]]], grad_fn=<SqueezeBackward1>)
torch.Size([1, 2, 4])

第一个卷积核进行如下操作:

得到输出1*4的输出:

[-0.8012, 0.0589, 0.1576, -0.8222]

第二个卷积核进行类似操作:

得到输出1*4的输出:

[-0.8231, -0.4233, 0.7178, -0.6621]

合并得到最后的2*4的结果:

输入的input为 4 * 9 ,输出为 2 * 4
————————————————

版权声明:本文为CSDN博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/snowsnowsnow1991/article/details/108910854

标签:size,Conv1d,卷积,torch,channels,int,转载,optional,举例说明
From: https://www.cnblogs.com/sq-feng/p/18525922

相关文章

  • OCC面面求交,线面求交,线线求交接口,举例说明
    在OCC(OpenCASCADETechnology)中,面面求交、线面求交以及线线求交等操作可以通过调用相应的API接口来实现。以下是这些操作的详细说明及示例代码: 1.面面求交 对于面面求交,OCC提供了GeomAPI_IntSS类。这个类用于计算两个曲面的交集。 示例代码: cpp#include<GeomAPI......
  • OCC布尔接口调用 ,交并差等,举例说明
    OCC(OpenCASCADETechnology)是一个开源的CAD/CAM/CAE内核,提供了丰富的几何建模和布尔运算功能。在OCC中,布尔运算包括交(Intersection)、并(Union)、差(Subtraction)等操作,这些操作可以通过调用相应的接口来实现。 以下是如何在OCC中调用布尔接口进行交、并、差操作的举例说明: 1.......
  • 【转载】LLVM 简介
    LLVM简介(一) LLVM项目LLVM是一个开源的项目,是一个编译器框架,是一系列模块化、可重用的编译器以及工具链技术的集合。LLVM的核心是LLVM库。同时LLVM还实现了一些周边工具。LLVM的一个设计思想是优化可以渗透在整个编译流程中各个阶段,比如编译时、链接时、运行时等。......
  • 【转载】如何转发博客园中的文章
    如何转发博客园中的文章 前言:对于喜欢逛博客的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想快速转载别人的博客,把别人的博客移到自己的空间里面,当然有人会说我们可以收藏博客啊,就不需要转......
  • 【转载】把大模型做实 把供应链做透: 京东推出言犀大模型
    作者:张东7月13日,2023京东全球科技探索者大会暨京东云峰会在北京举行,全面推出京东言犀大模型、言犀AI开发计算平台、升级支撑大模型落地行业的产品及解决方案,服务千行百业拥抱产业智能。源于产业、服务产业。言犀大模型融合了70%的通用数据与30%京东数智供应链原生数据,具有“更高......
  • 【转载】程序员的个人财富课
    原作者:王喆开篇词|为什么说程序员最适合学财富管理?你好,我是王喆,从清华大学计算机系毕业后,我一直从事着算法工程师的工作,现在是美国最大的流媒体平台Roku的推荐系统架构负责人。作为一个写了15年程序的程序员,我有两个愿望。第一个愿望,就是在自己的专业领域做精做深,建立自己的......
  • 十二、【智能体】深入剖析:大模型节点的全面解读,举例说明,教你如何在扣子中嵌入代码
    大模型节点大模型节点主要分为5部分:处理类型单次批处理模型类型:目前可以选择的模型有豆包、通义千问、智谱、MinMax和Kimi输入:此时的参数可以被下面的提示词所用提示词:给大模型使用的提示词输出:经过此大模型处理后的输出提示词的使用提示词是核心,他关系到大模型......
  • 转载 WeMod单机游戏修改器 支持2500+游戏
    无数作者为各种游戏制作各类辅助工具,支持超过5000款PC单机游戏并且每天都会更新支持更多新的游戏,已解锁专业版会员付费功能!下载即可立即使用。下载地址:链接:https://pan.baidu.com/s/1JBD0vRG_hr8nHBbFHjhGoQ?pwd=4nja提取码:4nja复制这段内容后打开百度网盘手机App,操作......
  • 【转载】 蚂蚁集团骆骥谈如何打造下一代智能数据体系
    【转载】蚂蚁集团骆骥谈如何打造下一代智能数据体系   本文整理自2024外滩大会“Data+AI”见解论坛骆骥(蚂蚁集团数据平台与服务部负责人)的演讲实录 在过去这两年时间,生成式人工智能在科技领域取得了重大的突破,海量的数据和庞大的算力相碰撞,推动了无数科技产品的创新。......
  • 基于Eclipse的ABAP程序开发---系统安装、配置(转载)
    这几天运维过程中遇到了以前外部顾问写的CDS视图,乍一看有点懵,于是开始着手自学。我打算将自己学习过程中的心得和需要记录下来的问题写在这部分博客里。系统准备阶段1.Eclipse、Java环境的安装和配置;(具体安装过程网上很多,这里不再赘述)我的Eclipse版本:2024-06(4.32.0) AD......