pytorch中nn.Conv1d的用法详解

yipeiwu_com7年前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 numpy 常用函数总结

Numpy是什么 在没给大家介绍numpy之前先给大家说下python的基本概念。 Python 是一种高级的,动态的,多泛型的编程语言。Python代码很多时候看起来就像是伪代码一样...

详解如何在Apache中运行Python WSGI应用

在生产环境上,一般会使用比较健壮的Web服务器,如Apache来运行我们的应用。如果我们的Web应用是采用Python开发,而且符合WSGI规范,比如基于Django,Flask等框架,...

python自动重试第三方包retrying模块的方法

retrying是一个python的重试包,可以用来自动重试一些可能运行失败的程序段,retrying提供一个装饰器函数retry,被装饰的函数就会在运行失败的情况下重新执行,默认只要一...

Python数据库小程序源代码

源代码: # dict1 是 字典 , 用来对应相应元素的下标,我们将文件转成列表,对应的也就是文件的下标,通过下标来找文件元素 dict1 = {'sort':0 , 'name...

Python3批量生成带logo的二维码方法

最近有个需求:批量生成带Logo的二维码 生成二维码比较简单,网上的资源也比较多,不赘述了。自己研究了一下加了logo并且美化了一下(网上的资源直接加Logo特别丑!!!忍不了!!!),...