使用MindStudio运行样例


cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification · Ascend/samples - 码云 - 开源中国 (gitee.com)为例

  1. 以运行用户登录开发环境。

  2. 下载sample仓代码并上传至环境后,请先进入“cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification”样例目录。

    请注意,下文中的样例目录均指“cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification”目录。

  3. 准备ResNet-50模型。

    1. 获取ResNet-50原始模型。

      您可以从以下链接中获取ResNet-50网络的模型文件(.prototxt)、权重文件(.caffemodel),并以运行用户将获取的文件上传至开发环境的“样例目录/caffe_model“目录下。如果目录不存在,需要自行创建。

      • ResNet-50网络的模型文件(*.prototxt):单击Link下载该文件。
      • ResNet-50网络的权重文件(*.caffemodel):单击Link下载该文件。

      在mindstudio中应该创建这样的目录结构:

      image-20240502211445801

    2. 将ResNet-50原始模型转换为适配昇腾AI处理器的离线模型(*.om文件)。

      切换到样例目录,执行如下命令(以昇腾310 AI处理器为例):

      atc --model=caffe_model/resnet50.prototxt --weight=caffe_model/resnet50.caffemodel --framework=0 --output=model/resnet50 --soc_version=Ascend310 --input_format=NCHW --input_fp16_nodes=data --output_type=FP32 --out_nodes=prob:0
      • --model:原始模型文件路径。

      • --weight:权重文件路径。

      • --framework:原始框架类型。0:表示Caffe;1:表示MindSpore;3:表示TensorFlow;5:表示ONNX。

      • --soc_version:昇腾AI处理器的版本。进入“CANN软件安装目录/compiler/data/platform_config”目录,".ini"文件的文件名即为昇腾AI处理器的版本,请根据实际情况选择。

      • --input_format:输入数据的Format。

      • --input_fp16_nodes:指定输入数据类型为FP16的输入节点名称。

      • --output_type和--out_nodes:这2个参数配合使用,指定prob节点的第一个输出的数据类型为float32。

      • --output:生成的resnet50.om文件存放在“样例目录/model“目录下。建议使用命令中的默认设置,否则在编译代码前,您还需要修改sample_process.cpp中的omModelPath参数值。

        const char* omModelPath = "../model/resnet50.om";

        在mindstudio中,使用Model Converter进行模型转换:

        image-20240502211645454

        其中--output参数的配置,需要点击Output Path的选项,然后选择输出模型的路径。

        其中--out_nodes=prob:0参数的配置,需要点击select选项,然后查看模型网络图,选择输出的节点:

        image-20240502212014159


文章作者: QT-7274
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 QT-7274 !
评论
  目录