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