--dynamic_dims
功能说明
设置ND格式下动态维度的档位。适用于执行推理时,每次处理任意维度的场景。
关联参数
该参数需要与--input_shape配合使用,不能与--dynamic_batch_size、--dynamic_image_size、--insert_op_conf同时使用。
参数取值
参数值:通过"dim1,dim2,dim3;dim4,dim5,dim6;dim7,dim8,dim9"的形式设置。
参数值格式:所有档位必须放在双引号中,每档中间使用英文分号分隔,每档中的dim值与--input_shape参数中的-1标识的参数依次对应,--input_shape参数中有几个-1,则每档必须设置几个维度。
参数值约束:当前支持的输入shape的动态维度档位最多为4维,每个维度档位数取值范围为(1,100],既必须设置至少2个档位,最多支持100档配置,建议配置为3~4档。
推荐配置及收益
无。
示例
- 若网络模型只有一个输入:
每档中的dim值与--input_shape参数中的-1标识的参数依次对应,--input_shape参数中有几个-1,则每档必须设置几个维度。例如:
调优引擎参数取值为:
--input_shape="data:1,-1" --dynamic_dims="4;8;16;64"
则调优引擎在调优模型时,支持的data算子的shape为1,4; 1,8; 1,16;1,64。
调优引擎参数取值为:
--input_shape="data:1,-1,-1" --dynamic_dims="1,2;3,4;5,6;7,8"
则调优引擎在调优模型时,支持的data算子的shape为1,1,2; 1,3,4; 1,5,6; 1,7,8。
- 若网络模型有多个输入:
每档中的dim值与网络模型输入参数中的-1标识的参数依次对应,网络模型输入参数中有几个-1,则每档必须设置几个维度。例如网络模型有三个输入,分别为data(1,1,40,T),label(1,T),mask(T,T) , 其中T为动态可变。则配置示例为:
--input_shape="data:1,1,40,-1;label:1,-1;mask:-1,-1" --dynamic_dims="20,20,1,1;40,40,2,2;80,60,4,4" --input_format=ND
在调优引擎调优模型时,支持的输入dims组合档数分别为:
第0档:data(1,1,40,20)+label(1,20)+mask(1,1)
第1档:data(1,1,40,40)+label(1,40)+mask(2,2)
第2档:data(1,1,40,80)+label(1,60)+mask(4,4)