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 알파1/베타의 경우 미디어 창고 노드만 여러 개의 상위 노드를 가질 수 있으며 다른 유형의 노드는 상위 노드가 하나만 있습니다.

outputAllOutputChannelsToStream

boolean

기본적으로 노드의 출력은 다운스트림 노드에서만 사용할 수 있습니다. 애플리케이션 노드에서 직접 출력을 사용하려면 먼저 출력을 Vision AI 스트림으로 전송해야 합니다.

outputAllOutputChannelsToStream을 true로 설정하면 앱 플랫폼은 현재 노드의 모든 출력을 Vision AI 스트림 리소스 (출력 채널당 하나의 스트림)로 자동 전송합니다. 출력 스트림 리소스는 배포 중에 App Platform에서 자동으로 생성되고 애플리케이션 배포 해제 후에는 삭제됩니다. 이 구성은 모든 애플리케이션 인스턴스에 적용됩니다.

인스턴스 리소스의 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 Vision 프로세서의 구성입니다.

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

미디어 창고 자료의 리소스 이름입니다. 형식: projects/${project_id}/locations/${locationId}/corpora/${corpus_id}

region
(deprecated)

string

지원 중단되었습니다.

ttl

string (Duration format)

모든 미디어 애셋, 연결된 메타데이터, 검색 문서가 존재할 수 있는 기간입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

PersonBlurConfig

FaceBlurConfig를 설명하는 메시지입니다.

JSON 표현
{
  "personBlurType": enum (PersonBlurType),
  "facesOnly": boolean
}
필드
personBlurType

enum (PersonBlurType)

사람 흐리게 처리 유형입니다.

facesOnly

boolean

프로세서에서 전체 객체 이외의 얼굴만 흐리게 처리할지 여부입니다.

PersonBlurType

사람 흐리게 처리 유형

열거형
PERSON_BLUR_TYPE_UNSPECIFIED 인물 흐리게 처리 유형 UNSPECIFIED
FULL_OCCULUSION FaceBlur 유형 전체 오클루전
BLUR_FILTER FaceBlur 유형 흐리게 처리 필터입니다.

OccupancyCountConfig

OccupancyCountConfig를 설명하는 메시지입니다.

JSON 표현
{
  "enablePeopleCounting": boolean,
  "enableVehicleCounting": boolean,
  "enableDwellingTimeTracking": boolean
}
필드
enablePeopleCounting

boolean

사람의 노출 수를 집계할지 여부와 관계없이 출력 수는 '사람'을 키로 사용합니다.

enableVehicleCounting

boolean

차량의 노출 수를 집계할지 여부와 관계없이 출력 수는 'vehicle'을 키로 갖습니다.

enableDwellingTimeTracking

boolean

장면 또는 특정 영역 내에서 개별 물체의 체류 시간을 추적할지 여부입니다.

PersonVehicleDetectionConfig

PersonVehicleDetectionConfig를 설명하는 메시지

JSON 표현
{
  "enablePeopleCounting": boolean,
  "enableVehicleCounting": boolean
}
필드
enablePeopleCounting

boolean

enablePeopleCounting 및 enableVehicleCounting 필드 중 하나 이상을 true로 설정해야 합니다. 사람의 노출 수를 집계할지 여부와 관계없이 출력 수는 '사람'을 키로 사용합니다.

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

초당 최대 예측 프레임 수입니다. 이 속성은 연산자가 Vertex AI 엔드포인트에 예측 요청을 전송하는 속도를 설정합니다. 기본값은 0입니다. 즉, 최대 예측 FPS 한도가 없습니다. 운영자는 입력 fps로 예측 요청을 전송합니다.

dedicatedResources

object (DedicatedResources)

DeployedModel 전용이며 더 높은 수준의 수동 구성이 필요한 리소스에 대한 설명입니다.

postProcessingCloudFunction

string

