君正Magik算法平台介绍

                                                                                ------------摘自君正官方《magik_introduce》

00 引言

      君正简介芯片 + AI 算力 + AI 开发平台」方案落地,公布全栈式低功耗 AI 技术 

01 Magik概述

      Magik是一个为端侧AI应用场景打造的集模型训练优化转换部署推理于一体的全栈式深度学习开放平台。

     支持pytorch/tensorflow/mxnet/caffe/onnx等主流框架。

    全栈式,即提供训练工具包,用户可出数据,用其Training Kit训练。

君正Magik算法平台介绍_第1张图片

 具体

君正Magik算法平台介绍_第2张图片

02 Magik训练量化以及训练后量化

     2.1 模型本质上二进制文件。

     2.2 量化方式按量化位置分,训练量化(Quantization Aware Training,QAT)、训练后量化(Post-Training Quantization,PTQ )两种。

     QAT:训练中模拟量化行为,在训练中用浮点保存定点参数,最后进行推理时采用定点参数。

             优点:精度高、可量化至低位宽 (2、4、8) 

             缺点:时间成本高,需先训练float->8bit->4bit->2bit 

                        对训练经验和显卡要求高

     PTQ:对直接训练出的浮点模型进行模型参数量化。

             优点:方便,快捷

             缺点:目前为保持无损的转化只能量化到8bit

     量化方式选择,训练量化可以得到更小的模型参数、更快推理速度。

     板子支持性问题后量化(T40);训练量化(Txx,Xs1,T40),eg T30就没得选了,哈哈

    2.3 训练量化硬件需求,需GPU

    2.4 软件需求

       注:magik目前只支持GPU上进行训练量化

       编译magik包需要提供如下环境(pytorch为例):

Environment:
1. pytorch version
2. python version
3. os system
4. cuda and cudnn version
5. gcc version

安装参考步骤:
anaconda安装命令
(以torch 1.5、python3.6、cuda10.2、cudnn7.6、ubuntu为例)
1. conda creat -n python python=3.6
2. pip install torch==1.5.0 torchvision==0.6.0 -i
   http://pypi.douban.com/simple --trusted-host pypi.douban.com
3. pip install magik_trainingkit_torch_150-1.0.2-py3-none-any.why
4. from ingenic_magic_trainingkit.QuantizationTrainingPlugin.python 
   import ops

   2.5 训练量化具体内容以及支持算子

     内容概述

君正Magik算法平台介绍_第3张图片

   卷积、全连接算子目前支持的激活类型

  • ops.Relu6
  • ops.Linear
  • ops.Hisgmoid
  • ops.PReLU
  • ops.LeakyReLU

  :1.激活需在卷积或者全连接层对应接口设置activation_fn,如activation_fn=ops.Linear();

03 Magik转换工具

04 Magik板端推理

05 Magik开源models

5.1 开源models

    Txx基于magik开源训练模型:

       1.基于ssd的人脸检测(facedet),轻量级

       2.基于yolo的人形检测(persondet),轻量级yolov3 tiny

  T40基于magik开源训练模型:

      1. 基于ssd的人脸检测(facedet),中量级

      2. 基于yolo的人形检测(yolov3),中量级

      3. 基于magik构建的resnet分类网络

      4. 基于yolov5s的后量化模型

     注:每个对应开源训练代码下都有同步的上板测试的venus_sample(包括前处理、后处理相关代码),如果释放开源代码的话

5.2 官方sample性能

  1. Txx-基于ssd的人脸检测(facedet),轻量级

君正Magik算法平台介绍_第4张图片

  2.Txx-基于yolo的人形检测(persondet),轻量级yolov3 tiny

君正Magik算法平台介绍_第5张图片

 3. T40-基于ssd的人脸检测(facedet),中量级

君正Magik算法平台介绍_第6张图片

 4. T40-基于yolo的人形检测(yolov3),中量级

君正Magik算法平台介绍_第7张图片

  5. T40-基于yolov5s的后量化模型

君正Magik算法平台介绍_第8张图片

 -------------------------------------------------------------------------------------------------------------------

注:没有找到官方SDK以及释放的sample

附:一个总结的不错的帖子关于君正T41、T40、T31版本的选择参考都在这里_qq2224043166的博客-CSDN博客_君正t40

你可能感兴趣的:(文章,深度学习,嵌入式硬件)