参考以下步骤进行离线模型dump操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
{
"dump":{
"dump_list":[
{ "model_name":"ResNet-101"
},
{
"model_name":"ResNet-50",
"layer":[
"conv1conv1_relu",
"res2a_branch2ares2a_branch2a_relu",
"res2a_branch1",
"pool1"
]
}
],
"dump_path":"$HOME/output",
"dump_mode":"output",
"dump_op_switch":"off",
"dump_data":"tensor"
}
}
|
单算子调用场景下,开启Dump数据采集:
1 2 3 4 5 6 7 8 |
{
"dump":{
"dump_path":"output",
"dump_list":[],
"dump_op_switch":"on",
"dump_data":"tensor"
}
}
|
配置项 |
参数说明 |
||
---|---|---|---|
dump_list |
(必选)待dump数据的整网模型列表。 创建模型dump配置信息,当存在多个模型需要dump时,需要每个模型之间用英文逗号隔开。 在单算子调用场景(包括单算子模型执行和单算子API执行)下,dump_list为空。 |
||
model_name |
模型名称,各个模型的model_name值须唯一。
|
||
layer |
IO性能相对较差时,可能会出现由于数据量过大导致执行超时,所以不建议全量dump,请指定算子进行dump。通过该字段可以指定需要dump的算子名,支持指定为ATC模型转换后的算子名,也支持指定为转换前的原始算子名,配置时需注意:
|
||
dump_path |
(必选)dump数据文件存储到运行环境的目录,该目录需要提前创建且确保安装时配置的运行用户具有读写权限。
支持配置绝对路径或相对路径:
|
||
dump_mode |
dump数据模式。 |
||
dump_level |
dump数据级别,取值:
默认配置下,dump数据文件会比较多,例如有一些aclnn开头的dump文件,若用户对dump性能有要求或内存资源有限时,则可以将该参数设置为op级别,以便提升dump性能、精简dump数据文件数量。
说明:
算子是一个运算逻辑的表示(如加减乘除运算),kernel是运算逻辑真正进行计算处理的实现,需要分配具体的计算设备完成计算。 |
||
dump_op_switch |
单算子调用场景(包括单算子模型执行和单算子API执行)下,是否开启dump数据采集。
|
||
dump_step |
指定采集哪些迭代的Dump数据。推理场景无需配置。 不配置该参数,默认所有迭代都会产生dump数据,数据量比较大,建议按需指定迭代。 多个迭代用“|”分割,例如:0|5|10;也可以用“-”指定迭代范围,例如:0|3-5|10。 配置示例:
说明:
训练场景下,若通过acl.json中的dump_step参数指定采集哪些迭代的Dump数据,又同时在GEInitialize接口中配置了ge.exec.dumpStep参数(该参数也用于指定采集哪些迭代的Dump数据),则以最后配置的参数为准。GEInitialize接口的详细介绍请参见《Ascend Graph开发指南》的“GEInitialize”。 |
||
dump_data |
算子dump内容类型,取值:
通常dump数据量太大并且耗时长,可以先dump算子统计数据,根据统计数据识别可能异常的算子,然后再dump算子数据。 模型Dump场景下,会根据dump_mode处的配置统计算子输入或算子输出或算子输入&输出的信息。 |
||
dump_stats |
仅当dump_data=stats时,可通过本参数设置收集统计数据中的哪一类数据,本参数取值如下:
说明:
若不指定,默认采集Max、Min、Avg、Nan、Negative Inf、Positive Inf数据。 配置示例:
|
dump数据文件路径为:{dump_path}/{time}/{deviceid}/{model_name}/{model_id}/{data_index}/{dump文件}
单算子模型dump时为{dump_path}/{time}/{deviceid}/{dump文件}
路径key |
说明 |
备注 |
---|---|---|
dump_path |
acl.json中配置的dump数据文件存储目录。 |
dump数据文件命名格式为:{op_type}.{op_name}.{task_id}.{stream_id}.{timestamp} |
time |
dump数据文件落盘的时间。 |
格式为:YYYYMMDDHHMMSS |
deviceid |
Device设备ID号。 |
- |
model_name |
模型名称。 |
如果model_name出现了“.”、“/”、“\”、空格时,转换为下划线表示。 |
model_id |
模型ID号。 |
- |
data_index |
针对每个Task ID执行的次数维护一个序号,从0开始计数,该Task每dump一次数据,序号递增1。 |
- |