下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

--dynamic_dims

功能说明

设置ND格式下动态维度的档位。适用于执行推理时,每次处理任意维度的场景。

为支持Transformer等网络在输入格式的维度不确定的场景,通过该参数实现ND格式下任意维度的档位设置。ND表示支持任意格式,当前N<=4。

关联参数

该参数需要与--input_shape--input_format配合使用,不能与--dynamic_batch_size--dynamic_image_size--input_shape_range--insert_op_conf同时使用。

参数取值

参数值:通过"dim1,dim2,dim3;dim4,dim5,dim6;dim7,dim8,dim9"的形式设置。

参数值格式:所有档位必须放在双引号中,档位之间使用英文分号分隔,每档内的dim值与--input_shape参数中的-1标识的参数依次对应,--input_shape参数中有几个-1,则每档必须设置几个维度。

参数值约束:

  • 档位数取值范围为(1,100],即必须设置至少2个档位,最多支持100档配置,建议配置为3~4档;每档最多支持任意指定4个维度。

推荐配置及收益

无。

示例

  • 若网络模型只有一个输入:

    每档中的dim值与--input_shape参数中的-1标识的参数依次对应,--input_shape参数中有几个-1,则每档必须设置几个维度。例如:

    ATC参数取值为:

    --input_shape="data:1,-1"  --dynamic_dims="4;8;16;64" --input_format=ND

    则ATC在编译模型时,支持的data算子的shape为1,4; 1,8; 1,16; 1,64。

    ATC参数取值为:

    --input_shape="data:1,-1,-1"  --dynamic_dims="1,2;3,4;5,6;7,8" --input_format=ND

    则ATC在编译模型时,支持的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

    在ATC编译模型时,支持的输入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)

支持的型号

Atlas 200/300/500 推理产品

Atlas 推理系列产品(Ascend 310P处理器)

Atlas 训练系列产品

Atlas 200/500 A2推理产品

Atlas A2训练系列产品

依赖约束

  • 使用约束

    不支持含有过程动态shape算子(网络中间层shape不固定)的网络。

  • 接口约束

    如果模型转换时通过该参数设置了动态维度,则使用应用工程进行模型推理时,需要在aclmdlExecute接口之前,增加aclmdlSetInputDynamicDims接口,用于设置真实的维度。

    关于aclmdlSetInputDynamicDims接口的具体使用方法,请参见CANN AscendCL应用软件开发指南(C&C++)手册“AscendCL API参考>模型加载与执行”章节。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词