Browse Source

更新了一些文档格式

tags/v0.4.10
ChenXin 5 years ago
parent
commit
96437f9e26
8 changed files with 17 additions and 42 deletions
  1. +2
    -5
      fastNLP/core/batch.py
  2. +2
    -6
      fastNLP/core/dataset.py
  3. +1
    -3
      fastNLP/core/field.py
  4. +1
    -3
      fastNLP/core/instance.py
  5. +3
    -3
      fastNLP/core/losses.py
  6. +2
    -6
      fastNLP/core/utils.py
  7. +5
    -15
      fastNLP/core/vocabulary.py
  8. +1
    -1
      fastNLP/io/dataset_loader.py

+ 2
- 5
fastNLP/core/batch.py View File

@@ -30,11 +30,8 @@ class Batch(object):
""" """
别名::class:`fastNLP.Batch` :class:`fastNLP.core.batch.Batch` 别名::class:`fastNLP.Batch` :class:`fastNLP.core.batch.Batch`


Batch 用于从 `DataSet` 中按一定的顺序, 依次按 ``batch_size`` 的大小将数据取出.
组成 `x` 和 `y`


Example::
Batch 用于从 `DataSet` 中按一定的顺序, 依次按 ``batch_size`` 的大小将数据取出,
组成 `x` 和 `y`::


batch = Batch(data_set, batch_size=16, sampler=SequentialSampler()) batch = Batch(data_set, batch_size=16, sampler=SequentialSampler())
num_batch = len(batch) num_batch = len(batch)


+ 2
- 6
fastNLP/core/dataset.py View File

@@ -571,9 +571,7 @@ class DataSet(object):
def set_input(self, *field_names, flag=True): def set_input(self, *field_names, flag=True):
""" """
将field_names的field设置为input

Example::
将field_names的field设置为input::


dataset.set_input('words', 'seq_len') # 将words和seq_len这两个field的input属性设置为True dataset.set_input('words', 'seq_len') # 将words和seq_len这两个field的input属性设置为True
dataset.set_input('words', flag=False) # 将words这个field的input属性设置为False dataset.set_input('words', flag=False) # 将words这个field的input属性设置为False
@@ -605,9 +603,7 @@ class DataSet(object):
def set_padder(self, field_name, padder): def set_padder(self, field_name, padder):
""" """
为field_name设置padder

Example::
为field_name设置padder::


from fastNLP import EngChar2DPadder from fastNLP import EngChar2DPadder
padder = EngChar2DPadder() padder = EngChar2DPadder()


+ 1
- 3
fastNLP/core/field.py View File

@@ -448,9 +448,7 @@ class EngChar2DPadder(Padder):
但这个Padder只能处理index为int的情况。 但这个Padder只能处理index为int的情况。


padded过后的batch内容,形状为(batch_size, max_sentence_length, max_word_length). max_sentence_length为这个batch中最大句 padded过后的batch内容,形状为(batch_size, max_sentence_length, max_word_length). max_sentence_length为这个batch中最大句
子长度;max_word_length为这个batch中最长的word的长度

Example::
子长度;max_word_length为这个batch中最长的word的长度::


from fastNLP import DataSet from fastNLP import DataSet
from fastNLP import EngChar2DPadder from fastNLP import EngChar2DPadder


+ 1
- 3
fastNLP/core/instance.py View File

@@ -13,9 +13,7 @@ class Instance(object):
别名::class:`fastNLP.Instance` :class:`fastNLP.core.instance.Instance` 别名::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所示

Example::
Instance一般与 :class:`~fastNLP.DataSet` 一起使用, Instance的初始化如下面的Example所示::
>>>from fastNLP import Instance >>>from fastNLP import Instance
>>>ins = Instance(field_1=[1, 1, 1], field_2=[2, 2, 2]) >>>ins = Instance(field_1=[1, 1, 1], field_2=[2, 2, 2])


+ 3
- 3
fastNLP/core/losses.py View File

@@ -190,10 +190,10 @@ class LossFunc(LossBase):
找到相对应的参数名为value的参数,并传入func中作为参数名为key的参数 找到相对应的参数名为value的参数,并传入func中作为参数名为key的参数
:param kwargs: 除了参数映射表以外可以用key word args的方式设置参数映射关系 :param kwargs: 除了参数映射表以外可以用key word args的方式设置参数映射关系


Example::
使用方法::


>>> func = torch.nn.CrossEntropyLoss()
>>> loss_func = LossFunc(func, input="pred", target="label")
func = torch.nn.CrossEntropyLoss()
loss_func = LossFunc(func, input="pred", target="label")
# 这表示构建了一个损失函数类,由func计算损失函数,其中将从模型返回值或者DataSet的target=True的field # 这表示构建了一个损失函数类,由func计算损失函数,其中将从模型返回值或者DataSet的target=True的field
# 当中找到一个参数名为`pred`的参数传入func一个参数名为`input`的参数;找到一个参数名为`label`的参数 # 当中找到一个参数名为`pred`的参数传入func一个参数名为`input`的参数;找到一个参数名为`label`的参数
# 传入func作为一个名为`target`的参数 # 传入func作为一个名为`target`的参数


+ 2
- 6
fastNLP/core/utils.py View File

@@ -68,18 +68,14 @@ def cache_results(_cache_fp, _refresh=False, _verbose=1):
# res = [5 4 9 1 8] # res = [5 4 9 1 8]
# 0.0040721893310546875 # 0.0040721893310546875


