ApplicationConfigs

Message stockant le graphique de l'application.

Représentation JSON
{
  "nodes": [
    {
      object (Node)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  }
}
Champs
nodes[]

object (Node)

Liste des nœuds du graphe de l'application.

monitoringConfig

object (MonitoringConfig)

Configuration liée à la surveillance de cette application.

Nœud

Message décrivant l'objet du nœud.

Représentation JSON
{
  "name": string,
  "displayName": string,
  "nodeConfig": {
    object (ProcessorConfig)
  },
  "processor": string,
  "parents": [
    {
      object (InputEdge)
    }
  ],
  "outputAllOutputChannelsToStream": boolean
}
Champs
name

string

Obligatoire. Nom unique du nœud.

displayName

string

Nom à afficher convivial pour le nœud.

nodeConfig

object (ProcessorConfig)

Configuration des nœuds.

processor

string

Le nom du processeur fait référence à la ressource de processeur choisie.

parents[]

object (InputEdge)

Nœud parent. Le nœud d'entrée ne doit pas avoir de nœud parent. Pour la version V1 Alpha1/Bêta, seul le nœud de l'entrepôt multimédia peut avoir plusieurs parents. Les autres types de nœuds n'en ont qu'un seul.

outputAllOutputChannelsToStream

boolean

Par défaut, la sortie du nœud n'est disponible que pour les nœuds en aval. Pour utiliser la sortie directe du nœud d'application, la sortie doit d'abord être envoyée à Vision AI Streams.

En définissant outputAllOutputChannelsToStream sur "true", App Platform envoie automatiquement toutes les sorties du nœud actuel aux ressources de flux Vision AI (un flux par canal de sortie). La ressource de flux de sortie est créée automatiquement par App Platform lors du déploiement et supprimée après le désengagement de l'application. Notez que cette configuration s'applique à toutes les instances d'application.

Vous pouvez remplacer le flux de sortie au niveau de l'instance en configurant la section outputResources de la ressource Instance. producerNode doit être le nœud actuel, outputResourceBinding doit être le nom du canal de sortie (ou le laisser vide s'il n'y a qu'un seul canal de sortie du processeur) et outputResource doit être le flux de sortie cible.

ProcessorConfig

Identifiant suivant: 23

Représentation 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.
}
Champs

Champ d'union processor_config.

processor_config ne peut être qu'un des éléments suivants :

videoStreamInputConfig

object (VideoStreamInputConfig)

Configurations du processeur d'entrée de flux.

aiEnabledDevicesInputConfig

object (AIEnabledDevicesInputConfig)

Configuration des périphériques d'entrée compatibles avec l'IA

mediaWarehouseConfig

object (MediaWarehouseConfig)

Configurations du processeur de l'entrepôt multimédia.

personBlurConfig

object (PersonBlurConfig)

Configurations du processeur de floutage des personnes.

occupancyCountConfig

object (OccupancyCountConfig)

Configurations du processeur de comptage de l'occupation.

personVehicleDetectionConfig

object (PersonVehicleDetectionConfig)

Configurations du processeur de détection de personnes et de véhicules.

vertexAutomlVisionConfig

object (VertexAutoMLVisionConfig)

Configurations du processeur de vision Vertex AutoML.

vertexAutomlVideoConfig

object (VertexAutoMLVideoConfig)

Configurations du processeur vidéo Vertex AutoML.

vertexCustomConfig

object (VertexCustomConfig)

Configurations du processeur personnalisé Vertex.

generalObjectDetectionConfig

object (GeneralObjectDetectionConfig)

Configurations du processeur de détection d'objets général.

bigQueryConfig

object (BigQueryConfig)

Configurations du processeur BigQuery.

personalProtectiveEquipmentDetectionConfig

object (PersonalProtectiveEquipmentDetectionConfig)

Configurations de personalProtectiveEquipmentDetectionConfig

VideoStreamInputConfig

Message décrivant la configuration d'entrée du flux vidéo. Ce message ne doit être utilisé qu'en tant que remplisseur pour le processeur builtin:stream-input. La liaison de flux réelle doit être spécifiée à l'aide de l'API correspondante.

