本文将为您介绍如何封装一个可集成到VCS平台的模型镜像。
前言
您的模型将以Docker镜像的方式在VCS中调度使用,VCS将为您做好服务进程守护、负载均衡、使用计量等。因此首先需要您将模型和服务端程序封装为Docker镜像。
操作步骤
1. 准备镜像内容,主要包括基础镜像、启动脚本、HTTP服务程序、算法包、Dockerfile
1)基础镜像
一般为包含NVIDIA CUDA的基础镜像,您可以使用自己已有的镜像,或者在VCS界面中获取(见附录)。
*注:VCS目前只提供CentOS 7.9 的基础镜像,若与您的系统不匹配,您需要自行准备基础镜像。
2)启动脚本
启动脚本在docker容器创建时被执行,负责启动您的HTTP服务程序以及完成一些必要的初始化动作。
3)HTTP服务程序
对外提供HTTP服务的程序,此程序应当能对外提供HTTP服务接口,并调用算法包处理待分析的数据。
4)算法包
包括您训练好的模型文件、代码文件(如.py文件)、库文件(如.dll、.so)等,由HTTP服务程序调用以完成数据分析。
5)Dockerfile
docker build 会根据此文件封装镜像。示例:
# 基础镜像信息,如可以使用平台提供的,基于centos操作系统与cuda11.0.3驱动
# 也可以使用自己的基础镜像
FROM hz-vcs-image-registry.cn-hangzhou.cr.aliyuncs.com/vcs-deploy/nvidia-cuda:11.0.3-devel-centos7
# 复制算法包,目录地址可自由指定
COPY mock-algorithm-service /home/vcs/model/mock-algorithm-service
# 复制启动脚本
COPY run.sh /home/vcs/model/run.sh
EXPOSE 9999
CMD ["bash","/home/vcs/model/run.sh"]
*注:HTTP服务程序的监听端口必需是 9999
2. 封装镜像文件
使用docker build封装镜像,参见docker build。
附录
登录VCS后,在“模型中心-模型管理”菜单下,点击“模型导入”并提交后,进入模型联调页面。
点击下图①处:您可以看到②:选择操作系统和CUDA版本后,您可以下载脚本,并在本地执行此脚本,获得基础镜像。
文档内容是否对您有帮助?