【需求】多slots样本中支持其中部分slot 为空的情况
Created by: buptzzl
旧版paddle中,对多slot格式的样本如: 0;0 1 3; 2 1 5; 是支持的。切换到新版paddle后会在训练前的导入数据时失败,见issue-1273,
抛如下异常:
# this is shell F0207 10:51:08.878875 34848 PythonUtil.h:215] Check failed: PySequence_Check(seq_)- #this is shell
搜索对应的PYTHON代码见PyDataProvider2.py#L152 文件发现对应的class CheckWrapper 中针对多slot有强制检查必须全部非None: `
def __call__(self, obj, filename):
for items in self.generator(obj, filename):
try:
assert len(items) == len(self.input_types)
assert len(filter(lambda x: x is None, items)) == 0 # 要求全部非None
`