ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CANN/ge ATC输入形状参数

CANN/ge ATC输入形状参数 --input_shape【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge产品支持情况全量芯片支持功能说明指定模型输入数据的shape。关联参数动态分档场景需要配合使用--dynamic_batch_size设置batch_size档位或--dynamic_image_size设置分辨率档位或--dynamic_dims设置指定维度档位参数。参数取值参数值原始模型为固定shape--input_shape参数为可选配置若模型为单个输入则shape样例为input_name:n,c,h,w。若模型有多个输入shape之间使用英文分号分隔样例为input_name1:n1,c1,h1,w1;input_name2:n2,c2,h2,w2。原始模型为非固定shape--input_shape参数必须配置若原始模型中输入数据的某个或某些维度值不固定当前支持通过设置动态分档或设置shape范围两种方式转换模型设置动态分档静态shape包括设置batch_size档位、设置分辨率档位、设置指定维度档位。设置--input_shape参数时将对应维度值设置为-1同时配合使用--dynamic_batch_size设置batch_size档位或--dynamic_image_size设置分辨率档位或--dynamic_dims设置指定维度档位参数。设置shape范围动态shape。Atlas 200I/500 A2 推理产品不支持设置shape范围。IPV350不支持设置shape范围。设置--input_shape参数时可将对应维度的值设置为范围例如1~10设置的range值范围必须有效。如果用户不想指定维度的范围或具体取值则可以将其设置为-1模型执行时该维度被解析为0的任意取值。原始模型shape为标量非动态分档场景shape为标量的输入可选配置例如模型有两个输入input_name1为标量即shape为[]形式input_name2输入shape样例为[n2,c2,h2,w2]则shape信息为input_name1:;input_name2:n2,c2,h2,w2标量的输入如果配置则配置为空。动态分档场景如果模型输入中既有标量shape又有支持动态分档的shape则标量输入不能忽略必须配置。例如模型有三个输入分别为A:[-1,c1,h1,w1]、B:[]、C:[n2,c2,h2,w2]则shape信息为A:-1,c1,h1,w1;B:;C:n2,c2,h2,w2标量输入B必须配置。参数值约束若模型有多个输入则指定的节点必须放在双引号中不同输入之间使用英文分号分隔input_name必须是转换前的网络模型中的节点名称。若原始模型中输入数据的某个维度值不固定例如input_name1:,h,w,c通过Netron等可视化软件打开模型之后输入信息样例如下该场景下--input_shape参数必填并可以进行如下操作固定shape将维度值设置为固定取值例如input_name1:1,h,w,c用于将输入数据某个维度不固定的原始模型转换为固定维度的离线模型。设置shape分档例如设置为“-1”与--dynamic_batch_size参数配合使用。设置shape范围时若设置为-1表示此维度可以使用0的任意取值该场景下取值上限为int64数据类型表示范围但受限于host和device侧物理内存的大小用户可以通过增大内存来支持。若使用该参数时同时通过--insert_op_conf设置了AIPP功能则AIPP输出图片的宽和高要在本参数所设置的范围内。推荐配置及收益无。示例固定shape--input_shape可选配置例如某网络的输入shape信息输入1input_0_0 [16,32,208,208]输入2input_1_0 [16,64,208,208]则--input_shape的配置信息为atc --input_shapeinput_0_0:16,32,208,208;input_1_0:16,64,208,208 ...非固定shape--input_shape必须配置静态shape设置batch_size档位的示例请参见--dynamic_batch_size。设置分辨率档位的示例请参见--dynamic_image_size。设置指定维度档位的示例请参见--dynamic_dims。动态shape设置shape范围的示例atc --input_shapeinput_0_0:1~10,32,208,208;input_1_0:16,64,100~208,100~208 ...shape为标量非动态分档场景shape为标量的输入可选配置。例如模型有两个输入input_name1为标量input_name2输入shape为[16,32,208,208]配置示例为atc --input_shapeinput_name1:;input_name2:16,32,208,208 ...上述示例中的input_name1为可选配置**。**动态分档场景shape为标量的输入必须配置。例如模型有三个输入shape信息分别为A:[-1,32,208,208]、B:[]、C:[16,64,208,208]则配置示例为A为动态分档输入此处以设置batch_size档位为例atc --input_shapeA:-1,32,208,208;B:;C:16,64,208,208 --dynamic_batch_size1,2,4 ...依赖约束使用约束如果用户通过--input_shape设置了动态shape范围参数同时又通过--insert_op_conf参数配置了动态AIPP功能则AIPP输出的宽和高要在--input_shape所设置的范围内。如果用户通过--input_shape设置了动态shape范围参数同时又通过--insert_op_conf参数配置了静态AIPP功能则如果模型只有一个输入该场景不支持如果模型有多个输入则必须对不同的输入节点进行设置比如一个输入节点设置静态AIPP另外一个节点设置动态shape。接口约束如果模型转换时通过该参数设置了shape的范围使用应用工程进行模型推理时需在aclmdlExecute接口之前调用aclmdlSetDatasetTensorDesc接口用于设置真实的输入Tensor描述信息输入shape范围模型执行之后调用aclmdlGetDatasetTensorDesc接口获取模型动态输出的Tensor描述信息再进一步调用aclTensorDesc下的操作接口获取输出Tensor数据占用的内存大小、Tensor的Format信息、Tensor的维度信息等。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表