@@ -145,8 +145,6 @@ class BatchIter: | |||
class DataSetIter(BatchIter): | |||
""" | |||
别名::class:`fastNLP.DataSetIter` :class:`fastNLP.core.batch.DataSetIter` | |||
DataSetIter 用于从 `DataSet` 中按一定的顺序, 依次按 ``batch_size`` 的大小将数据取出, | |||
组成 `x` 和 `y`:: | |||
@@ -96,8 +96,6 @@ except: | |||
class Callback(object): | |||
""" | |||
别名::class:`fastNLP.Callback` :class:`fastNLP.core.callback.Callback` | |||
Callback是fastNLP中被设计用于增强 :class:`~fastNLP.Trainer` 的类。 | |||
如果Callback被传递给了 Trainer , 则 Trainer 会在对应的阶段调用Callback的函数, | |||
具体调用时机可以通过 :doc:`trainer 模块<fastNLP.core.trainer>` 查看。 | |||
@@ -436,8 +434,6 @@ class DistCallbackManager(CallbackManager): | |||
class GradientClipCallback(Callback): | |||
""" | |||
别名::class:`fastNLP.GradientClipCallback` :class:`fastNLP.core.callback.GradientClipCallback` | |||
每次backward前,将parameter的gradient clip到某个范围。 | |||
:param None,torch.Tensor,List[torch.Tensor] parameters: 一般通过model.parameters()获得。 | |||
@@ -481,8 +477,6 @@ class GradientClipCallback(Callback): | |||
class EarlyStopCallback(Callback): | |||
""" | |||
别名::class:`fastNLP.EarlyStopCallback` :class:`fastNLP.core.callback.EarlyStopCallback` | |||
多少个epoch没有变好就停止训练,相关类 :class:`EarlyStopError` | |||
:param int patience: epoch的数量 | |||
@@ -512,12 +506,10 @@ class EarlyStopCallback(Callback): | |||
class FitlogCallback(Callback): | |||
""" | |||
别名: :class:`fastNLP.FitlogCallback` :class:`fastNLP.core.callback.FitlogCallback` | |||
该callback可将loss和progress写入到fitlog中; 如果Trainer有dev的数据,将自动把dev的结果写入到log中; 同时还支持传入 | |||
一个(或多个)test数据集进行测试(只有在trainer具有dev时才能使用),每次在dev上evaluate之后会在这些数据集上验证一下。 | |||
并将验证结果写入到fitlog中。这些数据集的结果是根据dev上最好的结果报道的,即如果dev在第3个epoch取得了最佳,则 | |||
fitlog中记录的关于这些数据集的结果就是来自第三个epoch的结果。 | |||
一个(或多个)test数据集进行测试(只有在trainer具有dev时才能使用),每次在dev上evaluate之后会在这些数据集上验证一下。 | |||
并将验证结果写入到fitlog中。这些数据集的结果是根据dev上最好的结果报道的,即如果dev在第3个epoch取得了最佳,则 | |||
fitlog中记录的关于这些数据集的结果就是来自第三个epoch的结果。 | |||
:param ~fastNLP.DataSet,Dict[~fastNLP.DataSet] data: 传入DataSet对象,会使用多个Trainer中的metric对数据进行验证。如果需要 | |||
传入多个DataSet请通过dict的方式传入,dict的key将作为对应dataset的name传递给fitlog。data的结果的名称以'data'开头。 | |||
@@ -611,8 +603,6 @@ class FitlogCallback(Callback): | |||
class EvaluateCallback(Callback): | |||
""" | |||
别名: :class:`fastNLP.EvaluateCallback` :class:`fastNLP.core.callback.EvaluateCallback` | |||
该callback用于扩展Trainer训练过程中只能对dev数据进行验证的问题。 | |||
:param ~fastNLP.DataSet,Dict[~fastNLP.DataSet] data: 传入DataSet对象,会使用多个Trainer中的metric对数据进行验证。如果需要传入多个 | |||
@@ -673,8 +663,6 @@ class EvaluateCallback(Callback): | |||
class LRScheduler(Callback): | |||
""" | |||
别名::class:`fastNLP.LRScheduler` :class:`fastNLP.core.callback.LRScheduler` | |||
对PyTorch LR Scheduler的包装以使得其可以被Trainer所使用 | |||
:param torch.optim.lr_scheduler._LRScheduler lr_scheduler: PyTorch的lr_scheduler | |||
@@ -695,7 +683,6 @@ class LRScheduler(Callback): | |||
class ControlC(Callback): | |||
""" | |||
别名::class:`fastNLP.ControlC` :class:`fastNLP.core.callback.ControlC` | |||
:param bool quit_all: 若为True,则检测到control+C 直接退出程序;否则只退出Trainer | |||
""" | |||
@@ -732,8 +719,6 @@ class SmoothValue(object): | |||
class LRFinder(Callback): | |||
""" | |||
别名::class:`fastNLP.LRFinder` :class:`fastNLP.core.callback.LRFinder` | |||
用第一个 epoch 找最佳的学习率,从第二个epoch开始应用它 | |||
:param float start_lr: 学习率下界 | |||
@@ -804,8 +789,6 @@ class LRFinder(Callback): | |||
class TensorboardCallback(Callback): | |||
""" | |||
别名::class:`fastNLP.TensorboardCallback` :class:`fastNLP.core.callback.TensorboardCallback` | |||
接受以下一个或多个字符串作为参数: | |||
- "model" | |||
- "loss" | |||
@@ -304,8 +304,6 @@ from ._logger import logger | |||
class DataSet(object): | |||
""" | |||
别名::class:`fastNLP.DataSet` :class:`fastNLP.core.dataset.DataSet` | |||
fastNLP的数据容器,详细的使用方法见文档 :doc:`fastNLP.core.dataset` | |||
:param data: 如果为dict类型,则每个key的value应该为等长的list; 如果为list, | |||
@@ -464,8 +464,6 @@ def _get_ele_type_and_dim(cell: Any, dim=0): | |||
class Padder: | |||
""" | |||
别名::class:`fastNLP.Padder` :class:`fastNLP.core.field.Padder` | |||
所有padder都需要继承这个类,并覆盖__call__方法。 | |||
用于对batch进行padding操作。传入的element是inplace的,即直接修改element可能导致数据变化,建议inplace修改之前deepcopy一份。 | |||
@@ -534,8 +532,6 @@ class Padder: | |||
class AutoPadder(Padder): | |||
""" | |||
别名::class:`fastNLP.AutoPadder` :class:`fastNLP.core.field.AutoPadder` | |||
根据contents的数据自动判定是否需要做padding。 | |||
1 如果元素类型(元素类型是指field中最里层元素的数据类型, 可以通过FieldArray.dtype查看,比如['This', 'is', ...]的元素类 | |||
@@ -628,8 +624,6 @@ class AutoPadder(Padder): | |||
class EngChar2DPadder(Padder): | |||
""" | |||
别名::class:`fastNLP.EngChar2DPadder` :class:`fastNLP.core.field.EngChar2DPadder` | |||
用于为英语执行character级别的2D padding操作。对应的field内容应该类似[['T', 'h', 'i', 's'], ['a'], ['d', 'e', 'm', 'o']], | |||
但这个Padder只能处理index为int的情况。 | |||
@@ -10,8 +10,6 @@ __all__ = [ | |||
class Instance(object): | |||
""" | |||
别名::class:`fastNLP.Instance` :class:`fastNLP.core.instance.Instance` | |||
Instance是fastNLP中对应一个sample的类。每个sample在fastNLP中是一个Instance对象。 | |||
Instance一般与 :class:`~fastNLP.DataSet` 一起使用, Instance的初始化如下面的Example所示:: | |||
@@ -167,8 +167,6 @@ class LossBase(object): | |||
class LossFunc(LossBase): | |||
""" | |||
别名::class:`fastNLP.LossFunc` :class:`fastNLP.core.losses.LossFunc` | |||
提供给用户使用自定义损失函数的类 | |||
:param func: 用户自行定义的损失函数,应当为一个函数或者callable(func)为True的ojbect | |||
@@ -200,8 +198,6 @@ class LossFunc(LossBase): | |||
class CrossEntropyLoss(LossBase): | |||
""" | |||
别名::class:`fastNLP.CrossEntropyLoss` :class:`fastNLP.core.losses.CrossEntropyLoss` | |||
交叉熵损失函数 | |||
:param pred: 参数映射表中 `pred` 的映射关系,None表示映射关系为 `pred` -> `pred` | |||
@@ -248,8 +244,6 @@ class CrossEntropyLoss(LossBase): | |||
class L1Loss(LossBase): | |||
""" | |||
别名::class:`fastNLP.L1Loss` :class:`fastNLP.core.losses.L1Loss` | |||
L1损失函数 | |||
:param pred: 参数映射表中 `pred` 的映射关系,None表示映射关系为 `pred` -> `pred` | |||
@@ -270,8 +264,6 @@ class L1Loss(LossBase): | |||
class BCELoss(LossBase): | |||
""" | |||
别名::class:`fastNLP.BCELoss` :class:`fastNLP.core.losses.BCELoss` | |||
二分类交叉熵损失函数 | |||
:param pred: 参数映射表中 `pred` 的映射关系,None表示映射关系为 `pred` -> `pred` | |||
@@ -291,8 +283,6 @@ class BCELoss(LossBase): | |||
class NLLLoss(LossBase): | |||
""" | |||
别名::class:`fastNLP.NLLLoss` :class:`fastNLP.core.losses.NLLLoss` | |||
负对数似然损失函数 | |||
:param pred: 参数映射表中 `pred` 的映射关系,None表示映射关系为 `pred` -> `pred` | |||
@@ -315,8 +305,6 @@ class NLLLoss(LossBase): | |||
class LossInForward(LossBase): | |||
""" | |||
别名::class:`fastNLP.LossInForward` :class:`fastNLP.core.losses.LossInForward` | |||
从forward()函数返回结果中获取loss | |||
:param str loss_key: 在forward函数中loss的键名,默认为loss | |||
@@ -294,9 +294,6 @@ class MetricBase(object): | |||
class AccuracyMetric(MetricBase): | |||
""" | |||
别名::class:`fastNLP.AccuracyMetric` :class:`fastNLP.core.metrics.AccuracyMetric` | |||
准确率Metric(其它的Metric参见 :doc:`fastNLP.core.metrics` ) | |||
:param pred: 参数映射表中 `pred` 的映射关系,None表示映射关系为 `pred` -> `pred` | |||
@@ -565,8 +562,6 @@ def _check_tag_vocab_and_encoding_type(tag_vocab:Union[Vocabulary, dict], encodi | |||
class SpanFPreRecMetric(MetricBase): | |||
r""" | |||
别名::class:`fastNLP.SpanFPreRecMetric` :class:`fastNLP.core.metrics.SpanFPreRecMetric` | |||
在序列标注问题中,以span的方式计算F, pre, rec. | |||
比如中文Part of speech中,会以character的方式进行标注,句子 `中国在亚洲` 对应的POS可能为(以BMES为例) | |||
['B-NN', 'E-NN', 'S-DET', 'B-NN', 'E-NN']。该metric就是为类似情况下的F1计算。 | |||
@@ -832,8 +827,6 @@ def _pred_topk(y_prob, k=1): | |||
class ExtractiveQAMetric(MetricBase): | |||
r""" | |||
别名::class:`fastNLP.ExtractiveQAMetric` :class:`fastNLP.core.metrics.ExtractiveQAMetric` | |||
抽取式QA(如SQuAD)的metric. | |||
:param pred1: 参数映射表中 `pred1` 的映射关系,None表示映射关系为 `pred1` -> `pred1` | |||
@@ -17,7 +17,6 @@ from torch.optim.optimizer import Optimizer as TorchOptimizer | |||
class Optimizer(object): | |||
""" | |||
别名::class:`fastNLP.Optimizer` :class:`fastNLP.core.optimizer.Optimizer` | |||
:param model_params: a generator. E.g. ``model.parameters()`` for PyTorch models. | |||
:param kwargs: additional parameters. | |||
@@ -60,7 +59,6 @@ class NullOptimizer(Optimizer): | |||
class SGD(Optimizer): | |||
""" | |||
别名::class:`fastNLP.SGD` :class:`fastNLP.core.optimizer.SGD` | |||
:param float lr: learning rate. Default: 0.01 | |||
:param float momentum: momentum. Default: 0 | |||
@@ -82,7 +80,6 @@ class SGD(Optimizer): | |||
class Adam(Optimizer): | |||
""" | |||
别名::class:`fastNLP.Adam` :class:`fastNLP.core.optimizer.Adam` | |||
:param float lr: learning rate | |||
:param float weight_decay: | |||
@@ -105,8 +102,6 @@ class Adam(Optimizer): | |||
class AdamW(TorchOptimizer): | |||
r""" | |||
别名::class:`fastNLP.AdamW` :class:`fastNLP.core.optimizer.AdamW` | |||
对AdamW的实现,该实现应该会在pytorch更高版本中出现,https://github.com/pytorch/pytorch/pull/21250。这里提前加入 | |||
.. todo:: | |||
@@ -15,9 +15,6 @@ import numpy as np | |||
class Sampler(object): | |||
""" | |||
别名::class:`fastNLP.Sampler` :class:`fastNLP.core.sampler.Sampler` | |||
`Sampler` 类的基类. 规定以何种顺序取出data中的元素 | |||
子类必须实现 ``__call__`` 方法. 输入 `DataSet` 对象, 返回其中元素的下标序列 | |||
@@ -33,8 +30,6 @@ class Sampler(object): | |||
class SequentialSampler(Sampler): | |||
""" | |||
别名::class:`fastNLP.SequentialSampler` :class:`fastNLP.core.sampler.SequentialSampler` | |||
顺序取出元素的 `Sampler` | |||
""" | |||
@@ -45,8 +40,6 @@ class SequentialSampler(Sampler): | |||
class RandomSampler(Sampler): | |||
""" | |||
别名::class:`fastNLP.RandomSampler` :class:`fastNLP.core.sampler.RandomSampler` | |||
随机化取元素的 `Sampler` | |||
""" | |||
@@ -57,8 +50,6 @@ class RandomSampler(Sampler): | |||
class BucketSampler(Sampler): | |||
""" | |||
别名::class:`fastNLP.BucketSampler` :class:`fastNLP.core.sampler.BucketSampler` | |||
带Bucket的 `Random Sampler`. 可以随机地取出长度相似的元素 | |||
:param int num_buckets: bucket的数量 | |||
@@ -65,8 +65,6 @@ __all__ = [ | |||
class Tester(object): | |||
""" | |||
别名::class:`fastNLP.Tester` :class:`fastNLP.core.tester.Tester` | |||
Tester是在提供数据,模型以及metric的情况下进行性能测试的类。需要传入模型,数据以及metric进行验证。 | |||
:param ~fastNLP.DataSet data: 需要测试的数据集 | |||
@@ -357,8 +357,6 @@ from ._logger import logger | |||
class Trainer(object): | |||
""" | |||
别名::class:`fastNLP.Trainer` :class:`fastNLP.core.trainer.Trainer` | |||
Trainer在fastNLP中用于组织单任务的训练过程,可以避免用户在不同训练任务中重复撰写 | |||
(1) epoch循环; | |||
(2) 将数据分成不同的Batch; | |||
@@ -66,8 +66,6 @@ def _prepare_cache_filepath(filepath): | |||
def cache_results(_cache_fp, _refresh=False, _verbose=1): | |||
""" | |||
别名::class:`fastNLP.cache_results` :class:`fastNLP.core.uitls.cache_results` | |||
cache_results是fastNLP中用于cache数据的装饰器。通过下面的例子看一下如何使用:: | |||
import time | |||
@@ -66,8 +66,6 @@ def _check_build_status(func): | |||
class Vocabulary(object): | |||
""" | |||
别名::class:`fastNLP.Vocabulary` :class:`fastNLP.core.vocabulary.Vocabulary` | |||
用于构建, 存储和使用 `str` 到 `int` 的一一映射:: | |||
vocab = Vocabulary() | |||
@@ -33,8 +33,6 @@ class EmbeddingOption(Option): | |||
class EmbedLoader: | |||
""" | |||
别名::class:`fastNLP.io.EmbedLoader` :class:`fastNLP.io.embed_loader.EmbedLoader` | |||
用于读取预训练的embedding, 读取结果可直接载入为模型参数。 | |||
""" | |||
@@ -24,8 +24,6 @@ from ...core.instance import Instance | |||
class YelpLoader(Loader): | |||
""" | |||
别名::class:`fastNLP.io.YelpLoader` :class:`fastNLP.io.loader.YelpLoader` | |||
原始数据中内容应该为, 每一行为一个sample,第一个逗号之前为target,第一个逗号之后为文本内容。 | |||
Example:: | |||
@@ -164,8 +162,6 @@ class YelpPolarityLoader(YelpLoader): | |||
class IMDBLoader(Loader): | |||
""" | |||
别名::class:`fastNLP.io.IMDBLoader` :class:`fastNLP.io.loader.IMDBLoader` | |||
IMDBLoader读取后的数据将具有以下两列内容: raw_words: str, 需要分类的文本; target: str, 文本的标签 | |||
DataSet具备以下的结构: | |||
@@ -244,8 +240,6 @@ class IMDBLoader(Loader): | |||
class SSTLoader(Loader): | |||
""" | |||
别名::class:`fastNLP.io.SSTLoader` :class:`fastNLP.io.loader.SSTLoader` | |||
读取之后的DataSet具有以下的结构 | |||
.. csv-table:: 下面是使用SSTLoader读取的DataSet所具备的field | |||
@@ -27,8 +27,6 @@ from ...core.instance import Instance | |||
class ConllLoader(Loader): | |||
""" | |||
别名::class:`fastNLP.io.ConllLoader` :class:`fastNLP.io.loader.ConllLoader` | |||
ConllLoader支持读取的数据格式: 以空行隔开两个sample,除了分割行,每一行用空格或者制表符隔开不同的元素。如下例所示: | |||
Example:: | |||
@@ -12,8 +12,6 @@ from ...core.instance import Instance | |||
class CSVLoader(Loader): | |||
""" | |||
别名::class:`fastNLP.io.CSVLoader` :class:`fastNLP.io.loader.CSVLoader` | |||
读取CSV格式的数据集, 返回 ``DataSet`` 。 | |||
:param List[str] headers: CSV文件的文件头.定义每一列的属性名称,即返回的DataSet中`field`的名称 | |||
@@ -12,8 +12,6 @@ from ...core.instance import Instance | |||
class JsonLoader(Loader): | |||
""" | |||
别名::class:`fastNLP.io.JsonLoader` :class:`fastNLP.io.loader.JsonLoader` | |||
读取json格式数据.数据必须按行存储,每行是一个包含各类属性的json对象 | |||
:param dict fields: 需要读入的json属性名称, 和读入后在DataSet中存储的field_name | |||
@@ -11,8 +11,6 @@ import torch | |||
class ModelLoader: | |||
""" | |||
别名::class:`fastNLP.io.ModelLoader` :class:`fastNLP.io.model_io.ModelLoader` | |||
用于读取模型 | |||
""" | |||
@@ -41,8 +39,6 @@ class ModelLoader: | |||
class ModelSaver(object): | |||
""" | |||
别名::class:`fastNLP.io.ModelSaver` :class:`fastNLP.io.model_io.ModelSaver` | |||
用于保存模型 | |||
Example:: | |||
@@ -228,8 +228,6 @@ class YelpPolarityPipe(_CLSPipe): | |||
class SSTPipe(_CLSPipe): | |||
""" | |||
别名::class:`fastNLP.io.SSTPipe` :class:`fastNLP.io.pipe.SSTPipe` | |||
经过该Pipe之后,DataSet中具备的field如下所示 | |||
.. csv-table:: 下面是使用SSTPipe处理后的DataSet所具备的field | |||
@@ -9,7 +9,9 @@ from .. import DataBundle | |||
class Pipe: | |||
""" | |||
别名::class:`fastNLP.io.Pipe` :class:`fastNLP.io.pipe.Pipe` | |||
.. todo:: | |||
doc | |||
""" | |||
def process(self, data_bundle: DataBundle) -> DataBundle: | |||
""" | |||
@@ -44,9 +44,6 @@ from ..embeddings import BertEmbedding | |||
class BertForSequenceClassification(BaseModel): | |||
""" | |||
别名: :class:`fastNLP.models.BertForSequenceClassification` | |||
:class:`fastNLP.models.bert.BertForSequenceClassification` | |||
BERT model for classification. | |||
:param fastNLP.embeddings.BertEmbedding embed: 下游模型的编码器(encoder). | |||
@@ -90,9 +87,6 @@ class BertForSequenceClassification(BaseModel): | |||
class BertForSentenceMatching(BaseModel): | |||
""" | |||
别名: :class:`fastNLP.models.BertForSentenceMatching` | |||
:class:`fastNLP.models.bert.BertForSentenceMatching` | |||
BERT model for sentence matching. | |||
:param fastNLP.embeddings.BertEmbedding embed: 下游模型的编码器(encoder). | |||
@@ -135,9 +129,6 @@ class BertForSentenceMatching(BaseModel): | |||
class BertForMultipleChoice(BaseModel): | |||
""" | |||
别名: :class:`fastNLP.models.BertForMultipleChoice` | |||
:class:`fastNLP.models.bert.BertForMultipleChoice` | |||
BERT model for multiple choice. | |||
:param fastNLP.embeddings.BertEmbedding embed: 下游模型的编码器(encoder). | |||
@@ -185,9 +176,6 @@ class BertForMultipleChoice(BaseModel): | |||
class BertForTokenClassification(BaseModel): | |||
""" | |||
别名: :class:`fastNLP.models.BertForTokenClassification` | |||
:class:`fastNLP.models.bert.BertForTokenClassification` | |||
BERT model for token classification. | |||
:param fastNLP.embeddings.BertEmbedding embed: 下游模型的编码器(encoder). | |||
@@ -231,9 +219,6 @@ class BertForTokenClassification(BaseModel): | |||
class BertForQuestionAnswering(BaseModel): | |||
""" | |||
别名: :class:`fastNLP.models.BertForQuestionAnswering` | |||
:class:`fastNLP.models.bert.BertForQuestionAnswering` | |||
BERT model for classification. | |||
:param fastNLP.embeddings.BertEmbedding embed: 下游模型的编码器(encoder). | |||
@@ -130,8 +130,6 @@ def _find_cycle(vertices, edges): | |||
class GraphParser(BaseModel): | |||
""" | |||
别名::class:`fastNLP.models.GraphParser` :class:`fastNLP.models.baffine_parser.GraphParser` | |||
基于图的parser base class, 支持贪婪解码和最大生成树解码 | |||
""" | |||
@@ -240,8 +238,6 @@ class LabelBilinear(nn.Module): | |||
class BiaffineParser(GraphParser): | |||
""" | |||
别名::class:`fastNLP.models.BiaffineParser` :class:`fastNLP.models.baffine_parser.BiaffineParser` | |||
Biaffine Dependency Parser 实现. | |||
论文参考 `Deep Biaffine Attention for Neural Dependency Parsing (Dozat and Manning, 2016) <https://arxiv.org/abs/1611.01734>`_ . | |||
@@ -475,8 +471,6 @@ class BiaffineParser(GraphParser): | |||
class ParserLoss(LossFunc): | |||
""" | |||
别名::class:`fastNLP.models.ParserLoss` :class:`fastNLP.models.baffine_parser.ParserLoss` | |||
计算parser的loss | |||
:param pred1: [batch_size, seq_len, seq_len] 边预测logits | |||
@@ -500,8 +494,6 @@ class ParserLoss(LossFunc): | |||
class ParserMetric(MetricBase): | |||
""" | |||
别名::class:`fastNLP.models.ParserMetric` :class:`fastNLP.models.baffine_parser.ParserMetric` | |||
评估parser的性能 | |||
:param pred1: 边预测logits | |||
@@ -18,8 +18,6 @@ from ..modules import encoder | |||
class CNNText(torch.nn.Module): | |||
""" | |||
别名::class:`fastNLP.models.CNNText` :class:`fastNLP.models.cnn_text_classification.CNNText` | |||
使用CNN进行文本分类的模型 | |||
'Yoon Kim. 2014. Convolution Neural Networks for Sentence Classification.' | |||
@@ -77,8 +77,6 @@ class BiLSTMCRF(BaseModel): | |||
class SeqLabeling(BaseModel): | |||
""" | |||
别名::class:`fastNLP.models.SeqLabeling` :class:`fastNLP.models.sequence_labeling.SeqLabeling` | |||
一个基础的Sequence labeling的模型。 | |||
用于做sequence labeling的基础类。结构包含一层Embedding,一层LSTM(单向,一层),一层FC,以及一层CRF。 | |||
@@ -156,8 +154,6 @@ class SeqLabeling(BaseModel): | |||
class AdvSeqLabel(nn.Module): | |||
""" | |||
别名::class:`fastNLP.models.AdvSeqLabel` :class:`fastNLP.models.sequence_labeling.AdvSeqLabel` | |||
更复杂的Sequence Labelling模型。结构为Embedding, LayerNorm, 双向LSTM(两层),FC,LayerNorm,DropOut,FC,CRF。 | |||
:param tuple(int,int),torch.FloatTensor,nn.Embedding,numpy.ndarray embed: Embedding的大小(传入tuple(int, int), | |||
@@ -19,8 +19,6 @@ from ..embeddings.embedding import TokenEmbedding, Embedding | |||
class ESIM(BaseModel): | |||
""" | |||
别名::class:`fastNLP.models.ESIM` :class:`fastNLP.models.snli.ESIM` | |||
ESIM model的一个PyTorch实现 | |||
论文参见: https://arxiv.org/pdf/1609.06038.pdf | |||
@@ -19,8 +19,6 @@ from ..core.const import Const | |||
class StarTransEnc(nn.Module): | |||
""" | |||
别名::class:`fastNLP.models.StarTransEnc` :class:`fastNLP.models.star_transformer.StarTransEnc` | |||
带word embedding的Star-Transformer Encoder | |||
:param embed: 单词词典, 可以是 tuple, 包括(num_embedings, embedding_dim), 即 | |||
@@ -104,8 +102,6 @@ class _NLICls(nn.Module): | |||
class STSeqLabel(nn.Module): | |||
""" | |||
别名::class:`fastNLP.models.STSeqLabel` :class:`fastNLP.models.star_transformer.STSeqLabel` | |||
用于序列标注的Star-Transformer模型 | |||
:param embed: 单词词典, 可以是 tuple, 包括(num_embedings, embedding_dim), 即 | |||
@@ -169,8 +165,6 @@ class STSeqLabel(nn.Module): | |||
class STSeqCls(nn.Module): | |||
""" | |||
别名::class:`fastNLP.models.STSeqCls` :class:`fastNLP.models.star_transformer.STSeqCls` | |||
用于分类任务的Star-Transformer | |||
:param embed: 单词词典, 可以是 tuple, 包括(num_embedings, embedding_dim), 即 | |||
@@ -234,8 +228,6 @@ class STSeqCls(nn.Module): | |||
class STNLICls(nn.Module): | |||
""" | |||
别名::class:`fastNLP.models.STNLICls` :class:`fastNLP.models.star_transformer.STNLICls` | |||
用于自然语言推断(NLI)的Star-Transformer | |||
:param embed: 单词词典, 可以是 tuple, 包括(num_embedings, embedding_dim), 即 | |||
@@ -166,10 +166,7 @@ def _is_transition_allowed(encoding_type, from_tag, from_label, to_tag, to_label | |||
class ConditionalRandomField(nn.Module): | |||
""" | |||
别名::class:`fastNLP.modules.ConditionalRandomField` :class:`fastNLP.modules.decoder.ConditionalRandomField` | |||
条件随机场。 | |||
提供forward()以及viterbi_decode()两个方法,分别用于训练与inference。 | |||
条件随机场。提供forward()以及viterbi_decode()两个方法,分别用于训练与inference。 | |||
:param int num_tags: 标签的数量 | |||
:param bool include_start_end_trans: 是否考虑各个tag作为开始以及结尾的分数。 | |||