設定
InferenceConfiguration を使用して、InferenceHTTPClient の既定値、タスクごとのモデルパラメータ、Workflows 実行オプションを設定します。
設定オプション
APIキーの送信方法
この api_key_transport のフィールド InferenceConfiguration は、クライアントがAPIキーをサーバーに送信するために使用する経路を制御します。キーを次の形式で送信する場合: Authorization: Bearer ヘッダーにすると、URLやサーバーログに含まれず、推奨される方法です:
from inference_sdk import InferenceHTTPClient, InferenceConfiguration
client = InferenceHTTPClient(
api_url="https://serverless.roboflow.com",
api_key="ROBOFLOW_API_KEY",
).configure(InferenceConfiguration(api_key_transport="header"))3つのモードがあります:
legacy
キーは api_key クエリパラメータまたは JSON 本文フィールドとして送信されます。既定では、明示的に選択しない場合、クライアントはこの動作を行い、1回だけ警告を出します。
すべてのサーバーバージョンで対応。
both
従来の経路はそのままで、さらに Authorization: Bearer header
すべてのサーバーバージョンで対応。
header
キーは Authorization: Bearer のみで送信されます。URLやリクエスト本文にキーは含まれません。推奨。
Inference 1.5.0 以降のリリース。古いサーバーに対しては、リクエストはキーなしで届きます。
使用してください header 新しいコードでは。ホスト型の Roboflow API はこれを受け入れ、キーが URL に含まれることもありません。呼び出し先の一部のサーバーがまだ Inference 1.5.0 より古いリリースを使っている場合、または途中のプロキシが Authorization ヘッダーを取り除く場合は、 both 移行期間中はこれを使ってください: すべてのサーバーバージョンで動作します。
configure(...) は設定オブジェクト全体を置き換えます。後で他のオプションを設定する場合は、送信方法を同じ InferenceConfigurationに含めてください。そうしないとクライアントは次の設定に戻ります: legacy:
client.configure(
InferenceConfiguration(
confidence_threshold=0.8,
api_key_transport="header",
)
)コンテキストマネージャーでの設定
メソッド use_configuration(...) および use_model(...) はコンテキストマネージャー内で使うように設計されています。 コンテキストマネージャーを抜けると、以前の設定値が復元されます。
ご覧のとおり、 model_id は、デフォルトモデルが設定されていない場合にのみ予測メソッドで必要です。
一度設定し、次の変更までそれを使い続ける
メソッド configure(...) および select_model(...) はクライアントの状態を変更し、その変更は次の変更まで保持されます。
次の方法でも初期化できます 連鎖 モード:
上書き model_id 特定の呼び出しで
model_id 特定の呼び出しで上書きできます:
クライアント設定の詳細
InferenceHTTPClient は次を提供します: InferenceConfiguration 完全な設定を保持する dataclass。
この設定のフィールドを上書きすると、クライアントの動作(およびモデルを提供する API の動作)が変わります。特定のフィールドは特定のコンテキストで使われます。特に:
分類モデル
visualize_predictions:可視化の有効/無効を切り替えるフラグconfidence_thresholdとしてconfidencestroke_width:可視化時の線幅disable_preproc_auto_orientation,disable_preproc_contrast,disable_preproc_grayscale,disable_preproc_static_cropサーバー側の前処理を変更するためdisable_active_learning次を防ぐため Active Learning 機能がデータポイントを登録するのを防ぎます(たとえばモデルのテスト時に便利です)active_learning_target_dataset- 特定のモデル(たとえばproject_a/1)で推論し、別のプロジェクトにデータを保存したい場合project_b、後者はこのパラメータで指定する必要があります。 異なる種類のモデルをproject_aおよびproject_bで混在して使用することはできません。その場合、データは登録されません。source:推論呼び出しに「source」属性を設定する任意の文字列。 モデルモニタリングを使用している場合、これは推論リクエストとともにログに記録されるため、特定のソースからの推論リクエストを絞り込んだり検索したりできます。たとえば、どのアプリケーション、システム、またはデプロイがリクエストを送信しているかを特定できます。source_info:推論呼び出しに追加の「source_info」属性を設定する任意の文字列。たとえば、アプリ内のサブコンポーネントを識別するために使います。
物体検出モデル
visualize_predictions:可視化の有効/無効を切り替えるフラグvisualize_labels:可視化が有効な場合にラベル可視化の有効/無効を切り替えるフラグconfidence_thresholdとしてconfidenceclass_filterクラスのリストを除外するためclass_agnostic_nms:NMS をクラス非依存にするかどうかを制御するフラグfix_batch_sizeiou_threshold:NMS の IoU 閾値を指定するためstroke_width:可視化時の線幅max_detections:モデルから返す検出数の上限max_candidates:モデルの後処理で使用する候補数の上限disable_preproc_auto_orientation,disable_preproc_contrast,disable_preproc_grayscale,disable_preproc_static_cropサーバー側の前処理を変更するためdisable_active_learning,active_learning_target_dataset,source,source_info— 上述のとおり
キーポイント検出モデル
visualize_predictions:可視化の有効/無効を切り替えるフラグvisualize_labels:可視化が有効な場合にラベル可視化の有効/無効を切り替えるフラグconfidence_thresholdとしてconfidencekeypoint_confidence_threshold(次のkeypoint_confidence) のように、モデルの信頼度に基づいて検出されたキーポイントを絞り込むためclass_filter物体クラスのリストを除外するためclass_agnostic_nms:NMS をクラス非依存にするかどうかを制御するフラグfix_batch_sizeiou_threshold:NMS の IoU 閾値を指定するためstroke_width:可視化時の線幅max_detections:モデルから返す検出数の上限max_candidates:モデルの後処理で使用する候補数の上限disable_preproc_auto_orientation,disable_preproc_contrast,disable_preproc_grayscale,disable_preproc_static_cropサーバー側の前処理を変更するためdisable_active_learning,active_learning_target_dataset,source,source_info— 上述のとおり
インスタンスセグメンテーションモデル
visualize_predictions:可視化の有効/無効を切り替えるフラグvisualize_labels:可視化が有効な場合にラベル可視化の有効/無効を切り替えるフラグconfidence_thresholdとしてconfidenceclass_filterクラスのリストを除外するためclass_agnostic_nms:NMS をクラス非依存にするかどうかを制御するフラグfix_batch_sizeiou_threshold:NMS の IoU 閾値を指定するためstroke_width:可視化時の線幅max_detections:モデルから返す検出数の上限max_candidates:モデルの後処理で使用する候補数の上限disable_preproc_auto_orientation,disable_preproc_contrast,disable_preproc_grayscale,disable_preproc_static_cropサーバー側の前処理を変更するためmask_decode_modetradeoff_factordisable_active_learning,active_learning_target_dataset,source,source_info— 上述のとおり
クライアントの設定
output_visualisation_format:次のいずれかVisualisationResponseFormat.BASE64,VisualisationResponseFormat.NUMPY,VisualisationResponseFormat.PILLOW。サーバー側の可視化が有効な場合、出力に使用する形式を選択できます。client_downsizing_disabled:次に設定Falseクライアント側での縮小処理を行いたい場合。既定値True。クライアント側のスケーリングは、推論用入力を縦横比を保ったまま縮小するだけで、ネット接続をより効率的に使うためのものです(その代わり画像の加工/変換が発生します)。モデルの入力サイズ情報は目標サイズの決定に使われ、利用できない場合はdefault_max_input_sizeが使用されます。max_concurrent_requests:開始できる同時リクエスト数の上限max_batch_size:1つのリクエストに投入できる要素数の上限workflow_run_retries_enabled:Workflows 実行中の一時的なエラーを再試行するかどうかを決めるフラグ。既定値はtrueであり、既定値は環境変数WORKFLOW_RUN_RETRIES_ENABLED.
Workflows 実行の設定
profiling_directory:Workflows プロファイラのトレースを保存する場所を指定します。既定では./inference_profilingディレクトリです。
最終更新
役に立ちましたか?