最近在公司共接触到模型部署,在研究生时期一直都听说过部署,但一直有很多问题搞不清楚。现在我站在初学者的角度,跟大家聊聊工程应用中的模型部署。
什么是模型部署?该如何启动运行
模型部署就是将模型、模型所需的环境(各种包torch、python、numpy...)、运行模型所需的最小操作系统打包到一起,称之为镜像(images)。然后运行镜像(docker run -d --name my-container IMAGE_NAME)会生成容器my-container,并且容器会运行,也就是模型在运行。
那么如何生成镜像呢?如何编写Dockerfile文件?问gpt吧。
部署后如何给模型传入数据?
部署后的模型可以通过端口,利用grpc传输数据。比如我们在制作镜像的时候,或者生容器的时候可以指定我们的容器接受某个端口的数据。然后客户端将数据传输到这个端口,模型就能够接收到数据。当然在我们的test.py中也要写接受数据的代码,并将接收到的数据送入模型result=model(数据)。大致过程是这样,如何grpc传输数据其实还有很多工作要做。
模型的输出结果有该如何获取?
在python中可以使用yield返回我们得到的结果。类似于return。这里接受数据也涉及到grpc。