Adlik Cheetah版本云原生镜像上线啦。
首先,我们先复习下Cheetah版本的主要特性,包括:
模型编译器:扩展支持多种新的深度学习框架,包括PaddlePaddle, Caffe,和TVM等,支持OpenVINO量化,支持TVM自动搜索;
模型优化器:支持YOLO v4模型优化和ResNet-50最新剪枝、蒸馏、量化等优化;3.推理引擎。支持TVM 、TF-TRT运行时。
本次上线的Adlik Cheetah 云原生0.3版本镜像支持推理引擎最新版本:
OpenVINO: 2021.1.110
TensorFlow: 2.4.0
TensorRT: 7.2.1.6
TFLite: 2.4.0
TVM: 0.7
镜像获取
Adlik新版本镜像托管在Adlik阿里云镜像仓库中,大家可以方便地下载使用。
新版本Model Compiler模型编译器镜像如下:
registry.cn-beijing.aliyuncs.com/adlik/model-compiler:v0.3.0_trt7.2.1.6_cuda11.0
registry.cn-beijing.aliyuncs.com/adlik/model-compiler:v0.3.0_trt7.2.1.6_cuda10.2
Serving Engine推理引擎镜像如下:
CPU:
registry.cn-beijing.aliyuncs.com/adlik/serving-tflite-cpu:v0.3.0
registry.cn-beijing.aliyuncs.com/adlik/serving-tensorflow-cpu:v0.3.0
registry.cn-beijing.aliyuncs.com/adlik/serving-openvino:v0.3.0
registry.cn-beijing.aliyuncs.com/adlik/serving-tvm-cpu:v0.3.0
GPU:
registry.cn-beijing.aliyuncs.com/adlik/serving-tensorflow-gpu:v0.3.0
registry.cn-beijing.aliyuncs.com/adlik/serving-tftrt-gpu:v0.3.0
registry.cn-beijing.aliyuncs.com/adlik/serving-tensorrt:v0.3.0_trt7.2.1.6_cuda11.0
registry.cn-beijing.aliyuncs.com/adlik/serving-tensorrt:v0.3.0_trt7.2.1.6_cuda10.2
使用步骤
下面以YOLOv3模型使用OpenVINO推理引擎编译、部署为例,简单演示使用步骤:
准备模型,拉取Adlik云原生镜像。
YOLOv3 模型获取方式参考Adlik github benchmark(https://github.com/Adlik/Adlik/tree/master/benchmark#the-test-result-of-the-yolov3-model)。登录镜像仓库:
docker login --username='adlik云原生镜像' registry.cn-beijing.aliyuncs.com Password:ZTE@adlik
拉取Adlik模型编译器镜像:
docker pull registry.cn-beijing.aliyuncs.com/adlik/model-compiler:v0.3.0_trt7.2.1.6_cuda10.2
拉取Adlik OpenVINO推理引擎镜像:
docker pull registry.cn-beijing.aliyuncs.com/adlik/serving-openvino:v0.3.0
运行模型编译器镜像。
docker run -it --rm -v yolov3_model_path:/mnt/model registry.cn-beijing.aliyuncs.com/adlik/model-compiler:v0.3.0_trt7.2.1.6_cuda11.0 bash
配置编译模型所需的json文件或环境变量。
config_schema.json描述了编译所需的参数信息,在本示例中,可以参考compiler_json_example.json。环境变量字段说明参见env_field.txt,本次演示可参考compiler_env_example.txt。
编译模型,可以采用json文件方式或者环境变量方式。配置文件为 json文件:
python3 "-c" "import json; import model_compiler as compiler; file=open('/mnt/model/serving_model.json','r'); request = json.load(file);compiler.compile_model(request); file.close()"
环境变量方式:
python3 "-c" "import model_compiler.compiler as compiler;compiler.compile_from_env()“
运行推理引擎镜像。
docker run -it --rm -p 8500:8500 -v compiled_model_path:/model registry.cn-beijing.aliyuncs.com/adlik/serving-openvino:v0.3.0 bash
compiled_model_path指的是步骤4编译得到的模型的路径。
开启模型推理服务。
adlik-serving --grpc_port=8500 --http_port=8501 --model_base_path=/model
安装客户端whl包,执行推理。本地安装客户端:
wget https://github.com/Adlik/Adlik/releases/download/v0.2.0/adlik_serving_api-0.0.0-py2.py3-none-any.whl python3 -m pip install adlik_serving_api-0.0.0-py2.py3-none-any.whl
执行推理:在Adlik/benchmark/tests/client目录下提供Python语言客户端推理示例代码。
python3 yolov3_client.py data/0.png
备注:如果运行镜像时没有映射出服务端口,则需要在容器中安装adlik serving package或者 adlik serving gpu package。然后执行推理代码,在容器中进行推理。
Adlik 新版本云原生镜像就介绍到这里了,赶快去使用吧!欢迎访问Adlik Github仓库,解锁更多功能~ https://github.com/Adlik/Adlik