在当今快速发展的技术领域,计算机视觉模型在生产环境中扮演着越来越重要的角色。为了支持这些模型的大规模推理任务,推出了Roboflow Inference,这是一个开源框架,它提供了一个标准化的API接口,使得计算机视觉模型的推理变得简单而高效。
Roboflow Deploy 已经为成百上千的客户提供了数百万次的日常推理服务,现在将这项核心技术以Apache 2.0许可协议的形式开放给社区。这意味着开发者可以自由地使用、修改和分发这个框架,以满足他们特定的业务需求。
通过Roboflow Inference,可以轻松地从计算机视觉模型中获取预测结果。它支持多种模型架构,包括目标检测、实例分割、单标签分类和多标签分类等任务。此外,它还能与自己训练和部署的自定义模型无缝协作,以及与社区共享的成千上万个微调模型一起工作。
为了在CPU设备上安装这个包,可以运行以下命令:
pip install inference
如果需要在GPU设备上安装,可以使用:
pip install inference-gpu
目前,Roboflow Inference已经实现了对以下架构的支持:
- 目标检测:Ultralytics YOLOv8, YOLOv5
- 实例分割:Ultralytics YOLOv8, YOLOv5, YOLOv7, YOLACT
- 单标签分类:Ultralytics YOLOv8, ViT
- 多标签分类:ViT
接下来,将支持Autodistill基础模型,并根据客户和社区的需求添加更多新模型。如果希望看到添加某个特定的模型,请在项目的GitHub页面上提出issue或提交PR。
Roboflow Inference在设计时就考虑到了可扩展性。添加自己的专有模型就像实现一个接受图像并返回预测的infer函数一样简单。很快会发布文档,介绍如何向inference添加新的架构。
已经实现了对通用模型如CLIP和SAM的支持。这些模型通常与微调模型互补(例如,看看Autodistill如何使用基础模型来训练监督模型)。计划很快为OCR、姿态估计、描述生成和视觉问题回答等任务添加其他通用模型。
Roboflow InferenceServer是一个HTTP微服务接口,用于推理。它通过Docker支持许多不同的部署目标,并针对从边缘设备或通过云以标准化格式提供请求进行了优化。(如果曾经使用过Roboflow的托管API,已经使用过推理服务器了!)
此外,当想要超越基本功能时,推理服务器有插件可以与Roboflow的平台无缝集成,用于模型管理、自动主动学习、高级监控和设备管理。
从模型中获取预测就像发送一个HTTP POST请求一样简单:
import requests
BASE_URL = "http://localhost:9001"
res = requests.post(
f"{BASE_URL}/{model_id}?"
+ "&".join(
[
f"api_key={api_key}",
f"confidence={confidence}",
f"overlap={overlap}",
f"image={image_url}",
f"max_detections={max_detections}",
]
)
)
print(res.json())
其中:
- model_id:在Roboflow上的模型ID。可以在中找到模型ID。
- api_key:Roboflow API密钥。了解如何。
- confidence:必须满足的最低置信度水平,以便返回预测。
- overlap:必须满足的最低IoU阈值,以便返回预测。
- image_url:想要运行推理的图像的URL。这也可以是一个base64字符串或一个NumPy数组。
- max_detections:要返回的最大检测数量。
更多关于如何开始的信息,请查看。
虽然一些用户选择自己托管推理服务器以满足网络、隐私和合规性需求,但Roboflow还提供了作为一个完全即插即用的无服务器推理解决方案。它已经每天提供数百万次推理服务,支持快速原型制作,并支持在制造业到医疗保健等领域运行的关键系统。
在规模上,还管理自动扩展的GPU机器的专用Kubernetes集群,以便客户不需要为他们宝贵的MLOps资源分配计算机视觉模型部署的规模。已经调整了部署,以最大化GPU利用率,因此托管解决方案通常比自己构建要便宜得多,如果需要在自己的云中进行VPC部署,这也是可用的。
了解更多关于企业部署的信息,请。
虽然Roboflow Inference(和Roboflow Inference Server)都是在宽松的Apache 2.0开源许可下许可的,但一些支持的模型使用不同的许可(包括在某些情况下使用GPL和AGPL等copyleft许可)。对于自己训练的模型,应该检查这些模型的许可是否支持商业用例。
对于使用Roboflow Train(和其他一些模型)训练的任何模型,Roboflow的付费计划包括通过推理和推理服务器部署的商业许可,只要遵守计划的使用限制。
立即开始使用Roboflow Inference。Roboflow Inference是在Roboflow所做的核心:提供强大的技术,可以用它来构建和部署解决业务需求的计算机视觉模型。内部积极使用Roboflow Inference,并致力于改进服务器以提供更多功能。
在接下来的几周和几个月里,将致力于允许将不在Roboflow上托管的自己的模型带到Roboflow Inference,设备管理解决方案,以便可以监控服务器是否在运行,等等。
如果Roboflow Inference目前不支持希望看到的功能,请在上留下Issue,将评估请求。
由于项目是开源的,可以扩展推理服务器以满足需求。想要看到目前不支持的模型的支持吗?可以将其构建到服务器中,并使用服务器为推理配置的相同基于HTTP的API。