-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
It is required to include LoDTensor input with instance_size=0 in sequence OP test (English Version)
规范概要:
- 第1节,本规范说明
- 第2节,本规范的检查方法
- 第3节,未通过检查的修改建议
补充说明:
此规范在执行过程中,可能存在未考虑周全的地方。请大家积极反馈意见,在实施过程中不断补充与完善。
对于一维LoD,LoD的每一个元素可以理解为是句子长度,句子长度可能会存在等于0的情况,单测里面必须包含句子长度等于0的情况,否则实际运行的时候可能会出现bug。
检查范围:所有Sequence Op的单测脚本中,至少需要调用一次Class OpTest
的get_sequence_instance_size_0_input
方法获取instance size为0的LoDTensor输入。
特殊情况:
- 对于特殊情况,监控机制会通过白名单
NEED_TO_FIX_OP_LIST
将其豁免 - 白名单位置:python/paddle/fluid/tests/unittests/white_list/check_op_sequence_instance_0_input_white_list.py,可以通过将op名称加入
NEED_TO_FIX_OP_LIST
跳过该检查。
除特殊情况外,其他的单测均被要求进行该检查。
当白名单文件check_op_sequence_instance_0_input_white_list.py
被修改时,会触发CI增量检测,需要特定人员审核并描述原因。
当单测未通过检查时,可以参考以下建议进行修改:
- 检查op是否有一个对应的
python/paddle/fluid/tests/unittests/sequence/test_${op_name}.py
单测文件 - 检查op的单测文件里是否至少包含一次
Class OpTest
的get_sequence_instance_size_0_input
方法调用,以包含instance size为0的LoDTensor输入的测试
若遇到其他问题,请联系 @JepsonWong