视频地址:深度学习之模型部署
模型的整个使用流程
从模型训练到部署
一 部署平台选择:
1、在线服务器端部署,精度优先:
大模型/分布式(如千亿级参数模型GPT-3)
延迟不敏感(如以图搜图应用)
2、离线嵌入式端部署,兼顾精度与速度,资源消耗:小模型(如目标检测)、延迟,资源敏感(如视频抠图)
二 模型部署框架:
1、模型部署方式:
原始训练框架部署、训练框架的部署引擎、手动模型重构、专用的推理引擎
原始训练框架部署:
用什么框架训练就用什么框架部署,如Tensorflow、Caffe等,
再生产环境中基本不使用这些框架,因为需要安装整个框架、推理性能差、很多冗余功能、内存占用大
训练框架的部署引擎:
有些框架有自己专属的部署引擎,如Tensorflow有TF-lite、pytorch有Pytorch-Mobile
缺点是只支持自己框架训练的模型、支持硬件/OS有限
手动模型重构:自己写代码
手写C/C++代码,实现计算图,并导入权重数据,需要构造者对模型有充分的了解,有一定的技术难度
专用的推理引擎:开发好的专用的推理引擎
如高性能神经网络推理引擎(移动端推理框架),如NCNN,MNN,Tengine
可以直接加载主流框架的模型文件,无需进行模型转换
只依赖C/C++库,无任何第三方库依赖
支持Android/Linux/ROTS/裸板环境
Python/C/AAP等API接口,方便不同语言调用
框架对比分析:
主流的移动端推理框架对比
三 微信小程序部署-服务端环境准备
1、域名注册与准备
域名:就是大家所熟知的网址:如www.baidu.com
.com:
是国际最广泛流行的通用域名格式,一般用于商业性的机构或公司
.cn:
中国使用的顶级通用域名,net.cn、org.cn、gov.cn
.net:
累呗顶级域名,适用于各类网络提供商
.org:
非盈利性机构
.gov.cn:
政府机构
在腾讯云注册:https://cloud.tencent.com/developer/column
实名认证、工信部备案
添加域名解析,绑定公网IP地址
下载与查看域名证书
nginx:高性能的http和反向代理web服务器
flask:服务端的web框架,主功能代码
gunicorn:用于提供http服务,前端放置http proxy server,如nginx
Flask内置的Werkzeug wsgi server 不高效,gunicorn擅长与管理多进程
Nginx
Flask