0


一维卷积神经网络理解(torch.nn.Conv1d)

参数介绍

torch.nn.Conv1d(in_channels,       
                out_channels,     
                kernel_size,      
                stride,        
                padding,        
                padding_mode    
                dilation,      
                groups,        
                bias,)
  • in_channels: (int)输入数据的通道数,即对某条训练数据来说由多少组向量表示。例如对于由一维向量表示的一条数据来说,通道数为1;对于文本数据来说,一个句子是由m个单词组成,那么通道数就可以是m
  • out_channels: (int)卷积产生的通道数,可以理解为卷积核的个数
  • kernel_size: (int or tuple)卷积核的大小,若参数为元组,元组中应只有一个元素
  • stride: (int or tuple, optional)卷积的步幅。默认值为1,若为元组,元组中应只有一个元素
  • padding: (int, tuple or str, optional)添加到输入两侧的填充个数。默认值为0
  • padding_mode(string, optional),两侧的填充模式,表示两侧不同的填充方式,可选的模式有"‘zeros’, ‘reflect’, ‘replicate’ 或 ‘circular’. 默认:‘zeros’"
  • dilation:(int or tuple, optional)内核元素之间的间距。默认值为1,即卷积核的每个的元素都是紧挨着的,这个比较难以描述,可以在这里看到直观的动图
  • groups:(int, optional)从输入通道到输出通道的阻塞连接数。默认值为1,输入通道数和输出通道数应该能整除groups,当groups为n时,意味着有n个卷积核,分别把输入数据拆分成n份去获取卷积之后的特征
  • bias:(bool, optional)如果是True,向输出添加可学习的偏差。默认为True

输入输出

input – [batch_size , in_channels , i] (批大小, 输入数据的通道数, 输入数据维度)。
output – ( batch_size , out_channels , i](批大小, 输出数据的通道数, 卷积后数据维度)。
卷积后的维度计算方法

       n 
      
     
       − 
      
     
       k 
      
     
       + 
      
     
       2 
      
     
       × 
      
     
       p 
      
     
    
      s 
     
    
   
     + 
    
   
     1 
    
   
  
    \frac{n-k+2\times{p}}{s} + 1 
   
  
sn−k+2×p​+1,(n:输入数据维度,k: 卷积核大小,p: 使用边界填充,s: 步长)。

卷积核维度:[in_channels, kernel_size, out_channels],out_channels代表卷积核的个数,用来提取多维特征。

举个例子

定义如下:

  • in_channels=1, out_channels=1
  • 输入通道:1, 输出通道:1,卷积核:1 × \times × 3 × \times × 1,步长:1,填充:0
  • 批大小:1, 数据的通道数:1, 数据长度: 5
import torch
import torch.nn as nn
input= torch.randn(1,1,5)
conv = nn.Conv1d(in_channels=1, out_channels=1, kernel_size=3, stride=1, padding=0)
out = conv(input)

计算过程:
在这里插入图片描述
输出:批大小:1, 数据的通道数:1, 数据长度: 3
参考:https://blog.csdn.net/xu624735206/article/details/124961990


本文转载自: https://blog.csdn.net/qq_45097352/article/details/127278451
版权归原作者 zhangfei_bk 所有, 如有侵权,请联系我们删除。

“一维卷积神经网络理解(torch.nn.Conv1d)”的评论:

还没有评论