一、常见的模型部署场景
- 实时的、小数据量的预测应用
部署方式:采用python-httpserve应用部署(如flask, fastApi, django),缺点是可能需要跨环境,从Java跨到Python环境 - 实时的、大数据量的预测应用
部署方式:将训练好的模型转换成PMML,把模型封装成一个类,用Java调用这个类来预测 - 离线预测、D+1天的预测
部署方式:可以简单的使用Python脚本进行预测,使用shell的crontab做定时调用
⭐️多个项目部署到一个服务器上的部署方式:使用Docker将项目封装在独立的容器中
补充:Linux配置
由于大部分服务器使用Linux做服务器,所以这里补充一下Linux虚拟机安装
Linux虚拟机安装(Ubuntu 20)
配置常见问题:
- 【解决】vmware虚拟机安装时提示 Intel VT-x 处于禁用状态:进入BIOS打开Intel Virtualization Technology
- 【解决】VMWare Workstation 17报错(2784):关闭虚拟机的3D加速功能
- 【解决】VMWare虚拟机安装Ubuntu时页面显示不全:VMware虚拟机安装Ubuntu时页面显示不全的解决方法
二、Docker
Docker是一种开源的容器化平台,可以简化应用程序的部署和管理过程。通过使用Docker,可以将应用程序及其所有依赖项封装在一个称为容器的独立单元中。
Docker部署的优点:
- 轻量和快速:Docker容器是轻量级的,因为它们与宿主机共享操作系统内核。这使得容器的启动和停止非常迅速,使您的应用程序能够快速部署和扩展。
- 可移植性:Docker容器提供了一个一致的运行时环境,无论在哪个主机上部署,容器内的应用程序和依赖项都将以相同的方式运行。这消除了由于不同主机之间的差异而导致的部署问题,使得应用程序在不同环境中更易于迁移和部署。
- 隔离性和安全性:Docker使用容器来隔离应用程序和其依赖项,确保它们在相互之间和宿主机上运行时相互独立。这种隔离性提供了更高的安全性,使得即使应用程序存在漏洞或问题,也不会对宿主机或其他容器造成影响。
- 简化的管理和部署:Docker提供了一套强大的工具和命令行界面,使得管理和部署应用程序变得简单。您可以使用Dockerfile来定义应用程序的构建过程,使得部署过程可重复和可自动化。此外,Docker还提供了监控、日志记录和扩展等功能,帮助您更好地管理和维护应用程序。
2.1 Docker 安装
Windows
官网下载Docker Desktop:Docker Desktop for Windows
测试是否安装成功:运行命令 docker run hello-world
,显示"Hello from Docker!"则代表安装成功
Linux(ubuntu 20)
使用安装脚本安装docker
- 首先下载脚本
$ curl -fsSL https://get.docker.com -o get-docker.sh
- 以root权限运行脚本
sudo sh get-docker.sh
- 验证安装是否成功
sudo docker run hello-world
2.2 Docker部署python项目(Windows)
建立容器
- 在python项目里新建一个名为
Dockerfile
的文件,填写创建容器的指令配置。例:
# 使用适当的基础镜像
FROM python:3.9
# 设置工作目录
WORKDIR /app
# 复制本地项目文件到容器中
COPY . /app
# 安装项目依赖库(如果有)
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 设置入口命令
CMD ["python", "./main.py"]
- 在终端里cd到python项目的位置,运行docker命令创建容器。例:
# 创建一个名为psql的容器
docker build -t psql .
- 在终端里使用docker命令运行项目。例:
docker run -p 9999:9999 psql
进入容器运行项目文章来源:https://www.toymoban.com/news/detail-670712.html
- 启动容器并进入容器的交互式终端。例:
docker run -it psql bash
- 运行项目
python main.py
2.3 将容器打包部署到其他设备或服务器上
- 查询本地仓库的所有镜像
docker images
- 导出容器。例:
docker save <容器id> > <保存容器的路径>\<容器文件名称>.tar
- 将容器文件导入到其他设备或服务器的docker里(这里演示在ubuntu里加载容器)
cd到容器文件的文件夹里,打开终端,输入命令文章来源地址https://www.toymoban.com/news/detail-670712.html
sudo docker load --input <容器文件名称>.tar
- 打开终端,验证容器是否成功导入
- 查询本地仓库所有镜像
sudo docker images
- 如果看到加载的镜像没有tag和镜像名,则手动打tag:
docker tag {image_id} {image_name}:{image_tag}
- 进入镜像
sudo docker run -it <image_name> bash
- 运行项目
python main.py
到了这里,关于使用Docker进行模型部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!