fastnlp / fastNLP

fastNLP: A Modularized and Extensible NLP Framework. Currently still in incubation.
https://gitee.com/fastnlp/fastNLP
Apache License 2.0
3.05k stars 451 forks source link

未能按预期设置Padder #355

Closed LouChao98 closed 3 years ago

LouChao98 commented 3 years ago

Describe the bug 此issue包含两个问题

  1. 根据文档,DataSet.add_field(..., padder=None)应该禁用padder。 但是DataSet.add_field内部调用FieldArray.__init__时,padder=None 会导致自动创建一个AutoPadder()。和文档描述不一致。
  2. DataSet._add_apply_field 时,如果new_field_name in self.field_arrays, 即inplace操作,应当保留padder属性不变,但实际padder被重置为AutoPadder

To Reproduce

Desktop (please complete the following information):

yhcc commented 3 years ago

感谢您的细心。我们已经在dev分支的7b4e099版本修复了这个bug。但由于最初设计的原因,当前状态下如果您不希望fastNLP对某个field进行pad,直接通过set_ignore_type()函数来让fastNLP不要去check这个field的类型并不对它进行pad。