이 필드가 비어 있지 않으면 예측 결과가 후처리를 위해 지정된 클라우드 함수로 전송됩니다. * Cloud 함수는 AppPlatformCloudFunctionRequest를 수신하며 여기서 주석 필드는 proto PredictResponse의 JSON 형식입니다. * Cloud 함수는 주석 필드에 저장된 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: 주석을 생성하는 인스턴스의 ID입니다(STRING).

  • node: 주석을 생성하는 애플리케이션 그래프 노드의 이름입니다(STRING).

  • annotation: STRING 또는 JSON. 실제 주석 protobuf은 바이트 필드가 64 인코딩된 문자열로 json 문자열로 변환됩니다. 문자열 또는 JSON 유형 열에 모두 쓸 수 있습니다.

주석 데이터를 기존 BigQuery 테이블로 전달하려면 고객이 스키마의 호환성을 확인해야 합니다.

이 맵은 애플리케이션 노드 이름을 해당하는 Cloud 함수 엔드포인트에 매핑하여 주석을 google.cloud.bigquery.storage.v1.AppendRowsRequest로 직접 변환합니다 (avro_rows 또는 proto_rows만 설정해야 함). 구성된 경우 상응하는 애플리케이션 노드에서 생성된 주석은 먼저 Cloud 함수로 전송된 후 BigQuery로 전달됩니다.

기본 테이블 스키마가 적합하지 않은 경우 고객은 CloudFunction을 사용하여 Vision AI 애플리케이션의 주석 출력을 임의의 BigQuery 테이블 스키마로 변환할 수 있습니다.

  • Cloud 함수는 AppPlatformCloudFunctionRequest를 수신하며 여기서 주석 필드는 Vision AI 주석의 JSON 형식입니다.
  • Cloud 함수는 주석 필드에 AppendRowsRequest가 저장된 AppPlatformCloudFunctionResponse를 반환해야 합니다.
  • 주석을 삭제하려면 반환된 AppPlatformCloudFunctionResponse에서 annotations 필드를 지우면 됩니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createDefaultTableIfNotExists

boolean

이 값이 true이면 지정된 테이블이 없으면 App Platform에서 기본 스키마로 BigQuery 데이터 세트와 BigQuery 테이블을 만듭니다. 시스템에서 원하는 스키마를 알 수 없으므로 Cloud 함수 맞춤 스키마가 지정된 경우에는 이 방법이 작동하지 않습니다. JSON 열은 App Platform에서 만든 기본 테이블에 사용됩니다.

PersonalProtectiveEquipmentDetectionConfig

PersonalProtectiveEquipmentDetectionConfig를 설명하는 메시지

JSON 표현
{
  "enableFaceCoverageDetection": boolean,
  "enableHeadCoverageDetection": boolean,
  "enableHandsCoverageDetection": boolean
}
필드
enableFaceCoverageDetection

boolean

얼굴 가리개 감지를 사용 설정할지 여부입니다.

enableHeadCoverageDetection

boolean

머리 가리개 감지를 사용 설정할지 여부입니다.

enableHandsCoverageDetection

boolean

손 가리기 감지를 사용 설정할지 여부입니다.

InputEdge

노드를 향하는 한 개의 에지를 설명하는 메시지입니다.

JSON 표현
{
  "parentNode": string,
  "parentOutputChannel": string,
  "connectedInputChannel": string
}
필드
parentNode

string

상위 노드의 이름입니다.

parentOutputChannel

string

상위 노드의 연결된 출력 아티팩트입니다. 대상 프로세서에 출력 아티팩트가 1개만 있는 경우 생략할 수 있습니다.

connectedInputChannel

string

현재 노드 프로세서의 연결된 입력 채널입니다. 대상 프로세서에 입력 채널이 1개만 있는 경우 생략할 수 있습니다.

MonitoringConfig

애플리케이션의 모니터링 관련 구성입니다.

JSON 표현
{
  "enabled": boolean
}
필드
enabled

boolean

이 애플리케이션에 모니터링이 사용 설정되어 있는지 여부입니다.