Browse Source

删除encoder中的嵌套层

tags/v0.4.10
yh_cc 5 years ago
parent
commit
885c640c16
11 changed files with 18 additions and 18 deletions
  1. +1
    -1
      fastNLP/models/cnn_text_classification.py
  2. +2
    -2
      fastNLP/models/sequence_labeling.py
  3. +4
    -4
      fastNLP/modules/aggregator/pooling.py
  4. +2
    -2
      fastNLP/modules/decoder/CRF.py
  5. +1
    -1
      fastNLP/modules/decoder/utils.py
  6. +1
    -1
      fastNLP/modules/encoder/char_encoder.py
  7. +1
    -1
      fastNLP/modules/encoder/conv_maxpool.py
  8. +1
    -1
      fastNLP/modules/encoder/lstm.py
  9. +1
    -1
      fastNLP/modules/encoder/star_transformer.py
  10. +1
    -1
      fastNLP/modules/encoder/transformer.py
  11. +3
    -3
      fastNLP/modules/encoder/variational_rnn.py

+ 1
- 1
fastNLP/models/cnn_text_classification.py View File

@@ -10,7 +10,7 @@ from ..modules import encoder

class CNNText(torch.nn.Module):
"""
别名::class:`fastNLP.models.CNNText` :class:`fastNLP.modules.aggregator.cnn_text_classification.CNNText`
别名::class:`fastNLP.models.CNNText` :class:`fastNLP.models.cnn_text_classification.CNNText`

使用CNN进行文本分类的模型
'Yoon Kim. 2014. Convolution Neural Networks for Sentence Classification.'


+ 2
- 2
fastNLP/models/sequence_labeling.py View File

@@ -10,7 +10,7 @@ from torch import nn

class SeqLabeling(BaseModel):
"""
别名::class:`fastNLP.models.SeqLabeling` :class:`fastNLP.modules.aggregator.sequence_labeling.SeqLabeling`
别名::class:`fastNLP.models.SeqLabeling` :class:`fastNLP.models.sequence_labeling.SeqLabeling`

一个基础的Sequence labeling的模型。
用于做sequence labeling的基础类。结构包含一层Embedding,一层LSTM(单向,一层),一层FC,以及一层CRF。
@@ -102,7 +102,7 @@ class SeqLabeling(BaseModel):

class AdvSeqLabel(nn.Module):
"""
别名::class:`fastNLP.models.AdvSeqLabel` :class:`fastNLP.modules.aggregator.sequence_labeling.AdvSeqLabel`
别名::class:`fastNLP.models.AdvSeqLabel` :class:`fastNLP.models.sequence_labeling.AdvSeqLabel`

更复杂的Sequence Labelling模型。结构为Embedding, LayerNorm, 双向LSTM(两层),FC,LayerNorm,DropOut,FC,CRF。


+ 4
- 4
fastNLP/modules/aggregator/pooling.py View File

@@ -5,7 +5,7 @@ import torch.nn as nn

class MaxPool(nn.Module):
"""
别名::class:`fastNLP.modules.aggregator.MaxPool` :class:`fastNLP.modules.aggregator.pooling.MaxPool`
别名::class:`fastNLP.modules.MaxPool` :class:`fastNLP.modules.aggregator.pooling.MaxPool`

Max-pooling模块。
@@ -53,7 +53,7 @@ class MaxPool(nn.Module):

class MaxPoolWithMask(nn.Module):
"""
别名::class:`fastNLP.modules.aggregator.MaxPoolWithMask` :class:`fastNLP.modules.aggregator.pooling.MaxPoolWithMask`
别名::class:`fastNLP.modules.MaxPoolWithMask` :class:`fastNLP.modules.aggregator.pooling.MaxPoolWithMask`

带mask矩阵的max pooling。在做max-pooling的时候不会考虑mask值为0的位置。
"""
@@ -93,7 +93,7 @@ class KMaxPool(nn.Module):

class AvgPool(nn.Module):
"""
别名::class:`fastNLP.modules.aggregator.AvgPool` :class:`fastNLP.modules.aggregator.pooling.AvgPool`
别名::class:`fastNLP.modules.AvgPool` :class:`fastNLP.modules.aggregator.pooling.AvgPool`

给定形如[batch_size, max_len, hidden_size]的输入,在最后一维进行avg pooling. 输出为[batch_size, hidden_size]
"""
@@ -120,7 +120,7 @@ class AvgPool(nn.Module):

class AvgPoolWithMask(nn.Module):
"""
别名::class:`fastNLP.modules.aggregator.AvgPoolWithMask` :class:`fastNLP.modules.aggregator.pooling.AvgPoolWithMask`
别名::class:`fastNLP.modules.AvgPoolWithMask` :class:`fastNLP.modules.aggregator.pooling.AvgPoolWithMask`

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


+ 2
- 2
fastNLP/modules/decoder/CRF.py View File

@@ -6,7 +6,7 @@ from ..utils import initial_parameter

def allowed_transitions(id2target, encoding_type='bio', include_start_end=True):
"""
别名::class:`fastNLP.modules.decoder.allowed_transitions` :class:`fastNLP.modules.decoder.CRF.allowed_transitions`
别名::class:`fastNLP.modules.allowed_transitions` :class:`fastNLP.modules.decoder.CRF.allowed_transitions`

给定一个id到label的映射表,返回所有可以跳转的(from_tag_id, to_tag_id)列表。

