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]、pillow‑heifを介した HEIC/HEIF デコードを追加するroboflow[heic]。 - 軽量版 –
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 に記載)。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト