输入数据和标杆数据准备
使用Ascend C调测工具进行算子调试调优之前,必须提供算子的输入数据和标杆数据。
- 输入数据(input数据):固定shape算子运行时的输入数据,bin格式。
- 标杆数据(golden数据):根据输入数据计算出来的真值数据,用于与输出数据进行精度比对,bin格式。
数据该如何准备,本章节提供了多种方式,用户可以根据实际情况选择合适的方式。
- 方式1:采用外部提供的input/golden数据。
用户采用外部数据源进行算子调测,一般适合首次调测场景。
在算子信息json配置文件中,将gen_data配为false,data_file配为输入数据、标杆数据对应的路径(必须为绝对路径),示例如下:
"gen_data": false, "data_file": "/path/to/input_data_q.bin", "data_file": "/path/to/golden_data_out.bin",
若外部提供的数据是.pt文件,需要转换为.bin文件,以Pytorch为例:
import torch model = torch.load('model.pt') # 加载.pt文件 torch.save(model, 'model.bin') # 将模型参数保存为二进制文件
- 方式2:采用已生成过的input/golden数据,无需重新生成。
当用户需要多次重跑,建议直接使用历史生成的数据,避免重复生成,导致调测耗时过长。
在算子信息json配置文件中,将gen_data配为false,data_file配为输入数据、标杆数据对应的bin文件名(不含路径信息,默认在当前路径下查找数据文件),示例如下:
"gen_data": false, "data_file": "input_data_q.bin", "data_file": "golden_data_out.bin",
- 方式3:采用工具随机生成input数据。
用户未准备任何数据,可采用工具随机生成的input数据,生成的bin数据文件默认在当前路径下的对应算子的data文件夹中。该场景下没有golden数据,因此不支持精度比对。
在算子信息json配置文件中,将gen_data配为true,data_script配为空字符串或null,data_file配为输入数据、标杆数据对应的bin文件名(不含路径信息,默认在当前路径下查找数据文件),示例如下:
"data_script": "", "gen_data": true, ...... "data_file": "sample.bin",
父主题: 命令行方式下数据和配置说明