@@ -136,7 +136,7 @@ def _is_transition_allowed(encoding_type, from_tag, from_label, to_tag, to_label

class ConditionalRandomField(nn.Module):
"""
别名::class:`fastNLP.modules.decoder.ConditionalRandomField` :class:`fastNLP.modules.decoder.CRF.ConditionalRandomField`
别名::class:`fastNLP.modules.ConditionalRandomField` :class:`fastNLP.modules.decoder.CRF.ConditionalRandomField`

条件随机场。
提供forward()以及viterbi_decode()两个方法,分别用于训练与inference。


+ 1
- 1
fastNLP/modules/decoder/utils.py View File

@@ -4,7 +4,7 @@ import torch

def viterbi_decode(logits, transitions, mask=None, unpad=False):
"""
别名::class:`fastNLP.modules.decoder.viterbi_decode` :class:`fastNLP.modules.decoder.utils.viterbi_decode
别名::class:`fastNLP.modules.viterbi_decode` :class:`fastNLP.modules.decoder.utils.viterbi_decode

给定一个特征矩阵以及转移分数矩阵,计算出最佳的路径以及对应的分数



+ 1
- 1
fastNLP/modules/encoder/char_encoder.py View File

@@ -7,7 +7,7 @@ from ..utils import initial_parameter
# from torch.nn.init import xavier_uniform
class ConvolutionCharEncoder(nn.Module):
"""
别名::class:`fastNLP.modules.encoder.ConvolutionCharEncoder` :class:`fastNLP.modules.encoder.char_encoder.ConvolutionCharEncoder`
别名::class:`fastNLP.modules.ConvolutionCharEncoder` :class:`fastNLP.modules.encoder.char_encoder.ConvolutionCharEncoder`

char级别的卷积编码器.
:param int char_emb_size: char级别embedding的维度. Default: 50


+ 1
- 1
fastNLP/modules/encoder/conv_maxpool.py View File

@@ -10,7 +10,7 @@ from ..utils import initial_parameter

class ConvMaxpool(nn.Module):
"""
别名::class:`fastNLP.modules.encoder.ConvMaxpool` :class:`fastNLP.modules.encoder.conv_maxpool.ConvMaxpool`
别名::class:`fastNLP.modules.ConvMaxpool` :class:`fastNLP.modules.encoder.conv_maxpool.ConvMaxpool`

集合了Convolution和Max-Pooling于一体的层。给定一个batch_size x max_len x input_size的输入,返回batch_size x
sum(output_channels) 大小的matrix。在内部,是先使用CNN给输入做卷积,然后经过activation激活层,在通过在长度(max_len)


+ 1
- 1
fastNLP/modules/encoder/lstm.py View File

@@ -10,7 +10,7 @@ from ..utils import initial_parameter

class LSTM(nn.Module):
"""
别名::class:`fastNLP.modules.encoder.LSTM` :class:`fastNLP.modules.encoder.lstm.LSTM`
别名::class:`fastNLP.modules.LSTM` :class:`fastNLP.modules.encoder.lstm.LSTM`

LSTM 模块, 轻量封装的Pytorch LSTM



+ 1
- 1
fastNLP/modules/encoder/star_transformer.py View File

@@ -8,7 +8,7 @@ import numpy as NP

class StarTransformer(nn.Module):
"""
别名::class:`fastNLP.modules.encoder.StarTransformer` :class:`fastNLP.modules.encoder.star_transformer.StarTransformer`
别名::class:`fastNLP.modules.StarTransformer` :class:`fastNLP.modules.encoder.star_transformer.StarTransformer`


Star-Transformer 的encoder部分。 输入3d的文本输入, 返回相同长度的文本编码


+ 1
- 1
fastNLP/modules/encoder/transformer.py View File

@@ -6,7 +6,7 @@ from ..dropout import TimestepDropout

class TransformerEncoder(nn.Module):
"""
别名::class:`fastNLP.modules.encoder.TransformerEncoder` :class:`fastNLP.modules.encoder.transformer.TransformerEncoder`
别名::class:`fastNLP.modules.TransformerEncoder` :class:`fastNLP.modules.encoder.transformer.TransformerEncoder`


transformer的encoder模块,不包含embedding层


+ 3
- 3
fastNLP/modules/encoder/variational_rnn.py View File

@@ -197,7 +197,7 @@ class VarRNNBase(nn.Module):

class VarLSTM(VarRNNBase):
"""
别名::class:`fastNLP.modules.encoder.VarLSTM` :class:`fastNLP.modules.encoder.variational_rnn.VarLSTM`
别名::class:`fastNLP.modules.VarLSTM` :class:`fastNLP.modules.encoder.variational_rnn.VarLSTM`

Variational Dropout LSTM.

@@ -221,7 +221,7 @@ class VarLSTM(VarRNNBase):

class VarRNN(VarRNNBase):
"""
别名::class:`fastNLP.modules.encoder.VarRNN` :class:`fastNLP.modules.encoder.variational_rnn.VarRNN`
别名::class:`fastNLP.modules.VarRNN` :class:`fastNLP.modules.encoder.variational_rnn.VarRNN`

Variational Dropout RNN.

@@ -244,7 +244,7 @@ class VarRNN(VarRNNBase):

class VarGRU(VarRNNBase):
"""
别名::class:`fastNLP.modules.encoder.VarGRU` :class:`fastNLP.modules.encoder.variational_rnn.VarGRU`
别名::class:`fastNLP.modules.VarGRU` :class:`fastNLP.modules.encoder.variational_rnn.VarGRU`

Variational Dropout GRU.



Loading…
Cancel
Save