深度学习之模型部署-1

----------摘自B站有三AI《深度学习之模型部署》

1.模型的整个使用流程

    从模型训练到部署training data→train→convert→infer→outputdata

    convert:模型转换、量化、网络层合并、剪枝、优化等过程得到推理模型

    infer:一般用专门推理引擎进行推理

              原因:1.模型已简化;2.convert转化后的格式,对部署平台硬件计算更友好

 2.模型部署的平台

 2.1 在线服务器端部署,精度优先

     一般大模型/分布式复杂模型前端部署不了,eg千亿级参数模型GPT-3

     对延迟不敏感,如百度识图这种以图搜图应用

 2.2 离线嵌入式端部署,兼顾精度与速度,资源消耗

      模型,如目标检测;

      对延迟,资源敏感;

 3.模型部署有哪些方法

 3.1 几种常见方式:原始训练框架部署;训练框架部署引擎;手动模型重构;专用推理引擎
       
原始训练框架部署:如caffe训练的模型用caffe部署,TensorFlow用TensorFlow

       训练框架部署引擎:有些框架提供对应部署引擎,如TensorFlow有TensorLite,PyTorch有PyTorch-Mobile(手机移动端)

      手动模型重构:模型本质上二进制文件,自己写代码解析

      专用推理引擎:一些巨头或者硬件平台开发好的

3.2 特点

    原始训练框架部署,如用完整的TensorFlow/PyTorch/Caffe等,可用来训练,也可用来推理,一般验证模型时拿来推理,一般不真正用来生产中(手机/嵌入式端)部署,原因如下:

  • 需安装整个框架。框架复杂且依赖的库多
  • 推理性能差
  • 很多冗余功能
  • 内存占用大

 

  训练框架自带的部署引擎,如TensorLite(TF-Lite),PyTorch-Mobile

  • 一般只支持训练框架自己的模型
  • 支持硬件和操作算子有限

  手动模型重构

  • 手写C/C++代码,实现计算图,并导入权重数据
  • 需构造者对模型有充分了解,非大佬不能及

  专用推理引擎,高性能,移动/嵌入式端推理框架,如NCNN、MNN、Tengin

  • 可以直接加载主流框架的模型文件,无需进行模型转换
  • 只以来C/C++库,无任何第三方库依赖
  • 支持Android/Linux/RTOS/裸板环境(CPU/GPU/ARM/FPGA)
  • Python/C/APP等接口,方便不同语言调用

4.主流移动端推理框架对比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值