封裝模型鏡像
本文將為您介紹如何封裝一個可集成到VCS平臺的模型鏡像。
前言
您的模型將以Docker鏡像的方式在VCS中調(diào)度使用,VCS將為您做好服務(wù)進(jìn)程守護(hù)、負(fù)載均衡、使用計量等。因此首先需要您將模型和服務(wù)端程序封裝為Docker鏡像。
操作步驟
1. 準(zhǔn)備鏡像內(nèi)容,主要包括基礎(chǔ)鏡像、啟動腳本、HTTP服務(wù)程序、算法包、Dockerfile
1)基礎(chǔ)鏡像
一般為包含NVIDIA CUDA的基礎(chǔ)鏡像,您可以使用自己已有的鏡像,或者在VCS界面中獲取(見附錄)。
*注:VCS目前只提供CentOS 7.9 的基礎(chǔ)鏡像,若與您的系統(tǒng)不匹配,您需要自行準(zhǔn)備基礎(chǔ)鏡像。
2)啟動腳本
啟動腳本在docker容器創(chuàng)建時被執(zhí)行,負(fù)責(zé)啟動您的HTTP服務(wù)程序以及完成一些必要的初始化動作。
3)HTTP服務(wù)程序
對外提供HTTP服務(wù)的程序,此程序應(yīng)當(dāng)能對外提供HTTP服務(wù)接口,并調(diào)用算法包處理待分析的數(shù)據(jù)。
4)算法包
包括您訓(xùn)練好的模型文件、代碼文件(如.py文件)、庫文件(如.dll、.so)等,由HTTP服務(wù)程序調(diào)用以完成數(shù)據(jù)分析。
5)Dockerfile
docker build 會根據(jù)此文件封裝鏡像。示例:
# 基礎(chǔ)鏡像信息,如可以使用平臺提供的,基于centos操作系統(tǒng)與cuda11.0.3驅(qū)動
# 也可以使用自己的基礎(chǔ)鏡像
FROM hz-vcs-image-registry.cn-hangzhou.cr.aliyuncs.com/vcs-deploy/nvidia-cuda:11.0.3-devel-centos7
# 復(fù)制算法包,目錄地址可自由指定
COPY mock-algorithm-service /home/vcs/model/mock-algorithm-service
# 復(fù)制啟動腳本
COPY run.sh /home/vcs/model/run.sh
EXPOSE 9999
CMD ["bash","/home/vcs/model/run.sh"]
*注:HTTP服務(wù)程序的監(jiān)聽端口必需是 9999
2. 封裝鏡像文件
使用docker build封裝鏡像,參見docker build。
附錄
登錄VCS后,在“模型中心-模型管理”菜單下,點擊“模型導(dǎo)入”并提交后,進(jìn)入模型聯(lián)調(diào)頁面。
點擊下圖①處:您可以看到②:選擇操作系統(tǒng)和CUDA版本后,您可以下載腳本,并在本地執(zhí)行此腳本,獲得基礎(chǔ)鏡像。