封装模型镜像

本文将为您介绍如何封装一个可集成到VCS平台的模型镜像。

前言

您的模型将以Docker镜像的方式在VCS中调度使用,VCS将为您做好服务进程守护、负载均衡、使用计量等。因此首先需要您将模型和服务端程序封装为Docker镜像。

操作步骤

1. 准备镜像内容,主要包括基础镜像、模型文件、HTTP服务程序、依赖库、启动脚本、Dockerfile

1)基础镜像

一般为包含NVIDIA CUDA的基础镜像,您可以使用自己已有的镜像,或者在VCS界面中获取(见附录)。

2)模型文件

您训练好的模型文件。

3)HTTP服务程序

对外提供HTTP服务的程序,此程序应当能对外提供HTTP服务接口,并调用模型文件处理待分析的数据。

4)依赖库

模型文件和HTTP服务程序依赖的库文件。

5)启动脚本

VCS会调用此脚本来启动您的HTTP服务程序,请在此脚本中启动服务。示例:

#!/usr/bin/env 
bash/home/vcs/model/mock-algorithm-service

6) 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"] 

2. 封装镜像文件

使用docker build封装镜像,参见docker build。

附录

登录VCS后,在“模型中心-模型管理”菜单下,点击“模型导入”并提交后,进入模型联调页面。

点击下图①处:您可以看到②:选择操作系统和CUDA版本后,您可以下载脚本,并在本地执行此脚本,获得基础镜像。