1. OpenVINO™ Model Server
1.1 介绍

降低AI部署门槛。一种常见的部署方式是,在docker中加入python web框架和openvino推理框架,为了做多线程、负载均衡和扩展,需要添加gunicorn和gevent。1)gunicorn使用pre-fork模式来管理多进程,简单来说是启动多个worker、进行负载均衡、进行失败重启等功能。2)gevent是基于greenlet的轻量级协程网络库,用来支持异步和高并发(不然请求量一上来很容易就超时)。3)此外,在部署到不同的机器上时(异构设备),需要对openvino调用的库文件进行修改;4)为了做横向扩展,需要用到k8s+docker;5)模型更新时,需要更新docker,新增模型时则需要新写一个函数。此外,热更新依赖于k8s。
上面这些可以用model server+k8s来简单应对。OpenVINO面对的AI算法工程师,需要一定的Coding来实现算法引擎,OpenVINO Model Server不用coding,也能完成AI推理部署。

1.2 上手
参考网址https://github.com/openvinotoolkit/model_server/blob/main/docs/ovms_quickstart.md
1) 拉镜像,起server:
docker pull openvino/model_server:latest
docker run -d -v $(pwd)/model:/models/face-detection -p 9000:9000 openvino/model_server:latest \
--model_path /models/face-detection --model_name face-detection --port 9000 --grpc_workers 8 --nireq 8
注意几个必备参数:
- -v和–model_path用来安放模型
- -p和–port用来定义端口
- –grpc_workers和–nireq用来做多进程和异步并发
2)准备模型和数据
下载xml和bin文件,这里用网上的公开模型:
curl --create-dirs https://download.01.org/opencv/2021/openvinotoolkit/2021.1/open_model_zoo/models_bin/1/face-detection-retail-0004/FP32/face-detection-retail-0004.xml https://download.01.org/opencv/2021/openvinotoolkit/2021.1/open_model_zoo/models_bin/1/face-detection-retail-0004/FP32/face-detection-retail-0004.bin -o model/1/face-detection-retail-0004.xml -o model/1/face-detection-retail-0004.bin
把它放在如下的结构下,模型放在版本号下main
models/
└── face-detection
└── 1
├── face-detection-retail-0004.bin
└── face-detection-retail-0004.xml
下载需要用到的推理图片:
curl --create-dirs https://raw.githubusercontent.c

本文档介绍了OpenVINO™ModelServer的使用,包括如何通过docker部署、配置多线程和负载均衡,以及模型更新和扩展。同时,讲解了DLWorkbench的各个组件,如模型下载器、模型优化器和基准测试工具,并展示了其在模型优化和性能评估中的应用。此外,还提及了AnalyticsZoo在大规模数据流水线处理中的作用。
最低0.47元/天 解锁文章

2472

被折叠的 条评论
为什么被折叠?



