Skip to content

It is required to include LoDTensor input with instance_size=0 in sequence OP test

Tao Luo edited this page Jan 15, 2020 · 1 revision

Sequence相关Op单测中必须包含instance size为0的LoDTensor输入


It is required to include LoDTensor input with instance_size=0 in sequence OP test (English Version)


规范概要:

  • 第1节,本规范说明
  • 第2节,本规范的检查方法
  • 第3节,未通过检查的修改建议

补充说明:

此规范在执行过程中,可能存在未考虑周全的地方。请大家积极反馈意见,在实施过程中不断补充与完善。

1. 背景

对于一维LoD,LoD的每一个元素可以理解为是句子长度,句子长度可能会存在等于0的情况,单测里面必须包含句子长度等于0的情况,否则实际运行的时候可能会出现bug。

2. 本规范检查内容。

检查范围:所有Sequence Op的单测脚本中,至少需要调用一次Class OpTestget_sequence_instance_size_0_input方法获取instance size为0的LoDTensor输入。

特殊情况

除特殊情况外,其他的单测均被要求进行该检查。

3. CI检查方法

当白名单文件check_op_sequence_instance_0_input_white_list.py被修改时,会触发CI增量检测,需要特定人员审核并描述原因。

4. 未通过检查的修改建议

当单测未通过检查时,可以参考以下建议进行修改:

  • 检查op是否有一个对应的python/paddle/fluid/tests/unittests/sequence/test_${op_name}.py单测文件
  • 检查op的单测文件里是否至少包含一次Class OpTestget_sequence_instance_size_0_input方法调用,以包含instance size为0的LoDTensor输入的测试

若遇到其他问题,请联系 @JepsonWong

Clone this wiki locally