pytorch中nn.Conv1d的用法详解

yipeiwu_com5年前Python基础

先粘贴一段official guide:nn.conv1d官方

我一开始被in_channels、out_channels卡住了很久,结果发现就和conv2d是一毛一样的。话不多说,先粘代码(菜鸡的自我修养)

class CNN1d(nn.Module):

  def __init__(self):
    super(CNN1d,self).__init__()
    self.layer1 = nn.Sequential(
          nn.Conv1d(1,100,2),
          nn.BatchNorm1d(100),
          nn.ReLU(),
          nn.MaxPool1d(8))
    self.layer2 = nn.Sequential(
          nn.Conv1d(100,50,2),
          nn.BatchNorm1d(50),
          nn.ReLU(),
          nn.MaxPool1d(8))
    self.fc = nn.Linear(300,6)
  def forward(self,x):
    #input.shape:(16,1,425)
    out = self.layer1(x)
    out = out.view(out.size(0),-1)
    out = self.fc(out)
    return out

输入的数据格式是(batch_size,word_vector,sequence_length),我设置的batch=16,特征工程样本是1x425,套用该格式就应该是(16,1,425)。对应nn.Conv1d的in_channels=1,out_channels就是你自己设置的,我选择的是100。

因为我做的是分类场景,所以做完两次一维卷积后还要加上一个线性层。

以上这篇pytorch中nn.Conv1d的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现高斯函数的三维显示方法

Python实现高斯函数的三维显示方法

在网上查阅资料,发现很少用Python进行高斯函数的三维显示绘图的,原因可能是其图形显示太过怪异,没有MATLAB精细和直观。 回顾一下二维高斯公式: σ此处取3。 在MATLAB下的...

pytorch多进程加速及代码优化方法

目标:优化代码,利用多进程,进行近实时预处理、网络预测及后处理: 本人尝试了pytorch的multiprocessing,进行多进程同步处理以上任务。 from torch.mul...

rabbitmq(中间消息代理)在python中的使用详解

rabbitmq(中间消息代理)在python中的使用详解

在之前的有关线程,进程的博客中,我们介绍了它们各自在同一个程序中的通信方法。但是不同程序,甚至不同编程语言所写的应用软件之间的通信,以前所介绍的线程、进程队列便不再适用了;此种情况便只能...

python 查找文件夹下所有文件 实现代码

复制代码 代码如下:def find_file_by_pattern(pattern='.*', base=".", circle=True): '''''查找给定文件夹下面所有 '''...

Opencv+Python 色彩通道拆分及合并的示例

Opencv+Python 色彩通道拆分及合并的示例

一、图像色彩通道拆分 import cv2 img1 = cv2.imread(r"D:\OpencvTest\example.jpg", cv2.IMREAD_COLOR) #...