[教程]Arm+飞腾DSP异构环境下部署Mindspore-Lite应用(一)----python端生成ms模型

利用Mindspre Lite + 飞腾DSP 进行部署和应用开发的第一步就是通过Mindspore 在python端生成目标模型。主要涉及到模定义、和模型转换。下面以矩阵乘模型为例对过模型生成过程程进行说明:
DSP型号:FT04

一. 撰写python代码 : matrixmul.py

          import mindspore as ms
          import numpy as np
          from mindspore import nn, ops
          
          class Matmul(nn.Cell):
              def \__init_\_(self):
                  super(Matmul, self).\__init_\_()
                  self.matmul = ops.MatMul()
          
              def construct(self, x1, x2):
                  out = self.matmul(x1, x2)
                  return out
          
          
          x1 = np.ones((2, 2), dtype=np.float32)
          x2 = np.ones((2, 2), dtype=np.float32)
          x1_tensor = ms.Tensor(x1)
          x2_tensor = ms.Tensor(x2)
          
          model = Matmul()
          out = model(x1_tensor, x2_tensor)
          print(out)
          
          ms.export(model, x1_tensor, x2_tensor, file_name="matmul", file_format="MINDIR"

代码解释

1.导入的库

  • mindspore 这是主模块,用来构建和导出模型;
    * nn 是mindspore神经网络模块,包含网络层和模块的定义;
    * ops 是操作模块,包含各种数学运算操作;
    * numpy 可用来生成数据;

2.定义矩阵乘法模型

  • Matmul 类继承自 nn.Cell,是 MindSpore 中网络构建的基本单元;
    • __init__ 方法初始化模型,声明一个 MatMul 操作;
    • construct 方法定义了数据输入和操作过程,返回矩阵乘法的结果;

3.创建数据

  • 使用 numpy.ones 创建两个 2x2 的全1矩阵;
  • numpy 数组转换为 mindspore.Tensor,这是 MindSpore 中的数据表示方式,用于神经网络中的计算/

4.创建模型实例并执行

  • 创建 Matmul 类的一个实例 model
  • 调用 model__call__ 方法(即 construct 方法)来执行矩阵乘法计算并打印结果。

5.导出模型

  • 使用 ms.export 函数将模型导出为文件;
  • model 是要导出的模型;
  • x1_tensorx2_tensor 是输入参数;
  • file_name 是导出模型的文件名;
  • file_format 是导出模型的格式,这里指定为 MINDIR。

二. 执行该python代码
python3 .matrixmul.py
此时会生成matrixmul.mindir

三.利用Mindspore Lite 的模型转换工具转换成Mindspore Lite端侧允的模型
converter_lite --fmk=MINDIR --modelFile=matrixmul.mindir --outputFile=matrixmul

最终,生成了Mindspore Lite 端侧支持的模型:matrixmul.ms

以上就是Mindspore Lite端侧部署和生成模型的简单步MindRadar骤。当然这是建立在环境已经搭建好的基础上,比如有些更复杂模型会用到数字信号处理套件mindradar,如有更多疑问,欢迎交流;

优秀,共享了一个DSP的使用教程

建议前面加一下 [教程] 这个关键字,当前这个论坛,貌似没法区分教程和讨论贴

能够补充一下编译构建教程,和对应dsp 型号,更加可以吸引生态用户

[教程]Arm+飞腾DSP异构环境下部署Mindspore-Lite应用(二)—-Minsspore-Lite源码构建 - 端侧部署 Lite - 昇思MindSpore论坛

这里补充了源码的构建流程