Représentation JSON
{
  "streams": [
    string
  ],
  "streamsWithAnnotation": [
    {
      object (StreamWithAnnotation)
    }
  ]
}
Champs
streams[]
(deprecated)

string

streamsWithAnnotation[]
(deprecated)

object (StreamWithAnnotation)

AIEnabledDevicesInputConfig

Message décrivant la configuration d'entrée des appareils compatibles avec l'IA.

MediaWarehouseConfig

Message décrivant MediaWarehouseConfig.

Représentation JSON
{
  "corpus": string,
  "region": string,
  "ttl": string
}
Champs
corpus

string

Nom de la ressource du corpus Media Warehouse. Format: projects/${project_id}/locations/${locationId}/corpora/${corpus_id}

region
(deprecated)

string

Obsolète.

ttl

string (Duration format)

Durée pendant laquelle tous les éléments multimédias, les métadonnées associées et les documents de recherche peuvent exister.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

PersonBlurConfig

Message décrivant FaceBlurConfig.

Représentation JSON
{
  "personBlurType": enum (PersonBlurType),
  "facesOnly": boolean
}
Champs
personBlurType

enum (PersonBlurType)

Type de floutage des personnes.

facesOnly

boolean

Indique si le floutage doit être appliqué uniquement aux visages et non à l'ensemble de l'objet dans le processeur.

PersonBlurType

Type de floutage des personnes

Enums
PERSON_BLUR_TYPE_UNSPECIFIED Type de floutage de personne NON SPÉCIFIÉ.
FULL_OCCULUSION FaceBlur Type full occlusion.
BLUR_FILTER Filtre de floutage de type FaceBlur.

OccupancyCountConfig

Message décrivant OccupancyCountConfig.

Représentation JSON
{
  "enablePeopleCounting": boolean,
  "enableVehicleCounting": boolean,
  "enableDwellingTimeTracking": boolean
}
Champs
enablePeopleCounting

boolean

Si vous souhaitez comptabiliser les apparitions de personnes, la clé des résultats est "personnes".

enableVehicleCounting

boolean

Si vous souhaitez comptabiliser les apparitions de véhicules, la clé de la valeur de sortie sera "véhicule".

enableDwellingTimeTracking

boolean

Indique si vous devez suivre la durée d'inactivité de chaque objet individuel dans la scène ou dans une zone spécifique.

PersonVehicleDetectionConfig

Message décrivant PersonVehicleDetectionConfig.

Représentation JSON
{
  "enablePeopleCounting": boolean,
  "enableVehicleCounting": boolean
}
Champs
enablePeopleCounting

boolean

Au moins l'un des champs "enablePeopleCounting" et "enableVehicleCounting" doit être défini sur "true". Si vous souhaitez comptabiliser les apparitions de personnes, la clé des résultats est "personnes".

enableVehicleCounting

boolean

Si vous souhaitez comptabiliser les apparitions de véhicules, la clé de la valeur de sortie sera "véhicule".

VertexAutoMLVisionConfig

Message sur les configurations des processeurs Vertex AutoML Vision.

Représentation JSON
{
  "confidenceThreshold": number,
  "maxPredictions": integer
}
Champs
confidenceThreshold

number

Seules les entités dont le score est supérieur au seuil sont renvoyées. La valeur 0,0 indique de renvoyer toutes les entités détectées.

maxPredictions

integer

Ce nombre maximal de prédictions est renvoyé par frame de sortie. La valeur 0 indique de renvoyer toutes les entités détectées.

VertexAutoMLVideoConfig

Message décrivant VertexAutoMLVideoConfig.

Représentation JSON
{
  "confidenceThreshold": number,
  "blockedLabels": [
    string
  ],
  "maxPredictions": integer,
  "boundingBoxSizeLimit": number
}
Champs
confidenceThreshold

number

Seules les entités dont le score est supérieur au seuil sont renvoyées. La valeur 0,0 renvoie toutes les entités détectées.

