模型部署学习笔记(一)

关于部署:推断(Inference)的实际部署有多种可能,可能部署在Data Center(云端数据中心),比如说大家常见的手机上的语音输入,目前都还是云端的,也就是说你的声音是传到云端的,云端处理好之后把数据再返回来;还可能部署在嵌入端,比如说嵌入式的摄像头、无人机、机器人或车载的自动驾驶,当然车载的自动驾驶可能是嵌入式的设备,也可能是一台完整的主机,像这种嵌入式或自动驾驶,它的特点是对实时性要求很高。
https://blog.csdn.net/intflojx/article/details/81778648

一、ONNX(Open Neural Network Exchange)

1、是什么:ONNX是微软和 Facebook 发布的一个深度学习开发工具生态系统,定义了一种和环境、平台均无关的标准的、开放的格式,用于表示深度学习模型。

2、作用:“翻译”

①连接不同深度学习框架,使得不同的模型可以转换;

②采用相同格式存储模型数据并交互,让不同的神经网络开发框架互通互用。

3、常见转换路线:

  • Pytorch —— ONNX —— TensorRT
  • Pytorch —— ONNX —— TVM
  • TensorFlow —— ONNX —— NCNN

二、TensorFlow Serving:TensorFlow提供的部署线上模型推理方案,将训练好的模型直接上线并提供服务。将模型部署到线上,并提供合适的接口给外部调用。

三、NCNN和TensorRT:将从云端完成训练后的算法高效迁移到异构的边缘智能芯片上执行。【边缘、芯片推理】

1、NCNN:腾讯推出的针对移动部署的推理框架,无第三方依赖,在手机端CPU运算速度优于开源框架,可以在PC端进行推理;针对CPU的性能进行部署优化;其推理所需要的网络文件和权重文件分别为(.param、.bin)。

2、TensorRT:NVIDIA打造的cuda神经网络推理库,是一个C++库;将其他框架的模型统一全部转换到TensorRT中,然后在TensorRT中针对Nvidia自家的GPU优化,进行部署加速,针对运行时性能自动优化训练过的神经网络;针对GPU和CPU来优化和加速模型推理,支持INT8量化和FP16量化,只能在GPU设备进行;TensorRT支持.engine格式,关于其他格式文件到该格式文件的转换方式有以下两种:

①开源框架训练的模型——ONNX——.engine

②直接用tensorrt将训练的模型转化为.engine(tensorrt,开源项目,将项目转换和部署集合)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值