REST Resource: projects.locations.operators

Ressource: Operator

Nachricht, die das Operator-Objekt beschreibt.

JSON-Darstellung
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "operatorDefinition": {
    object (OperatorDefinition)
  }
}
Felder
name

string

Der Name der Ressource,

createTime

string (Timestamp format)

Nur Ausgabe. Der Erstellungszeitstempel.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Nur Ausgabe. Der Aktualisierungszeitstempel.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Labels als Schlüssel/Wert-Paare

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

operatorDefinition

object (OperatorDefinition)

Die Definition des Operators.

OperatorDefinition

Definiert die Schnittstelle eines Operators.

Argumente für einen Operator sind Eingabe-/Ausgabestreams, die verarbeitet/zurückgegeben werden, während Attribute feste Konfigurationsparameter sind.

JSON-Darstellung
{
  "operator": string,
  "inputArgs": [
    {
      object (ArgumentDefinition)
    }
  ],
  "outputArgs": [
    {
      object (ArgumentDefinition)
    }
  ],
  "attributes": [
    {
      object (AttributeDefinition)
    }
  ],
  "resources": {
    object (ResourceSpecification)
  }
}
Felder
operator

string

Der Name dieses Betreibers.

Vorläufig: [A-Z][a-zA-Z0-9]*, z.B. BboxCounter, PetDetector, PetDetector1.

inputArgs[]

object (ArgumentDefinition)

Hier werden Eingabeargumente deklariert.

outputArgs[]

object (ArgumentDefinition)

Hier werden Ausgabeargumente deklariert.

attributes[]

object (AttributeDefinition)

Hier werden die Attribute deklariert.

resources

object (ResourceSpecification)

Die Ressourcen für die Ausführung des Operators.

ArgumentDefinition

Definiert ein Argument für einen Operator.

Wird sowohl für Eingaben als auch für Ausgaben verwendet.

JSON-Darstellung
{
  "argument": string,
  "type": string
}
Felder
argument

string

Der Name des Arguments.

Vorläufig: [_a-z0-9]*[a-z0-9]?, z.B. „video“, „audio“, „high_fps_frame“.

type

string

Der Datentyp des Arguments.

Dieser Wert muss mit der Textdarstellung eines Stream-/Pakettyps übereinstimmen.

AttributeDefinition

Definiert ein Attribut eines Operators.

JSON-Darstellung
{
  "attribute": string,
  "type": string,
  "defaultValue": {
    object (AttributeValue)
  }
}
Felder
attribute

string

Der Name des Attributs.

Vorläufig: [_a-z0-9]*[a-z0-9]?, z.B. max_frames_per_video, resize_height.

type

string

Der Typ dieses Attributs.

Mögliche Werte finden Sie in „attribute_value.proto“.

defaultValue

object (AttributeValue)

Der Standardwert für das Attribut.

ResourceSpecification

In ResourceSpec werden eine Reihe von Ressourcen erfasst, mit denen Anfragen und Anforderungen angegeben werden können.

Hinweis: Diese Funktion ist noch sehr experimentell und kann von der Laufzeit abhängen. Sie können das Feld „Extras“ verwenden, um zuerst zu experimentieren, bevor Sie versuchen, es zu abstrahieren.

JSON-Darstellung
{
  "cpu": string,
  "memory": string,
  "gpus": integer,
  "latencyBudgetMs": integer
}
Felder
cpu

string

CPU-Spezifikation.

Beispiele: „100m“, „0,5“, „1“, „2“ usw. entsprechen 0, 1, einer halben, einer oder zwei CPUs.

Lassen Sie das Feld leer, damit das System die Entscheidung trifft.

Beachten Sie, dass dadurch nicht der CPU-Hersteller, die zugrunde liegende Taktgeschwindigkeit und bestimmte SIMD-Funktionen ermittelt werden. Es ist nur die Zeit, die für die Zeitscheibe benötigt wird.

memory

string

Arbeitsspeicherspezifikation (in Byte).

Beispiele: „128974848“, „129e6“, „129M“, „123Mi“ usw. entsprechen 1.289.748.48 Byte, 1.290.000.00 Byte, 129 Mebibyte, 123 Megabyte.

Lassen Sie das Feld leer, damit das System die Entscheidung trifft.

gpus

integer

Anzahl der GPUs.

latencyBudgetMs

integer

Die maximale Latenz, die dieser Operator für die Verarbeitung eines Elements verwenden kann.

Ist der Wert nicht positiv, wird ein Systemstandard verwendet. Betreiberentwickler sollten dafür sorgen, dass die Rechenressourcen des Systems an dieses Latenzbudget angepasst sind. Wenn Sie beispielsweise möchten, dass ein ML-Modell innerhalb von 500 ms Ergebnisse liefert, sollten Sie dafür sorgen, dass Sie genügend CPU-/GPU-/Speicherressourcen anfordern.

Methoden

create

Erstellt einen neuen Operator in einem bestimmten Projekt und an einem bestimmten Standort.

delete

Löscht einen einzelnen Operator.

get

Ruft Details zu einem einzelnen Betreiber ab.

list

Listet Betreiber in einem angegebenen Projekt und an einem angegebenen Standort auf.

patch

Aktualisiert die Parameter eines einzelnen Operators.