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构造icmp echo请求和实现网络探测器功能代码分享

python发送icmp echo requesy请求复制代码 代码如下:import socketimport struct def checksum(source_string):&...

Python实现定时任务

Python下实现定时任务的方式有很多种方式。下面介绍几种 循环sleep: 这是一种最简单的方式,在循环里放入要执行的任务,然后sleep一段时间再执行。缺点是,不容易控制,而且sl...

opencv设置采集视频分辨率方式

如下所示: #include <opencv2\opencv.hpp> #include<ctime> using namespace cv; usi...

Python中按值来获取指定的键

Python字典中的键是唯一的,但不同的键可以对应同样的值,比如说uid,可以是1001。id同样可以是1001。这样的话通过值来获取指定的键,就不止一个!而且也并不太好处理。这里同样提...

基于ID3决策树算法的实现(Python版)

基于ID3决策树算法的实现(Python版)

实例如下: # -*- coding:utf-8 -*- from numpy import * import numpy as np import pandas as pd fr...