--input_hint_shape
产品支持情况
|
产品 |
是否支持 |
|---|---|
|
|
√ |
|
|
√ |
|
|
x |
|
|
x |
|
|
x |
功能说明
自动融合离线编译动态shape场景下,指定模型输入数据的hint shape,以支持该场景下符号化推导。
hint shape是模型编译时用户传入的一个提示shape值。如图1所示,模型中Data0、Data1和Data2的部分维度未知,但在模型执行时,用户会传入具有静态shape的输入Tensor。例如,在编译下图时,Data0的shape为[2, 3, 4, 2],Data1的shape为[2, 3, 1, 2],Data2的shape为[2, 3, 1, 2];因此,在编译模型时,s0的hint值为2,s1的hint值为3,s2的hint值为4,s3的hint值为2,s4的hint值为1。
ATC工具与自动融合功能交互流程如图2所示:
- 调用框架Parser功能,将主流框架的模型解析为CANN支持的Graph图结构。
- 图编译阶段会解析ATC工具传入的--input_hint_shape参数,然后进入AutoFuse自动融合符号化推导流程。AutoFuse自动融合原理详细介绍请参见《AutoFuse自动融合用户指南》。
关联参数
该参数需要与--input_shape配合使用,并且该参数需要为动态shape场景;不能与--dynamic_batch_size、--dynamic_image_size、--dynamic_dims同时使用。
参数取值
参数值:输入节点索引及shape信息,例如"input_index1:[n1,c1,h1,w1];input_index2:[n2,c2,h2,w2]",索引从0开始。
参数值格式:指定的参数必须放在双引号中,不同输入之间使用英文分号分隔,shape信息放在英文括号“[]”中。
参数值约束:针对--input_shape设置范围的维度,--input_hint_shape设置的取值需要在其范围以内。
推荐配置及收益
无。
示例
--input_shape="input_0_0:1~10,32,208,208;input_1_0:16,64,100~208,100~208" --input_hint_shape="0:[1,32,208,208];1:[16,64,100,100]"

