动态BatchSize/动态分辨率/动态维度场景,只设置一个档位,模型转换失败
2023/09/12
217
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 模型推理 | 模型转换 | ATC、模型转换、动态BatchSize、动态分辨率、动态维度、shape分档 |
问题现象描述
此类问题我们以--dynamic_batch_size参数为例进行说明。
使用ATC工具进行模型转换时,使用--dynamic_batch_size参数转换支持多个BatchSize的模型,提示E10035报错信息。
atc --model=./resnet50_tensorflow_1.7.pb --input_shape="Placeholder:-1,224,224,3" --dynamic_batch_size="2" --soc_version=Ascend310 --output=./out/test --framework=3
报错信息如下:
ATC run failed, Please check the detail log, Try 'atc --help' for more information E10035: [--dynamic_batch_size], [--dynamic_image_size], or [--dynamic_dims] has [1] profiles, which is less than the minimum ([2]). Solution: Ensure that the number of profiles configured in [--dynamic_batch_size], [--dynamic_image_size], or [--dynamic_dims] is at least the minimum. TraceBack (most recent call last): [GraphOpt][Prepare] Failed to run multi-dims-process for graph[test].[FUNC:OptimizeAfterGraphNormalization][FILE:fe_graph_optimizer.cc][LINE:639] Call OptimizeAfterGraphNormalization failed, engine_name:AIcoreEngine, graph_name:test[FUNC:OptimizeAfterGraphNormalization][FILE:graph_optimize.cc][LINE:224] build graph failed, graph id:0, ret:1343225857[FUNC:BuildModelWithGraphId][FILE:ge_generator.cc][LINE:1656]
原因分析
使用ATC工具进行模型转换,如果使用了--dynamic_batch_size或--dynamic_image_size或--dynamic_dims动态shape参数时,请确保设置的档位数取值范围为(1,100],既必须设置至少2个档位,最多支持100档配置。
上述模型转换命令,只设置了一个档位,不符合参数设置要求。
解决措施
重新设置模型转换时的档位信息,至少设置2个档位,档位之间使用英文逗号分隔。改后样例如下:
atc --model=./resnet50_tensorflow_1.7.pb --input_shape="Placeholder:-1,224,224,3" --dynamic_batch_size="2,4" --soc_version=Ascend310 --output=./out/test --framework=3
本页内容