ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

CANN/ge ATC框架参数说明

CANN/ge ATC框架参数说明 --framework【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge产品支持情况全量芯片支持功能说明原始网络模型框架类型。Ascend 950PR/Ascend 950DT不支持Caffe框架Caffe框架在该产品形态已不演进不保证功能可用。Atlas A3 训练系列产品/Atlas A3 推理系列产品不支持Caffe框架Caffe框架在该产品形态已不演进不保证功能可用。Atlas A2 训练系列产品/Atlas A2 推理系列产品不支持Caffe框架Caffe框架在该产品形态已不演进不保证功能可用。IPV350不支持Caffe框架Caffe框架在该产品形态已不演进不保证功能可用。关联参数无。参数取值参数值0Caffe1MindSpore框架*.air格式的模型文件或TorchAir通过export导出的标准*.air格式文件3TensorFlow5ONNX参数值约束当--mode为1时该参数可选可以指定Caffe、TensorFlow、ONNX原始模型转成JSON文件不指定时默认为离线模型转JSON文件如果指定时需要保证--om模型和--framework类型对应一致例如--mode1 --framework0 --om$HOME/module/resnet50.prototxt --mode1 --framework3 --om$HOME/module/resnet50_tensorflow.pb --mode1 --framework5 --om$HOME/module/resnet50.onnx当--mode为0或3时该参数必选可以指定Caffe、TensorFlow、MindSpore或ONNX。当取值为0时即为Caffe框架网络模型模型包括后缀为prototxt的模型文件和后缀为caffemodel的权重文件并且此两个文件的op name和op type必须保持名称一致包括大小写。当取值为3时即为TensorFlow框架网络模型只支持FrozenGraphDef格式即尾缀为pb的模型文件pb文件采用protobuf格式存储网络模型和权重数据都存储在同一个文件中。当取值为5时即为ONNX格式网络模型支持ai.onnx算子域中opset v11~v18版本的算子而PyTorch框架的pth模型可以转化为ONNX格式的模型或者通过TorchAir export导出标准的*.air格式文件然后才能进行模型转换。当取值为1且为MindSpore框架网络模型时请务必查看如下限制模型转换时仅支持后缀为*.air的模型文件--mode只支持配置为0--input_format只支持配置为NCHW配置其它值无效但模型转换成功MindSpore框架下使用--input_shape、--out_nodes、--is_output_adjust_hw_layout、--input_fp16_nodes、--is_input_adjust_hw_layout、--op_name_map参数不生效但模型转换成功当模型大小超过2G时在MindSpore框架中保存模型时会同时生成*.air文件、weight文件夹及其中的权重文件在模型转换时需要将weight文件夹与*.air文件存放在同级目录下否则模型转换报错。推荐配置及收益无。示例ONNX网络模型atc --mode0 --framework5 --model$HOME/module/resnet50.onnx --output$HOME/module/out/onnx_resnet50 --soc_versionsoc_versionTensorFlow框架atc --mode0 --framework3 --model$HOME/module/resnet50_tensorflow.pb --output$HOME/module/out/tf_resnet50 --soc_versionsoc_versionCaffe框架atc --mode0 --framework0 --model$HOME/module/resnet50.prototxt --weight$HOME/module/resnet50.caffemodel --output$HOME/module/out/caffe_resnet50 --soc_versionsoc_version*.air格式的模型文件atc --mode0 --framework1 --model$HOME/module/ResNet50.air --output$HOME/module/out/ResNet50_mindspore --soc_versionsoc_version使用约束如果用户使用Faster RCNN、YOLOv3、YOLOv2、SSD等Caffe框架网络模型进行模型转换由于此类网络中包含了一些原始Caffe框架中没有定义的算子结构如ROIPooling、Normalize、PSROI Pooling和Upsample等。为了使AI处理器能支持这些网络需要对原始的Caffe框架网络模型进行扩展降低开发者开发自定义算子/开发后处理代码的工作量详细扩展方法请参见定制网络修改Caffe。针对TensorFlow框架原始网络模型如果存在控制流算子比如Switch/Merge/LoopCond/Case/While等该类网络模型不能直接使用ATC工具进行模型转换需要先将控制流算子的网络模型转成函数类算子的网络模型然后利用ATC工具转换成适配AI处理器的离线模型详细转换方式请参见定制网络修改TensorFlow。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进