blockedLabels[]

string

Les libellés spécifiés dans ce champ ne seront pas renvoyés.

maxPredictions

integer

Ce nombre maximal de prédictions est renvoyé par frame de sortie. La valeur 0 indique de renvoyer toutes les entités détectées.

boundingBoxSizeLimit

number

Seuls les cadres de délimitation dont la taille est supérieure à cette limite seront renvoyés. Suivi des objets uniquement. La valeur 0,0 indique de renvoyer toutes les entités détectées.

VertexCustomConfig

Message décrivant VertexCustomConfig.

Représentation JSON
{
  "maxPredictionFps": integer,
  "dedicatedResources": {
    object (DedicatedResources)
  },
  "postProcessingCloudFunction": string,
  "attachApplicationMetadata": boolean
}
Champs
maxPredictionFps

integer

Frame de prédiction maximal par seconde. Cet attribut définit la vitesse à laquelle l'opérateur envoie des requêtes de prédiction au point de terminaison Vertex AI. La valeur par défaut est 0 : aucune limite FPS n'est appliquée. L'opérateur envoie des requêtes de prédiction au FPS d'entrée.

dedicatedResources

object (DedicatedResources)

Description des ressources dédiées au DeployedModel et qui nécessitent une configuration manuelle plus poussée.

postProcessingCloudFunction

string

Si ce n'est pas le cas, le résultat de la prédiction sera envoyé à la fonction cloud spécifiée pour le post-traitement. * La fonction cloud recevra AppPlatformCloudFunctionRequest, où le champ "annotations" sera au format JSON du proto PredictResponse. * La fonction cloud doit renvoyer AppPlatformCloudFunctionResponse avec PredictResponse stocké dans le champ "annotations". * Pour supprimer la sortie de la prédiction, il suffit d'effacer le champ de la charge utile dans la réponse AppPlatformCloudFunctionResponse renvoyée.

attachApplicationMetadata

boolean

Si cette valeur est définie sur "true", la requête de prédiction reçue par le modèle personnalisé contient également des métadonnées avec le schéma suivant: 'appPlatformMetadata': { 'ingestionTime': DOUBLE; (code temporel UNIX) 'application': STRING; 'instanceId': STRING; 'node': STRING; 'processor': STRING; }

DedicatedResources

Description des ressources dédiées à un DeployedModel et qui nécessitent une configuration manuelle plus poussée.

Représentation JSON
{
  "machineSpec": {
    object (MachineSpec)
  },
  "minReplicaCount": integer,
  "maxReplicaCount": integer,
  "autoscalingMetricSpecs": [
    {
      object (AutoscalingMetricSpec)
    }
  ]
}
Champs
machineSpec

object (MachineSpec)

Obligatoire. Immuable. Spécification d'une seule machine utilisée par la prédiction.

minReplicaCount

integer

Obligatoire. Immuable. Nombre minimal d'instances répliquées de machines sur lesquelles ce DeployedModel sera toujours déployé. Cette valeur doit être supérieure ou égale à 1.

Si le trafic vers le DeployedModel augmente, il peut être déployé de manière dynamique sur davantage de réplicas. À mesure que le trafic diminue, certains de ces réplicas supplémentaires peuvent être libérés.

maxReplicaCount

integer

Immuable. Nombre maximal de réplicas sur lesquels ce DeployedModel peut être déployé lorsque le trafic le ciblant augmente. Si la valeur demandée est trop élevée, le déploiement échouera. En revanche, si le déploiement réussit, la possibilité de mettre à l'échelle le modèle à autant de réplicas est garantie (sauf en cas d'indisponibilité du service). Si le trafic vers le modèle déployé dépasse ce que ses réplicas peuvent gérer au maximum, une partie du trafic sera supprimée. Si cette valeur n'est pas fournie, la valeur par défaut est minReplicaCount.

La valeur de ce champ affecte la facturation des quotas de CPU et de GPU Vertex. Plus précisément, vous serez facturé pour maxReplicaCount * nombre de cœurs dans le type de machine sélectionné et (maxReplicaCount * nombre de GPU par réplica dans le type de machine sélectionné).

