ApplicationConfigs

アプリケーションのグラフを格納するメッセージ。

JSON 表現
{
  "nodes": [
    {
      object (Node)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  }
}
フィールド
nodes[]

object (Node)

アプリケーション グラフ内のノードのリスト。

monitoringConfig

object (MonitoringConfig)

このアプリケーションのモニタリング関連の構成。

ノード

ノード オブジェクトについて説明するメッセージ。

JSON 表現
{
  "name": string,
  "displayName": string,
  "nodeConfig": {
    object (ProcessorConfig)
  },
  "processor": string,
  "parents": [
    {
      object (InputEdge)
    }
  ],
  "outputAllOutputChannelsToStream": boolean
}
フィールド
name

string

必須。ノードの一意の名前。

displayName

string

ノードのわかりやすい表示名。

nodeConfig

object (ProcessorConfig)

ノード構成。

processor

string

プロセッサ名は、選択したプロセッサ リソースを参照します。

parents[]

object (InputEdge)

親ノード。入力ノードに親ノードがない。V1 Alpha1/Beta では、メディア ウェアハウス ノードにのみ複数の親を設定できます。他のタイプのノードには親が 1 つだけ設定できます。

outputAllOutputChannelsToStream

boolean

デフォルトでは、ノードの出力はダウンストリーム ノードにのみ使用できます。アプリケーション ノードからの直接出力を使用するには、まず出力を Vision AI Streams に送信する必要があります。

outputAllOutputChannelsToStream を true に設定すると、App Platform は現在のノードのすべての出力を Vision AI Stream リソースに自動的に送信します(出力チャネルごとに 1 つのストリーム)。出力ストリーム リソースは、デプロイ中に App Platform によって自動的に作成され、アプリケーションのデプロイ解除後に削除されます。この構成は、すべてのアプリケーション インスタンスに適用されます。

出力ストリームは、Instance リソースの outputResources セクションを構成することで、インスタンスレベルでオーバーライドできます。producerNode は現在のノード、outputResourceBinding は出力チャンネル名(プロセッサの出力チャンネルが 1 つしかない場合は空白のまま)、outputResource はターゲット出力ストリームにする必要があります。

ProcessorConfig

次の ID: 23

JSON 表現
{

  // Union field processor_config can be only one of the following:
  "videoStreamInputConfig": {
    object (VideoStreamInputConfig)
  },
  "aiEnabledDevicesInputConfig": {
    object (AIEnabledDevicesInputConfig)
  },
  "mediaWarehouseConfig": {
    object (MediaWarehouseConfig)
  },
  "personBlurConfig": {
    object (PersonBlurConfig)
  },
  "occupancyCountConfig": {
    object (OccupancyCountConfig)
  },
  "personVehicleDetectionConfig": {
    object (PersonVehicleDetectionConfig)
  },
  "vertexAutomlVisionConfig": {
    object (VertexAutoMLVisionConfig)
  },
  "vertexAutomlVideoConfig": {
    object (VertexAutoMLVideoConfig)
  },
  "vertexCustomConfig": {
    object (VertexCustomConfig)
  },
  "generalObjectDetectionConfig": {
    object (GeneralObjectDetectionConfig)
  },
  "bigQueryConfig": {
    object (BigQueryConfig)
  },
  "personalProtectiveEquipmentDetectionConfig": {
    object (PersonalProtectiveEquipmentDetectionConfig)
  }
  // End of list of possible types for union field processor_config.
}
フィールド

共用体フィールド processor_config

processor_config は次のいずれかになります。

videoStreamInputConfig

object (VideoStreamInputConfig)

ストリーム入力プロセッサの構成。

aiEnabledDevicesInputConfig

object (AIEnabledDevicesInputConfig)

AI 対応入力デバイスの設定。

mediaWarehouseConfig

object (MediaWarehouseConfig)

メディア ウェアハウス プロセッサの構成。

personBlurConfig

object (PersonBlurConfig)

人物ぼかしプロセッサの構成。

occupancyCountConfig

object (OccupancyCountConfig)

占有人数プロセッサの設定。

personVehicleDetectionConfig

object (PersonVehicleDetectionConfig)

人物と車両の検出プロセッサの設定。

vertexAutomlVisionConfig

object (VertexAutoMLVisionConfig)

Vertex AutoML ビジョン プロセッサの構成。

vertexAutomlVideoConfig

object (VertexAutoMLVideoConfig)

Vertex AutoML 動画プロセッサの構成。

vertexCustomConfig

object (VertexCustomConfig)

Vertex カスタム プロセッサの構成。

generalObjectDetectionConfig

object (GeneralObjectDetectionConfig)

汎用オブジェクト検出プロセッサの構成。

bigQueryConfig

object (BigQueryConfig)

BigQuery プロセッサの構成。

personalProtectiveEquipmentDetectionConfig

object (PersonalProtectiveEquipmentDetectionConfig)

personalProtectiveEquipmentDetectionConfig の設定

VideoStreamInputConfig

動画ストリーム入力構成を説明するメッセージ。このメッセージは、builtin:stream-input プロセッサのプレースホルダとしてのみ使用してください。実際のストリーム バインディングは、対応する API を使用して指定する必要があります。

JSON 表現
{
  "streams": [
    string
  ],
  "streamsWithAnnotation": [
    {
      object (StreamWithAnnotation)
    }
  ]
}
フィールド
streams[]
(deprecated)

string

streamsWithAnnotation[]
(deprecated)

object (StreamWithAnnotation)

AIEnabledDevicesInputConfig

AI 対応デバイスの入力構成を説明するメッセージ。

MediaWarehouseConfig

MediaWarehouseConfig を説明するメッセージ。

JSON 表現
{
  "corpus": string,
  "region": string,
  "ttl": string
}
フィールド
corpus

string

Media Warehouse コーパスのリソース名。形式: projects/${project_id}/locations/${locationId}/corpora/${corpus_id}

region
(deprecated)

string

サポート終了。

ttl

string (Duration format)

すべてのメディア アセット、関連メタデータ、検索ドキュメントが存在できる期間。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

PersonBlurConfig

FaceBlurConfig について説明するメッセージ。

JSON 表現
{
  "personBlurType": enum (PersonBlurType),
  "facesOnly": boolean
}
フィールド
personBlurType

enum (PersonBlurType)

人のぼかしのタイプ。

facesOnly

boolean

プロセッサ内のオブジェクト全体ではなく、顔のみをぼかすかどうか。

PersonBlurType

人のぼかしの種類

列挙型
PERSON_BLUR_TYPE_UNSPECIFIED PersonBlur のタイプが UNSPECIFIED です。
FULL_OCCULUSION FaceBlur タイプ: 完全オクルージョン。
BLUR_FILTER FaceBlur タイプのぼかしフィルタ。

OccupancyCountConfig

OccupancyCountConfig について説明するメッセージ。

JSON 表現
{
  "enablePeopleCounting": boolean,
  "enableVehicleCounting": boolean,
  "enableDwellingTimeTracking": boolean
}
フィールド
enablePeopleCounting

boolean

人物の出現回数をカウントするかどうかにかかわらず、出力カウントのキーは「people」です。

enableVehicleCounting

boolean

車両の出現回数をカウントするかどうかにかかわらず、出力カウントのキーは「vehicle」になります。

enableDwellingTimeTracking

boolean

シーンまたは特定のゾーン内での個々のオブジェクトの滞留時間をトラッキングするかどうか。

PersonVehicleDetectionConfig

PersonVehicleDetectionConfig について説明するメッセージ。

JSON 表現
{
  "enablePeopleCounting": boolean,
  "enableVehicleCounting": boolean
}
フィールド
enablePeopleCounting

boolean

enablePeopleCounting フィールドと enableVehicleCounting フィールドの少なくとも 1 つを true に設定する必要があります。人物の出現回数をカウントするかどうかにかかわらず、出力カウントのキーは「people」です。

enableVehicleCounting

boolean

車両の出現回数をカウントするかどうかにかかわらず、出力カウントのキーは「vehicle」になります。

VertexAutoMLVisionConfig

Vertex AutoML Vision プロセッサの構成に関するメッセージ。

JSON 表現
{
  "confidenceThreshold": number,
  "maxPredictions": integer
}
フィールド
confidenceThreshold

number

しきい値より高いスコアのエンティティのみが返されます。値 0.0 は、検出されたすべてのエンティティを返すことを意味します。

maxPredictions

integer

出力フレームごとに返される予測の最大数。値 0 は、検出されたすべてのエンティティを返すことを意味します。

VertexAutoMLVideoConfig

VertexAutoMLVideoConfig を記述するメッセージ。

JSON 表現
{
  "confidenceThreshold": number,
  "blockedLabels": [
    string
  ],
  "maxPredictions": integer,
  "boundingBoxSizeLimit": number
}
フィールド
confidenceThreshold

number

しきい値より高いスコアのエンティティのみが返されます。値 0.0 は、検出されたすべてのエンティティを返すことを意味します。

blockedLabels[]

string

このフィールドで指定されたラベルは返されません。

maxPredictions

integer

出力フレームごとに返される予測の最大数。値 0 は、検出されたすべてのエンティティを返すことを意味します。

boundingBoxSizeLimit

number

この上限を超えるサイズの境界ボックスのみが返されます。オブジェクト トラッキングのみ。値 0.0 は、検出されたすべてのエンティティを返すことを意味します。

VertexCustomConfig

VertexCustomConfig について説明するメッセージ。

JSON 表現
{
  "maxPredictionFps": integer,
  "dedicatedResources": {
    object (DedicatedResources)
  },
  "postProcessingCloudFunction": string,
  "attachApplicationMetadata": boolean
}
フィールド
maxPredictionFps

integer

1 秒あたりの最大予測フレーム数。この属性は、オペレーターが Vertex AI エンドポイントに予測リクエストを送信する速度を設定します。デフォルト値は 0 で、最大予測 fps の制限がないことを意味します。オペレーターは、入力 fps で予測リクエストを送信します。

dedicatedResources

object (DedicatedResources)

DeployedModel 専用で、高度な手動構成が必要なリソースの説明。

postProcessingCloudFunction

string

空でない場合、予測結果は指定された Cloud Functions 関数に送信され、後処理が行われます。* Cloud Functions の関数は AppPlatformCloudFunctionRequest を受信します。この場合、annotations フィールドは proto PredictResponse の JSON 形式になります。* Cloud Functions の関数は、annotations フィールドに PredictResponse が保存された AppPlatformCloudFunctionResponse を返す必要があります。* 予測出力を破棄するには、返された AppPlatformCloudFunctionResponse のペイロード フィールドを消去します。

attachApplicationMetadata

boolean

true の場合、カスタムモデルが受信した予測リクエストには、次のスキーマのメタデータも含まれます。'appPlatformMetadata': { 'ingestionTime': DOUBLE;(UNIX タイムスタンプ) 'application': STRING; 'instanceId': STRING; 'node': STRING; 'processor': STRING; }

DedicatedResources

DeployedModel 専用で、高度な手動構成が必要なリソースの説明。

JSON 表現
{
  "machineSpec": {
    object (MachineSpec)
  },
  "minReplicaCount": integer,
  "maxReplicaCount": integer,
  "autoscalingMetricSpecs": [
    {
      object (AutoscalingMetricSpec)
    }
  ]
}
フィールド
machineSpec

object (MachineSpec)

必須。変更不可。予測で使用される単一マシンの仕様。

minReplicaCount

integer

必須。変更不可。この DeployedModel が常にデプロイされるマシンレプリカの最小数。1 以上の値を指定してください。

DeployedModel に対するトラフィックが増加すると、より多くのレプリカに動的にデプロイされることがあります。トラフィックが減少すると、これらの追加レプリカの一部が解放されることがあります。

maxReplicaCount

integer

変更不可。この DeployedModel に対するトラフィックが増加した場合に、この DeployedModel をデプロイできるレプリカの最大数。リクエストされた値が大きすぎる場合、デプロイはエラーになりますが、デプロイが成功すると、モデルをその数のレプリカにスケーリングできることが保証されます(サービスの停止を除く)。DeployedModel に対するトラフィックが、レプリカが最大で処理できる量を超えると、トラフィックの一部がドロップされます。この値を指定しない場合、デフォルト値として minReplicaCount が使用されます。

このフィールドの値は、Vertex CPU と GPU の割り当てに対する課金に影響します。具体的には、maxReplicaCount * 選択したマシンタイプのコア数と、maxReplicaCount * 選択したマシンタイプのレプリカあたりの GPU 数に対して課金されます。

autoscalingMetricSpecs[]

object (AutoscalingMetricSpec)

変更不可。リソース使用率の指標(CPU 使用率、アクセラレータのデューティ サイクルなど)のターゲット値(設定されていない場合はデフォルトで 60)をオーバーライドする指標仕様。指標ごとに許可されるエントリは 1 つまでです。

machineSpec.accelerator_count が 0 より大きい場合、自動スケーリングは CPU 使用率とアクセラレータのデューティ サイクルの両方の指標に基づいて行われ、いずれかの指標が目標値を超えるとスケールアップし、両方の指標が目標値を下回るとスケールダウンします。デフォルトのターゲット値は、どちらの指標でも 60 です。

machineSpec.accelerator_count が 0 の場合、自動スケーリングは CPU 使用率の指標のみに基づいて行われ、明示的に設定されていない場合はデフォルトのターゲット値 60 が使用されます。

たとえば、オンライン予測でターゲット CPU 使用率を 80 にオーバーライドする場合は、autoscalingMetricSpecs.metric_nameaiplatform.googleapis.com/prediction/online/cpu/utilization に、autoscalingMetricSpecs.target80 に設定する必要があります。

MachineSpec

単一マシンの仕様。

JSON 表現
{
  "machineType": string,
  "acceleratorType": enum (AcceleratorType),
  "acceleratorCount": integer
}
フィールド
machineType

string

変更不可。マシンのタイプ。

予測にサポートされているマシンタイプのリストをご覧ください。

カスタム トレーニングでサポートされているマシンタイプのリストをご覧ください。

[DeployedModel][] の場合、このフィールドは省略可能で、デフォルト値は n1-standard-2 です。[BatchPredictionJob][] の場合、または [WorkerPoolSpec][] の一部として、このフィールドは必須です。

acceleratorType

enum (AcceleratorType)

変更不可。acceleratorCount に従ってマシンに接続できるアクセラレータのタイプ。

acceleratorCount

integer

マシンに接続するアクセラレータの数。

AcceleratorType

ハードウェア アクセラレータのタイプを表します。

列挙型
ACCELERATOR_TYPE_UNSPECIFIED 未指定のアクセラレータ タイプ(アクセラレータなし)。
NVIDIA_TESLA_K80 Nvidia Tesla K80 GPU.
NVIDIA_TESLA_P100 Nvidia Tesla P100 GPU.
NVIDIA_TESLA_V100 Nvidia Tesla V100 GPU.
NVIDIA_TESLA_P4 Nvidia Tesla P4 GPU.
NVIDIA_TESLA_T4 Nvidia Tesla T4 GPU.
NVIDIA_TESLA_A100 Nvidia Tesla A100 GPU。
TPU_V2 TPU v2.
TPU_V3 TPU v3.

AutoscalingMetricSpec

目的のレプリカ数を計算するためのターゲット リソース使用率(CPU 使用率、アクセラレータの負荷サイクルなど)を定義する指標仕様。

JSON 表現
{
  "metricName": string,
  "target": integer
}
フィールド
metricName

string

必須。リソース指標名。サポートされている指標:

  • オンライン予測の場合:
  • aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle
  • aiplatform.googleapis.com/prediction/online/cpu/utilization
target

integer

特定の指標のターゲット リソース使用率(1 ~ 100%)。実際の使用率がターゲットから一定の割合ずれると、マシンレプリカが変更されます。指定しない場合、デフォルト値は 60(60% を表す)です。

GeneralObjectDetectionConfig

一般的なオブジェクト検出プロセッサの構成に関するメッセージ。

BigQueryConfig

BigQuery プロセッサの構成メッセージ。

JSON 表現
{
  "table": string,
  "cloudFunctionMapping": {
    string: string,
    ...
  },
  "createDefaultTableIfNotExists": boolean
}
フィールド
table

string

Vision AI Platform がアノテーションを取り込む BigQuery テーブル リソース。

cloudFunctionMapping

map (key: string, value: string)

データスキーマ デフォルトでは、Vision AI アプリケーションは次のスキーマを使用して、ターゲットの BigQuery テーブルにアノテーションを書き込むことを試みます。

  • ingestion_time: TIMESTAMP、元のデータの取り込み時間。

  • application: STRING、アノテーションを生成するアプリケーションの名前。

  • instance: STRING、アノテーションを生成するインスタンスの ID。

  • node: STRING、アノテーションを生成するアプリケーション グラフ ノードの名前。

  • annotation: STRING または JSON。実際のアノテーション プロトブーブは、バイトフィールドが 64 エンコード文字列として JSON 文字列に変換されます。String 型または Json 型の列の両方に書き込むことができます。

アノテーション データを既存の BigQuery テーブルに転送するには、スキーマの互換性を確認する必要があります。

このマップは、アプリケーション ノード名を対応する Cloud Functions エンドポイントにマッピングし、アノテーションを google.cloud.bigquery.storage.v1.AppendRowsRequest に直接変換します(avro_rows または proto_rows のみを設定する必要があります)。構成されている場合、対応するアプリケーションノードで生成されたアノテーションは、BigQuery に転送される前に、まず Cloud Functions の関数に送信されます。

デフォルトのテーブル スキーマが適合しない場合は、CloudFunction を使用して、Vision AI アプリケーションのアノテーション出力を任意の BigQuery テーブル スキーマに変換できます。

  • Cloud Functions の関数は AppPlatformCloudFunctionRequest を受信します。このリクエストの annotations フィールドには、Vision AI アノテーションの JSON 形式が含まれます。
  • Cloud Functions 関数は、annotations フィールドに AppendRowsRequest が保存された AppPlatformCloudFunctionResponse を返す必要があります。
  • アノテーションを削除するには、返された AppPlatformCloudFunctionResponse の annotations フィールドをクリアします。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createDefaultTableIfNotExists

boolean

true の場合、指定されたテーブルが存在しない場合、App Platform は BigQuery データセットと BigQuery テーブルをデフォルトのスキーマで作成します。ただし、Cloud Functions の関数でカスタマイズされたスキーマが指定されている場合、システムは目的のスキーマを認識しないため、この方法は機能しません。JSON 列は、App Platform によって作成されたデフォルトのテーブルで使用されます。

PersonalProtectiveEquipmentDetectionConfig

PersonalProtectiveEquipmentDetectionConfig について説明するメッセージ。

JSON 表現
{
  "enableFaceCoverageDetection": boolean,
  "enableHeadCoverageDetection": boolean,
  "enableHandsCoverageDetection": boolean
}
フィールド
enableFaceCoverageDetection

boolean

顔の覆い被り検出を有効にするかどうか。

enableHeadCoverageDetection

boolean

ヘッドカバレッジ検出を有効にするかどうか。

enableHandsCoverageDetection

boolean

手のひら覆い検出を有効にするかどうか。

InputEdge

ノードを指す 1 つのエッジを記述するメッセージ。

JSON 表現
{
  "parentNode": string,
  "parentOutputChannel": string,
  "connectedInputChannel": string
}
フィールド
parentNode

string

親ノードの名前。

parentOutputChannel

string

親ノードの接続された出力アーティファクト。ターゲット プロセッサに出力アーティファクトが 1 つしかない場合は省略できます。

connectedInputChannel

string

現在のノードのプロセッサの接続された入力チャネル。ターゲット プロセッサに入力チャネルが 1 つしかない場合は省略できます。

MonitoringConfig

アプリケーションのモニタリング関連の構成。

JSON 表現
{
  "enabled": boolean
}
フィールド
enabled

boolean

このアプリケーションでモニタリングが有効になっているかどうか。