開発者ガイド
Workflowsを拡張する開発者向けリファレンス。エコシステムの柱、定義言語、コンパイラと実行エンジン、型、独自ブロックの書き方を解説します。
このセクションは、次のような人向けです 拡張する Roboflow Workflowsを単に使って構築するだけでなく、拡張したい人向けです。ブロックの作成者、プラグインのメンテナー、そしてWorkflows Execution Engineを自分のアプリケーションに統合する人などです。
ブラウザでWorkflowを構築して実行したいだけなら、まずは Workflow を作成 と Workflowを構築する 代わりにこちらから始めてください。
Workflowsの柱
いくつかのコンポーネントが連携してWorkflowを支えています。日常的に触れるものもあれば、裏側で動くものもあります。
Workflows UI — Workflowsを設計・管理するためのビジュアルエディタです。必須ではありませんが、アイデアから動作するWorkflowへ最も早く到達できる方法です。設計プロセスの最後に、CompilerとExecution Engineが利用するWorkflow Definitionを生成します。
Workflow Definition — Workflows言語で書かれたプログラムとして機能する、互換性のあるJSONドキュメントです。Workflowの設計と実行を分離します。一度作成すれば、どの環境でも実行できます。次を宣言します inputs (画像または設定パラメータ), steps (入力または他のステップの出力に接続されたブロックのインスタンス)、および outputs (ステップ出力を参照する名前付きフィールド)。
Workflowブロック — 特定の処理を実行するモジュール式コンポーネントです。Workflow作成者にとっては、宣言された入力、設定プロパティ、出力を持つブラックボックスです。ブロックは次の単位にまとめられます プラグイン。これは通常のPythonライブラリです。Roboflowは独自のプラグインを提供しており、コミュニティも自分たちのものを公開できます。
Compiler と Execution Engine — Definitionを計算グラフに変換して実行するシステムです。従来の言語のコンパイラと同様に、まず正しさを事前に確認し、その後は実行時に重い処理を担います。これらは 推論サーバー および
inferencePythonパッケージ.

基本概念
Workflow Definitionの構文 — JSON言語: バージョンマーカー、入力、ステップ、セレクタ、出力
ワークフロー実行 — バッチ指向のデータ、スカラー、次元レベル、条件付き実行、そして出力の構成方法
Kinds — ブロック間の接続をコンパイル時に検証可能にするWorkflowsの型システム
データ表現 — 実際にブロックが受け取るPython型:
Batch,WorkflowImageData,VideoMetadata
内部の仕組み
Workflows Compiler — ブロックの読み込み、解析、グラフ構築、データ系譜、ステップ初期化
Execution Engine — 実行時の入力検証、実行順序、ステップ入力の組み立て、フロー制御
内部Workflow — 1つのWorkflow Definitionを別のものの中に埋め込むこと
Execution Engineの変更履歴 — 各Execution Engineバージョンで何が変更されたか
バージョニング — Definitions、ブロック、Engine間の互換性に関する約束
ビルディングブロック
Workflowブロックを作成する — 完全ガイド: マニフェスト、入力、出力、バッチ処理、フロー制御、次元
ブロックをプラグインにまとめる — プラグイン構造、必須インターフェース、種類、初期化子、シリアライザ
動的Pythonブロック — Workflow Definition内でその場でブロックを定義する
ブロックのテスト — 単体テストと統合テストのアプローチ
コミュニティプラグイン — コミュニティによって公開されたプラグイン
Workflowsの運用
Workflows Schema API — Workflowの入力、出力、型ヒントをプログラムで記述する
Workflowのプロファイリング — ステップの実行時間を測定し、ボトルネックを見つける
ベンチマーク — 直接のモデル推論と比較したWorkflowのオーバーヘッド
動画処理 — 動画フレームやストリーム上でWorkflowsを実行する
最終更新
役に立ちましたか?