fastNLP.modules.encoder.pooling module

undocumented

class fastNLP.modules.encoder.pooling.MaxPool(stride=None, padding=0, dilation=1, dimension=1, kernel_size=None, ceil_mode=False)[源代码]

基类:torch.nn.modules.module.Module

别名 fastNLP.modules.MaxPool fastNLP.modules.encoder.MaxPool

Max-pooling模块。

__init__(stride=None, padding=0, dilation=1, dimension=1, kernel_size=None, ceil_mode=False)[源代码]
参数
  • stride – 窗口移动大小,默认为kernel_size

  • padding – padding的内容,默认为0

  • dilation – 控制窗口内元素移动距离的大小

  • dimension – MaxPool的维度,支持1,2,3维。

  • kernel_size – max pooling的窗口大小,默认为tensor最后k维,其中k为dimension

  • ceil_mode

training: bool
class fastNLP.modules.encoder.pooling.MaxPoolWithMask[源代码]

基类:torch.nn.modules.module.Module

别名 fastNLP.modules.MaxPoolWithMask fastNLP.modules.encoder.MaxPoolWithMask

带mask矩阵的max pooling。在做max-pooling的时候不会考虑mask值为0的位置。

forward(tensor, mask, dim=1)[源代码]
参数
  • tensor (torch.FloatTensor) – [batch_size, seq_len, channels] 初始tensor

  • mask (torch.LongTensor) – [batch_size, seq_len] 0/1的mask矩阵

  • dim (int) – 需要进行max pooling的维度

返回

training: bool
class fastNLP.modules.encoder.pooling.KMaxPool(k=1)[源代码]

基类:torch.nn.modules.module.Module

别名 fastNLP.modules.KMaxPool fastNLP.modules.encoder.KMaxPool K max-pooling module.

forward(x)[源代码]
参数

x (torch.Tensor) – [N, C, L] 初始tensor

返回

torch.Tensor x: [N, C*k] k-max pool后的结果

training: bool
class fastNLP.modules.encoder.pooling.AvgPool(stride=None, padding=0)[源代码]

基类:torch.nn.modules.module.Module

别名 fastNLP.modules.AvgPool fastNLP.modules.encoder.AvgPool

给定形如[batch_size, max_len, hidden_size]的输入,在最后一维进行avg pooling. 输出为[batch_size, hidden_size]

forward(x)[源代码]
参数

x (torch.Tensor) – [N, C, L] 初始tensor

返回

torch.Tensor x: [N, C] avg pool后的结果

training: bool
class fastNLP.modules.encoder.pooling.AvgPoolWithMask[源代码]

基类:torch.nn.modules.module.Module

别名 fastNLP.modules.AvgPoolWithMask fastNLP.modules.encoder.AvgPoolWithMask

给定形如[batch_size, max_len, hidden_size]的输入,在最后一维进行avg pooling. 输出为[batch_size, hidden_size], pooling 的时候只会考虑mask为1的位置

forward(tensor, mask, dim=1)[源代码]
参数
  • tensor (torch.FloatTensor) – [batch_size, seq_len, channels] 初始tensor

  • mask (torch.LongTensor) – [batch_size, seq_len] 0/1的mask矩阵

  • dim (int) – 需要进行max pooling的维度

返回

training: bool