计算机视觉模型部署指南

在没有机器学习或设备特定部署的先验知识的情况下,可以将计算机视觉模型部署到各种设备和环境中。推理支持运行微调的对象检测、分类和实例分割模型,以及运行基础模型(CLIP和SAM)。以下模型和架构可以使用推理进行服务:

YOLOv5(对象检测、分类、分割)、YOLOv7(分割)、YOLOv8(对象检测、分类、分割)、CLIP、SAM。推理可以在两个命令中跨环境部署,从NVIDIA GPU设备到装有ARM CPU的计算机。使用推理,可以通过HTTP和UDP接口运行模型。这消除了在应用程序中直接编写特定于模型的推理代码的需要。

在本指南中,将介绍如何将计算机视觉模型部署到GCP Compute Engine上,使用RoboflowInference。将部署一台计算机在GCP上,并介绍如何将Roboflow Inference与模型一起设置。推理可以免费使用。更高级的功能,如设备管理,可通过Roboflow企业许可证获得。持有Roboflow企业许可证的用户还可以访问现场工程师,他们可以协助集成和基准测试。

在GCP Compute Engine上部署Roboflow Inference

要按照本指南操作,将需要:

  • 一个GCP账户。
  • 一个Roboflow账户。
  • 一个训练有素的模型,格式为YOLOv5、YOLOv7或YOLOv8。

推理支持部署在Roboflow上训练的模型和基础模型,如SAM和CLIP。在本指南中,将介绍如何在Roboflow上训练的模型上运行推理。如果还没有在Roboflow上训练的模型,请查看Roboflow入门指南。入门指南展示了如何在Roboflow上标记图像和训练模型。

打开Google Cloud Platform并搜索“Compute Engine”:打开Compute Engine并点击“创建实例”按钮以创建虚拟机。接下来,需要配置实例。配置要求取决于用例。如果正在为生产部署服务器,可能会选择更强大的机器配置。如果正在测试模型并计划将来在另一台机器上部署,可能会选择部署一台功能较弱的机器。

可以在CPU和GPU设备上部署Roboflow Inference。建议在GPU上部署以获得最佳性能。但是,GPU设备运行成本最高,并且使用GPU有额外的设置。在本指南中,将重点关注CPU。屏幕上右侧将出现一个成本面板,估计正在部署的机器的成本。填写必填字段以配置虚拟机。然后,点击“创建”按钮创建虚拟机。机器准备就绪需要一些时间。可以从Compute Engine实例页面查看状态:

当虚拟机部署完成后,点击Compute Engine实例页面上的虚拟机列表中的机器名称。对于本指南,将使用终端中的SSH登录到虚拟机。如果更喜欢,也可以通过GCP Web界面进行SSH。要使用终端中的SSH登录,请点击SSH按钮旁边的箭头,然后点击“查看gcloud命令”。如果尚未安装gcloud,请按照gcloud安装和配置说明进行操作以开始。安装gcloud后,运行GCP提供的命令。命令看起来像这样:

gcloud compute ssh --zone "europe-north1-a" "inference" --project "your-project-name"

运行命令后,将打开一个终端,可以在其中部署模型。

现在有了一台准备好的虚拟机,可以安装RoboflowInference。在本指南中,正在CPU机器上部署。因此,将介绍CPU安装说明。如果正在NVIDIA GPU上部署,请参考Roboflow Inference Docker安装说明以安装推理。无论使用GPU还是CPU,安装推理都有三个步骤:

  • 安装Docker。
  • 为机器类型拉取推理Docker容器。
  • 运行Docker容器。

Docker安装说明因操作系统而异。要找出机器使用的操作系统,运行以下命令:

lsb_release -a

将看到类似这样的输出:

No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye

在这个例子中,正在Debian机器上部署。因此,需要按照Debian Docker安装说明进行。按照机器的Docker安装说明进行。安装Docker后,可以安装推理。以下是在CPU上安装推理的命令:

docker pull roboflow/roboflow-inference-server-cpu

将看到显示下载Docker容器状态的交互式输出。Docker容器下载完成后,可以使用以下命令运行推理:

docker run --network=host roboflow/roboflow-inference-server-cpu:latest

默认情况下,推理部署在http://localhost:9001。

推理在本地运行模型。因此,需要下载模型并将其加载到推理中,然后才能使用模型。模型下载和加载在第一次对新模型进行Web请求时自动进行。如果正在部署托管在Roboflow上的模型,请转到Roboflow仪表板并选择项目。然后,在项目的侧边栏中点击“版本”链接。在这个指南中,将部署一个建筑工地安全模型。

接下来,创建一个新的Python文件并添加以下代码:

import requests dataset_id = "" version_id = "1" image_url = "" api_key = "ROBOFLOW_API_KEY" confidence = 0.5 url = f"http://localhost:9001/{dataset_id}/{version_id}" params = { "api_key": api_key, "confidence": confidence, "image": image_url, } res = requests.post(url, params=params) print(res.json())

在上述代码中,用之前打开的版本页面上可用的信息替换以下值:

  • dataset_id:数据集ID(在这个例子中,“construction-safety-dkale”)。
  • version_id:要部署的版本(在这个例子中,1)。
  • image_url:要运行推理的图像。这可以是本地路径或URL。
  • api_key:RoboflowAPI密钥。

了解如何检索Roboflow API密钥。当替换了必要的值后,运行Python脚本。第一个请求将需要一些时间来处理,因为模型将被下载到推理中。模型下载后,推理将使用下载的模型处理请求。

现在已经在机器上配置了推理,下一步是设置一个Web服务器,如nginx,以便能够从不同的机器查询推理端点。所有请求都使用Roboflow API密钥进行身份验证。或者,可以将模型部署为VPC的一部分,以便只有某些系统可以查询推理服务器。推理旨在高性能设置。Roboflow使用推理为在Roboflow上部署的超过50,000个模型提供动力,为世界上一些最大的企业提供视觉部署需求。

有了Roboflow Inference企业许可证,可以访问额外的推理功能,包括:

  • 服务器集群部署
  • 设备管理
  • 主动学习
  • YOLOv5和YOLOv8模型子许可

联系Roboflow销售团队了解更多关于Roboflow企业产品的信息。当准备好开始编写使用模型的逻辑时,请查看监督。监督是一个开源Python包,提供了一系列用于构建计算机视觉应用程序的实用工具。监督由Roboflow团队积极维护。使用监督,可以:

  • 按类别、框区域、置信度等过滤预测。
  • 在图像上绘制对象检测和分割预测。
  • 使用ByteTrack进行对象跟踪。
  • 使用SAHI进行小对象检测。
  • 等等。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485