在自己的硬件上运行工作流,使用Roboflow推理,可以处理图像、视频文件和视频流。支持的设备包括网络摄像头、RTSP流和视频文件。可以在任何可以部署推理的系统上部署工作流,例如NVIDIA Jetson、AWS EC2、GCP Cloud Engine、Azure虚拟机和Raspberry Pi。Roboflow企业客户还可以访问额外的视频流选项,例如在Basler相机上运行推理。了解更多信息,请联系Roboflow销售团队。
部署工作流
要部署工作流,请在工作流编辑器左上角点击“运行工作流”按钮。所有部署选项都记录在本页面上。工作流编辑器中的代码片段将预先填充工作流URL和API密钥。有关工作流使用限制的更多信息,请参考Roboflow定价页面。
在图像上部署(Roboflow云)
可以使用RoboflowAPI在单个图像上运行工作流。首先,安装Roboflow推理SDK:
pip install inference-sdk
然后,创建一个新的Python文件并添加以下代码:
from inference_sdk import InferenceHTTPClient
client = InferenceHTTPClient(api_url="https://detect.roboflow.com", api_key="API_KEY")
result = client.run_workflow(workspace_name="workspace-name", workflow_id="workflow-id", images={"image": "YOUR_IMAGE.jpg"})
将API_KEY替换为Roboflow API密钥。将workspace-name和workflow-id替换为Roboflow工作区名称和工作流ID。要找到这些值,请打开Roboflow工作流并点击“部署工作流”。然后,从页面上出现的代码片段中复制工作区名称和工作流ID。
在图像上部署(本地设备)
可以在本地设备上的单个图像上运行工作流。这适用于CPU和NVIDIA CUDA GPU设备。为了获得最佳性能,请在启用GPU的设备上部署,例如NVIDIA Jetson或带有NVIDIA GPU的云服务器。首先,安装Roboflow推理CLI:
pip install inference-cli
安装过程可能需要几分钟。接下来,安装Docker。按照官方Docker安装说明在机器上安装Docker。然后,启动推理服务器:
inference server start
然后,创建一个新的Python文件并添加以下代码:
from inference_sdk import InferenceHTTPClient
client = InferenceHTTPClient(api_url="http://127.0.0.1:9001", api_key="API_KEY")
result = client.run_workflow(workspace_name="workspace-name", workflow_id="workflow-id", images={"image": "YOUR_IMAGE.jpg"})
将API_KEY替换为Roboflow API密钥。将workspace-name和workflow-id替换为Roboflow工作区名称和工作流ID。要找到这些值,请打开Roboflow工作流并点击“部署工作流”。然后,从页面上出现的代码片段中复制工作区名称和工作流ID。
使用视频流部署(RTSP、网络摄像头)
可以在视频流的帧上部署工作流。这可以是网络摄像头或RTSP流。还可以在视频文件上运行工作流。首先,安装推理:
pip install inference
推理安装可能需要几分钟。然后,创建一个新的Python文件并添加以下代码:
from inference import InferencePipeline
def my_sink(result, video_frame):
print(result)
# 对每帧的预测结果进行操作
pipeline = InferencePipeline.init_with_workflow(api_key="API_KEY", workspace_name="workspace-name", workflow_id="workflow-id", video_reference=0, on_prediction=my_sink)
pipeline.start()
pipeline.join()