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
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
contextISharedImageContextContexte image partagé fourni par le Hub.
Exceptions
- ArgumentNullException
Si
contextestnull.
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
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
batchSizeintiterationsintcancellationTokenCancellationToken