Browse Source

modify conv and pool module

tags/v0.1.0
Ke Zhen 7 years ago
parent
commit
2569c85c8e
5 changed files with 53 additions and 48 deletions
  1. +24
    -0
      fastNLP/modules/convolution/AvgPool.py
  2. +0
    -22
      fastNLP/modules/convolution/AvgPool1d.py
  3. +3
    -3
      fastNLP/modules/convolution/Conv.py
  4. +26
    -0
      fastNLP/modules/convolution/MaxPool.py
  5. +0
    -23
      fastNLP/modules/convolution/MaxPool1d.py

+ 24
- 0
fastNLP/modules/convolution/AvgPool.py View File

@@ -0,0 +1,24 @@
# python: 3.6
# encoding: utf-8

import torch.nn as nn
import torch.nn.functional as F


class AvgPool(nn.Module):
"""1-d average pooling module."""

def __init__(self, stride=None, padding=0):
super(AvgPool, self).__init__()
self.stride = stride
self.padding = padding

def forward(self, x):
# [N,C,L] -> [N,C]
kernel_size = x.size(2)
x = F.max_pool1d(
input=x,
kernel_size=kernel_size,
stride=self.stride,
padding=self.padding)
return x.squeeze(dim=-1)

+ 0
- 22
fastNLP/modules/convolution/AvgPool1d.py View File

@@ -1,22 +0,0 @@
# python: 3.6
# encoding: utf-8

import torch.nn as nn
# import torch.nn.functional as F


class AvgPool1d(nn.Module):
"""1-d average pooling module."""

def __init__(self, kernel_size, stride=None, padding=0,
ceil_mode=False, count_include_pad=True):
super(AvgPool1d, self).__init__()
self.pool = nn.AvgPool1d(
kernel_size=kernel_size,
stride=stride,
padding=padding,
ceil_mode=ceil_mode,
count_include_pad=count_include_pad)

def forward(self, x):
return self.pool(x)

fastNLP/modules/convolution/Conv1d.py → fastNLP/modules/convolution/Conv.py View File

@@ -5,7 +5,7 @@ import torch.nn as nn
# import torch.nn.functional as F


class Conv1d(nn.Module):
class Conv(nn.Module):
"""
Basic 1-d convolution module.
"""
@@ -13,7 +13,7 @@ class Conv1d(nn.Module):
def __init__(self, in_channels, out_channels, kernel_size,
stride=1, padding=0, dilation=1,
groups=1, bias=True):
super(Conv1d, self).__init__()
super(Conv, self).__init__()
self.conv = nn.Conv1d(
in_channels=in_channels,
out_channels=out_channels,
@@ -25,4 +25,4 @@ class Conv1d(nn.Module):
bias=bias)

def forward(self, x):
return self.conv(x)
return self.conv(x) # [N,C,L]

+ 26
- 0
fastNLP/modules/convolution/MaxPool.py View File

@@ -0,0 +1,26 @@
# python: 3.6
# encoding: utf-8

import torch.nn as nn
import torch.nn.functional as F


class MaxPool(nn.Module):
"""1-d max-pooling module."""

def __init__(self, stride=None, padding=0, dilation=1):
super(MaxPool, self).__init__()
self.stride = stride
self.padding = padding
self.dilation = dilation

def forward(self, x):
# [N,C,L] -> [N,C]
kernel_size = x.size(2)
x = F.max_pool1d(
input=x,
kernel_size=kernel_size,
stride=self.stride,
padding=self.padding,
dilation=self.dilation)
return x.squeeze(dim=-1)

+ 0
- 23
fastNLP/modules/convolution/MaxPool1d.py View File

@@ -1,23 +0,0 @@
# python: 3.6
# encoding: utf-8

import torch.nn as nn
# import torch.nn.functional as F


class MaxPool1d(nn.Module):
"""1-d max-pooling module."""

def __init__(self, kernel_size, stride=None, padding=0,
dilation=1, return_indices=False, ceil_mode=False):
super(MaxPool1d, self).__init__()
self.maxpool = nn.MaxPool1d(
kernel_size=kernel_size,
stride=stride,
padding=padding,
dilation=dilation,
return_indices=return_indices,
ceil_mode=ceil_mode)

def forward(self, x):
return self.maxpool(x)

Loading…
Cancel
Save