可以看到第二次运行的时候,只用了0.0001s左右,是由于第二次运行将直接从cache.pkl这个文件读取数据,而不会经过再次预处理

Example::
可以看到第二次运行的时候,只用了0.0001s左右,是由于第二次运行将直接从cache.pkl这个文件读取数据,而不会经过再次预处理::


# 还是以上面的例子为例,如果需要重新生成另一个cache,比如另一个数据集的内容,通过如下的方式调用即可 # 还是以上面的例子为例,如果需要重新生成另一个cache,比如另一个数据集的内容,通过如下的方式调用即可
process_data(_cache_fp='cache2.pkl') # 完全不影响之前的‘cache.pkl' process_data(_cache_fp='cache2.pkl') # 完全不影响之前的‘cache.pkl'


上面的_cache_fp是cache_results会识别的参数,它将从'cache2.pkl'这里缓存/读取数据,即这里的'cache2.pkl'覆盖默认的 上面的_cache_fp是cache_results会识别的参数,它将从'cache2.pkl'这里缓存/读取数据,即这里的'cache2.pkl'覆盖默认的
'cache.pkl'。如果在你的函数前面加上了@cache_results()则你的函数会增加三个参数[_cache_fp, _refresh, _verbose]。 'cache.pkl'。如果在你的函数前面加上了@cache_results()则你的函数会增加三个参数[_cache_fp, _refresh, _verbose]。
上面的例子即为使用_cache_fp的情况,这三个参数不会传入到你的函数中,当然你写的函数参数名也不可能包含这三个名称。

Example::
上面的例子即为使用_cache_fp的情况,这三个参数不会传入到你的函数中,当然你写的函数参数名也不可能包含这三个名称::


process_data(_cache_fp='cache2.pkl', _refresh=True) # 这里强制重新生成一份对预处理的cache。 process_data(_cache_fp='cache2.pkl', _refresh=True) # 这里强制重新生成一份对预处理的cache。
# _verbose是用于控制输出信息的,如果为0,则不输出任何内容;如果为1,则会提醒当前步骤是读取的cache还是生成了新的cache # _verbose是用于控制输出信息的,如果为0,则不输出任何内容;如果为1,则会提醒当前步骤是读取的cache还是生成了新的cache


+ 5
- 15
fastNLP/core/vocabulary.py View File

@@ -44,9 +44,7 @@ class Vocabulary(object):
""" """
别名::class:`fastNLP.Vocabulary` :class:`fastNLP.core.vocabulary.Vocabulary` 别名::class:`fastNLP.Vocabulary` :class:`fastNLP.core.vocabulary.Vocabulary`
用于构建, 存储和使用 `str` 到 `int` 的一一映射

Example::
用于构建, 存储和使用 `str` 到 `int` 的一一映射::


vocab = Vocabulary() vocab = Vocabulary()
word_list = "this is a word list".split() word_list = "this is a word list".split()
@@ -159,9 +157,7 @@ class Vocabulary(object):
def has_word(self, w): def has_word(self, w):
""" """
检查词是否被记录

Example::
检查词是否被记录::


has_abc = vocab.has_word('abc') has_abc = vocab.has_word('abc')
# equals to # equals to
@@ -189,9 +185,7 @@ class Vocabulary(object):
@_check_build_vocab @_check_build_vocab
def index_dataset(self, *datasets, field_name, new_field_name=None): def index_dataset(self, *datasets, field_name, new_field_name=None):
""" """
将DataSet中对应field的词转为数字.

Example::
将DataSet中对应field的词转为数字,Example::


# remember to use `field_name` # remember to use `field_name`
vocab.index_dataset(train_data, dev_data, test_data, field_name='words') vocab.index_dataset(train_data, dev_data, test_data, field_name='words')
@@ -234,9 +228,7 @@ class Vocabulary(object):
def from_dataset(self, *datasets, field_name): def from_dataset(self, *datasets, field_name):
""" """
使用dataset的对应field中词构建词典

Example::
使用dataset的对应field中词构建词典::


# remember to use `field_name` # remember to use `field_name`
vocab.from_dataset(train_data1, train_data2, field_name='words') vocab.from_dataset(train_data1, train_data2, field_name='words')
@@ -280,9 +272,7 @@ class Vocabulary(object):
def to_index(self, w): def to_index(self, w):
""" """
将词转为数字. 若词不再词典中被记录, 将视为 unknown, 若 ``unknown=None`` , 将抛出 将词转为数字. 若词不再词典中被记录, 将视为 unknown, 若 ``unknown=None`` , 将抛出
``ValueError``

Example::
``ValueError``::


index = vocab.to_index('abc') index = vocab.to_index('abc')
# equals to # equals to


+ 1
- 1
fastNLP/io/dataset_loader.py View File

@@ -106,7 +106,7 @@ class DataSetLoader:
""" """
别名::class:`fastNLP.io.DataSetLoader` :class:`fastNLP.io.dataset_loader.DataSetLoader` 别名::class:`fastNLP.io.DataSetLoader` :class:`fastNLP.io.dataset_loader.DataSetLoader`


定义了各种 DataSetLoader 所需的API 接口,开发者应该继承它实现各种的 DataSetLoader。
定义了各种 DataSetLoader (针对特定数据上的特定任务) 所需的API 接口,开发者应该继承它实现各种的 DataSetLoader。
开发者至少应该编写如下内容: 开发者至少应该编写如下内容:


Loading…
Cancel
Save