Interface IImageConsumingArchitecture

Namespace
NT2I.ONNX.Abstractions.Interfaces.Hub
Assembly
NT2I.ONNX.Abstractions.dll

Contrat implémenté par toute architecture (YOLO, SAM2 encoder, RF-DETR, …) capable d'être alimentée via un ISharedImageContext.

Ce contrat est volontairement additionnel : il n'oblige pas à abandonner les API autonomes existantes (SetInputImageBgr, EncodeImageBgr, …). Il permet simplement à un modèle de s'auto-décrire (Requirements) et de récupérer son tenseur d'entrée auprès d'un Hub partagé.

public interface IImageConsumingArchitecture

Properties

Requirements

Décrit ce dont l'architecture a besoin en entrée image. Cette propriété est lue par le Hub pour matérialiser le bon tenseur (taille, normalisation, géométrie, périphérique, taille de batch).

IModelInputRequirements Requirements { get; }

Property Value

IModelInputRequirements

Methods

BindFromContext(ISharedImageContext)

Lie le tenseur d'entrée du modèle à celui exposé par le contexte fourni. L'architecture doit récupérer son ISharedTensorHandle via GetTensor(IModelInputRequirements), créer son propre OrtValue par-dessus (le handle ne possède pas l'OrtValue) et l'injecter dans le moteur d'inférence.

L'architecture ne doit pas disposer prématurément le handle : le Hub le fera lorsque le contexte sera lui-même disposé.

void BindFromContext(ISharedImageContext context)

Parameters

context ISharedImageContext

Contexte image partagé fourni par le Hub.

Exceptions

ArgumentNullException

Si context est null.

WarmUp(int, int)

Préchauffage synchrone de la session ONNX sous-jacente. Permet à un coordinateur de Hub d'initialiser la taille de batch attendue avant la première frame réelle.

void WarmUp(int batchSize = 1, int iterations = 1)

Parameters

batchSize int

Taille du batch.

iterations int

Nombre d'itérations de préchauffage (défaut 1).

WarmUpAsync(int, int, CancellationToken)

Préchauffage asynchrone (création de session ONNX offload). Voir WarmUp(int, int).

Task WarmUpAsync(int batchSize = 1, int iterations = 1, CancellationToken cancellationToken = default)

Parameters

batchSize int
iterations int
cancellationToken CancellationToken

Returns

Task