autoscalingMetricSpecs[]

object (AutoscalingMetricSpec)

Immuable. Spécifications de la métrique qui remplace la valeur cible d'une métrique d'utilisation des ressources (utilisation du processeur, cycle de service de l'accélérateur, etc.) (60 par défaut si non défini). Une seule entrée est autorisée par métrique.

Si machineSpec.accelerator_count est supérieur à 0, l'autoscaling est basé à la fois sur les métriques d'utilisation du processeur et sur celles du cycle de service de l'accélérateur. Il augmente le nombre d'instances lorsque l'une des métriques dépasse sa valeur cible et le réduit si les deux métriques sont inférieures à leur valeur cible. La valeur cible par défaut est de 60 pour les deux métriques.

Si machineSpec.accelerator_count est défini sur 0, l'autoscaling ne s'effectue qu'en fonction de la métrique d'utilisation du processeur, avec la valeur cible par défaut de 60 si elle n'est pas définie explicitement.

Par exemple, dans le cas de la prédiction en ligne, si vous souhaitez remplacer l'utilisation cible du processeur par 80 %, vous devez définir autoscalingMetricSpecs.metric_name sur aiplatform.googleapis.com/prediction/online/cpu/utilization et autoscalingMetricSpecs.target sur 80.

MachineSpec

Spécification d'une seule machine.

Représentation JSON
{
  "machineType": string,
  "acceleratorType": enum (AcceleratorType),
  "acceleratorCount": integer
}
Champs
machineType

string

Immuable. type de la machine.

Consultez la liste des types de machines compatibles avec la prédiction.

Consultez la liste des types de machines compatibles avec l'entraînement personnalisé.

Pour [DeployedModel][], ce champ est facultatif et la valeur par défaut est n1-standard-2. Ce champ est obligatoire pour [BatchPredictionJob][] ou dans le cadre de [WorkerPoolSpec][].

acceleratorType

enum (AcceleratorType)

Immuable. Type d'accélérateur(s) pouvant être associé(s) à la machine, conformément à acceleratorCount.

acceleratorCount

integer

Nombre d'accélérateurs à associer à la machine.

AcceleratorType

Représente un type d'accélérateur matériel.

Enums
ACCELERATOR_TYPE_UNSPECIFIED Type d'accélérateur non spécifié, ce qui signifie qu'aucun accélérateur n'est utilisé.
NVIDIA_TESLA_K80 GPU Nvidia Tesla K80.
NVIDIA_TESLA_P100 GPU Nvidia Tesla P100.
NVIDIA_TESLA_V100 GPU Nvidia Tesla V100.
NVIDIA_TESLA_P4 GPU Nvidia Tesla P4.
NVIDIA_TESLA_T4 GPU Nvidia Tesla T4.
NVIDIA_TESLA_A100 GPU Nvidia Tesla A100.
TPU_V2 TPU v2.
TPU_V3 TPU v3.

AutoscalingMetricSpec

Spécification de métrique qui définit l'utilisation des ressources cibles (utilisation du processeur, cycle d'utilisation de l'accélérateur, etc.) pour calculer le nombre de réplicas souhaité.

Représentation JSON
{
  "metricName": string,
  "target": integer
}
Champs
metricName

string

Obligatoire. Nom de la métrique de la ressource. Métriques acceptées:

  • Pour la prédiction en ligne:
  • aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle
  • aiplatform.googleapis.com/prediction/online/cpu/utilization
target

integer

Utilisation cible des ressources en pourcentage (1 % à 100%) pour la métrique donnée. Une fois que l'utilisation réelle s'écarte de la cible d'un certain pourcentage, les réplicas de machine changent. Si cette valeur n'est pas fournie, la valeur par défaut est 60 (soit 60%).

GeneralObjectDetectionConfig

Message de configuration pour le processeur de détection d'objets généraux.

BigQueryConfig

Message de configuration pour le processeur BigQuery.

Représentation JSON
{
  "table": string,
  "cloudFunctionMapping": {
    string: string,
    ...
  },
  "createDefaultTableIfNotExists": boolean
}
Champs
table

string

Ressource de table BigQuery dans laquelle Vision AI Platform peut ingérer des annotations.

cloudFunctionMapping

map (key: string, value: string)

Schéma de données Par défaut, l'application Vision AI tente d'écrire des annotations dans la table BigQuery cible à l'aide du schéma suivant:

  • ingestion_time: TIMESTAMP, heure d'ingestion des données d'origine.

  • application: CHAÎNE, nom de l'application qui génère l'annotation.

  • instance: CHAÎNE, ID de l'instance qui génère l'annotation.

  • node: CHAÎNE, nom du nœud du graphique de l'application qui génère l'annotation.

  • annotation: Chaîne ou JSON. Le protobuf d'annotation réel sera converti en chaîne JSON avec le champ d'octets en tant que chaîne encodée en base64. Il peut être écrit dans une colonne de type "String" (Chaîne) ou "Json".

Pour transférer les données d'annotation vers une table BigQuery existante, le client doit s'assurer de la compatibilité du schéma.

Le mappage fait correspondre le nom du nœud de l'application à son point de terminaison de fonction cloud correspondant pour transformer les annotations directement en google.cloud.bigquery.storage.v1.AppendRowsRequest (seuls avro_rows ou proto_rows doivent être définis). Si elles sont configurées, les annotations produites par le nœud d'application correspondant sont d'abord envoyées à la fonction Cloud, puis transmises à BigQuery.

Si le schéma de table par défaut ne convient pas, le client peut transformer la sortie d'annotation de l'application Vision AI en schéma de table BigQuery arbitraire avec CloudFunction.

  • La fonction Cloud reçoit AppPlatformCloudFunctionRequest, où le champ "annotations" correspond au format JSON de l'annotation Vision AI.
  • La fonction Cloud doit renvoyer AppPlatformCloudFunctionResponse avec AppendRowsRequest stocké dans le champ "annotations".
  • Pour supprimer l'annotation, il vous suffit de vider le champ "annotations" dans la réponse AppPlatformCloudFunctionResponse renvoyée.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createDefaultTableIfNotExists

boolean

Si cette valeur est définie sur "true", App Platform crée l'ensemble de données BigQuery et la table BigQuery avec le schéma par défaut si la table spécifiée n'existe pas. Cette méthode ne fonctionne pas si un schéma personnalisé de fonction cloud est spécifié, car le système ne connaît pas le schéma souhaité. La colonne JSON sera utilisée dans la table par défaut créée par App Platform.

PersonalProtectiveEquipmentDetectionConfig

Message décrivant PersonalProtectiveEquipmentDetectionConfig.

Représentation JSON
{
  "enableFaceCoverageDetection": boolean,
  "enableHeadCoverageDetection": boolean,
  "enableHandsCoverageDetection": boolean
}
Champs
enableFaceCoverageDetection

boolean

Indique si la détection de masque est activée.

enableHeadCoverageDetection

boolean

Indique si la détection de la couverture de la tête doit être activée.

enableHandsCoverageDetection

boolean

Indique si la détection de la couverture des mains doit être activée.

InputEdge

Message décrivant une arête pointant vers un nœud.

Représentation JSON
{
  "parentNode": string,
  "parentOutputChannel": string,
  "connectedInputChannel": string
}
Champs
parentNode

string

Nom du nœud parent.

parentOutputChannel

string

Artefact de sortie connecté du nœud parent. Il peut être omis si le processeur cible ne comporte qu'un seul artefact de sortie.

connectedInputChannel

string

Canal d'entrée connecté du processeur du nœud actuel. Il peut être omis si le processeur cible ne comporte qu'un seul canal d'entrée.

MonitoringConfig

Configuration liée à la surveillance d'une application.

Représentation JSON
{
  "enabled": boolean
}
Champs
enabled

boolean

Indique si la surveillance est activée pour cette application.