文心数据格式校验工具
更新时间:2021-05-13
应用场景
- 用户在提交数据训练过程中,如果存在数据格式错误,将会导致训练失败,将浪费开发资源。
- 为此,文心提供了文心数据格式校验能力及工具,方便用户查找格式错误数据。
方式一:直接观察报错信息查找格式错误数据
- 文心在训练或者预测过程中出错时,会在日志中打印格式错误数据,并输出行号等信息。
- 以下为一个训练集中某一行的label改成数字字母混合,会出现的报错:
ValueError: invalid literal for int() with base 10:. 'w2w'
,batch data:
linenum 89 text: 0
linenum 90 text: 0
linenum 91 text: 0
linenum 92 text: 1
linenum 93 text: 0
linenum 94 text: 0
linenum 95 text: w2w
linenum 96 text: 0方式二:使用文心数据格式校验工具
- 当数据格式错误较多时,希望能快速发现数据错误,包含训练集、评估集、测试集和预测集等,可以使用校验工具data_check.py脚本。该脚本直接在本地进行数据处理检测操作,提升发现错误样本效率。目前暂不支持批量输出格式错误数据。
- data_check.py默认在 ./tasks/text_classification 下面,实际使用时可以拷贝到自己的任务目录下。
使用工具
- 直接通过Python脚本及其命令行参数就可以进行数据清洗。
python data_check.py --param_path ./examples/cls_cnn_ch.json- 如果数据没有问题,则会出现如下信息:
INFO: 03-30 10:44:06: data_check.py:35 * 140735848223616 run trainer.... pid = 36255
===== begin to process [train_reader] =======
===== begin to process [test_reader] =======
===== begin to process [predict_reader] =======
INFO: 03-30 10:44:07: data_check.py:54 * 140735848223616 end of data check .....- 如果把评估集里面第85行的label改成数字字母混合,会出现如下信息:
INFO: 03- -30 10:50:33: data_check. py:35 *. 140735848223616 run. trainer.... pid = 36725
begin. to process . [train_reader]
begin to process
[test_reader]
ERROR: 03-30 10:50:33: basic_dataset_reader. py:171 * 140735848223616 error occur! msg: Traceback (most recent call last):
ValueError: invalid literal for int() with base 10: '11wr'
, batch data:
linenum 85 text: 11wr