roboflow/roboflow-python
The official Roboflow Python package. Manage your datasets, models, and deployments. Roboflow has everything you need to build a computer vision application.
📦 什么是 roboflow‑python?
Roboflow‑python 是 Roboflow 的官方 Python 客户端,这是一个协助您构建、训练与部署计算机视觉模型的平台。该函式库让您能从自己的代码中与 Roboflow 服务互动——创建项目、上传图像与标注、启动训练任务,并在云端(或自托管推理服务器)上的模型执行推理。
🔧 主要功能(如 README 所述)
| 领域 | 您可以使用此套件做什么 |
|---|---|
| 工作区与项目管理 | 创建新项目、列出现有项目、搜索图像,并以常见格式(COCO, YOLO, VOC 等)导出数据集。 |
| 数据集处理 | 上传包含标注的本地图像文件夹,选择标注格式,并让 Roboflow 存储与管理数据版本。 |
| 模型训练 | 直接在 Roboflow 平台上触发视觉模型(目标检测、分类、分割等)的训练。 |
| 模型部署与推理 | 将训练好的权重部署到 Roboflow 版本,然后调用 model.predict(...) 从托管模型或自托管的 Roboflow‑Inference 服务器获取预测结果。 |
| CLI | 函式库的一部分作为命令行工具公开,用于验证、搜索与导出数据集等快速操作。 |
| 轻量级安装 | roboflow-slim 移除了繁重的依赖套件(OpenCV, NumPy, Pillow),适用于嵌入式或 CI 环境。 |
🚀 典型工作流程(快速入门示例)
import roboflow
# 验证 – 通过 login() 或传入 API 密钥
rf = roboflow.Roboflow(api_key="YOUR_KEY")
workspace = rf.workspace()
# 创建一个新的目标检测项目
project = workspace.create_project(
project_name="Flower detector",
project_type="object-detection",
project_license="MIT",
annotation="flowers",
)
# 上传准备好的数据集文件夹(示例为 YOLOv8 格式)
workspace.upload_dataset(
dataset_path="./dataset/",
dataset_format="yolov8",
project_type="object-detection",
)
# 选择一个版本、部署自定义权重并执行推理
version = project.version("1")
version.deploy(model_type="yolov10", model_path="/runs/detect/train/", filename="weights.pt")
model = version.models()[0]
pred = model.predict("https://example.com/image.jpg", hosted=True).json()
print(pred)
相同的步骤可以使用提供的 CLI 指令从终端机执行。
📦 安装注意事项
- 标准安装 –
pip install roboflow(包含 OpenCV, Pillow, NumPy 等图像处理函式库)。 - 选用扩展功能 –
roboflow[desktop]用于桌面特定功能,roboflow[heic]通过pillow‑heif增加 HEIC/HEIF 解码支持。 - 轻量版本 –
pip install roboflow-slim舍弃了繁重的依赖套件,将套件大小从约 400 MB 缩减至约 50 MB,适用于边缘设备或无服务器函数。 - 从源码安装 – 克隆仓库并在虚拟环境中执行
pip install .。
🌍 它在 AI 生态系统中的定位
Roboflow‑python 本身不是一个训练框架(它不实现 YOLO, Faster‑RCNN 等)。相反地,它是一个服务客户端,用于协调 Roboflow 平台上的数据与模型生命周期。它与其他管理数据集、实验与部署的 AI‑ops 工具并存,让开发者能更轻松地将计算机视觉管线整合到 Python 应用程序中,而无需处理底层基础设施。
🙋♀️ 谁应该使用这个?
- 开发者:构建需要视觉功能的应用程序,并希望将训练/推理卸载到托管服务的人。
- 数据科学家:偏好以程式化方式管理数据集版本、执行增强与启动训练任务的人。
- 边缘/CI 工程师:需要在受限环境中与平台互动,并需要轻量级客户端(
roboflow-slim)的人。
📚 延伸阅读
- 完整 API 参考:https://docs.roboflow.com/api-reference/introduction
- 套件开发者文档:https://roboflow.github.io/roboflow-python/
- 社区与支持:YouTube 频道、Discord/论坛链接,以及 Roboflow 博客(皆在 README 中链接)。
相关
- 项目
- 项目
- 项目
- 项目
- 项目