Model Class
Loaded form of a compiled model archive; the simplified entry point to run inference on Modalix. More...
Declaration
Included Headers
Enumerations Index
| enum class | Stage { ... } |
|
Selector for fragment(Stage) and backend_fragment(Stage). More... | |
Friends Index
| struct | internal::ModelAccess |
Public Constructors Index
| Model (const std::string &model_path) | |
|
Load and validate a compiled model archive at the given path with default options. More... | |
| Model (const std::string &model_path, const Options &opt) | |
|
Load and validate a compiled model archive with explicit options. More... | |
| Model (Model &&) noexcept | |
|
Move-constructible. More... | |
Public Destructor Index
| ~Model () | |
|
Destructor; releases the impl and (optionally) cleans up extracted model-archive data. More... | |
Public Operators Index
| Model & | operator= (Model &&) noexcept |
|
Move-assignable. (Models are not copyable.) More... | |
Public Member Functions Index
| simaai::neat::Graph | preprocess () const |
|
Returns the preprocess portion of the model's pipeline as a Graph. More... | |
| simaai::neat::Graph | inference () const |
|
Returns the MLA inference portion of the model's pipeline as a Graph. More... | |
| simaai::neat::Graph | postprocess () const |
|
Returns the postprocess portion of the model's pipeline as a Graph. More... | |
| simaai::neat::Graph | graph () const |
|
Returns the model's full route as a public Graph fragment. More... | |
| simaai::neat::Graph | graph (RouteOptions opt) const |
|
Returns the model's full route as a public Graph, optionally with explicit Input/Output boundary Nodes when requested by RouteOptions. More... | |
| std::vector< TensorSpec > | input_specs () const |
|
Returns the expected input tensor specs (one per ingress port for multi-input models). More... | |
| std::vector< TensorSpec > | output_specs () const |
|
Returns the produced output tensor specs (multiple for multi-head models). More... | |
| int | compiled_batch_size () const |
|
Returns the batch size the model was compiled with. More... | |
| ResolvedPreprocessPlan | resolved_preprocess_plan () const |
|
Returns the full resolved preprocess plan (intent-driven; richer than preprocess_requirements()). More... | |
| PreprocessRequirements | preprocess_requirements () const |
|
Returns concrete preprocess parameters (resize, color, quant, tess) the model needs. More... | |
| ModelInfo | info () const |
|
Returns the full diagnostic snapshot of the loaded model and its route. More... | |
| std::unordered_map< std::string, std::string > | metadata () const |
|
Returns free-form key/value metadata declared by the model author in the manifest. More... | |
| Graph | fragment (Stage stage) const |
|
Returns one specific stage of the pipeline as a Graph. More... | |
| std::string | backend_fragment (Stage stage) const |
|
Returns the GStreamer launch fragment for one specific stage (debugging / Graph::custom() use). More... | |
| simaai::neat::InputOptions | input_appsrc_options (bool tensor_mode) const |
|
Returns the appsrc input options the planner derived for a given input mode (tensor or media). More... | |
| std::vector< simaai::neat::InputOptions > | input_appsrc_options_list (bool tensor_mode) const |
|
Per-input variant of input_appsrc_options for multi-input models. More... | |
| std::string | find_config_path_by_plugin (const std::string &plugin_id) const |
|
Find the path to a per-stage config file in the extracted model archive by plugin ID. More... | |
| std::string | find_config_path_by_processor (const std::string &processor) const |
|
Find the path to a per-stage config file in the extracted model archive by processor name (CVU/MLA/APU). More... | |
| std::string | infer_output_name () const |
|
Returns the canonical output element name for the inference stage (used in pipeline string emission). More... | |
| Runner | build () |
|
Build a long-lived Runner from this Model with default options. More... | |
| Runner | build (const RouteOptions &opt) |
| Runner | build (const simaai::neat::RunOptions &run_opt) |
| Runner | build (const RouteOptions &opt, const simaai::neat::RunOptions &run_opt) |
|
Build a Runner with explicit route and runtime options. More... | |
| Runner | build (const simaai::neat::TensorList &inputs, const RouteOptions &opt=default_route_options(), const simaai::neat::RunOptions &run_opt=default_run_options()) |
|
Build a Runner and seed the build with sample input(s). More... | |
| Runner | build (const simaai::neat::Sample &inputs, const RouteOptions &opt=default_route_options(), const simaai::neat::RunOptions &run_opt=default_run_options()) |
|
Build variant that seeds with full Sample inputs (carrying per-buffer metadata). More... | |
| simaai::neat::TensorList | run (const simaai::neat::TensorList &inputs, int timeout_ms=-1) |
|
One-shot-style inference for the simplest applications. More... | |
| simaai::neat::Sample | run (const simaai::neat::Sample &inputs, int timeout_ms=-1) |
| BenchmarkReport | benchmark (const BenchmarkOptions &options) |
|
Run a small synthetic benchmark for simple model execution. More... | |
| BenchmarkReport | benchmark (int num_samples=100, bool include_plugin_latency=false) |
| BenchmarkReport | benchmark (bool include_plugin_latency) |
Private Member Functions Index
| Runner | build_with_model_options (const simaai::neat::TensorList &inputs, const Model::RouteOptions &opt, const simaai::neat::RunOptions &run_opt, const Model::Options &model_opt) |
Private Member Attributes Index
| std::unique_ptr< Impl > | impl_ |
Private Static Functions Index
| static const RouteOptions & | default_route_options () |
| static const simaai::neat::RunOptions & | default_run_options () |
Description
Loaded form of a compiled model archive; the simplified entry point to run inference on Modalix.
A Model owns an extracted model archive, the parsed inference contract, and the route plan derived from it. Once constructed it exposes:
- **Graph fragments** — preprocess(), inference(), postprocess(), graph() — for composing into a user-built Graph.
- **run(input)** convenience methods that lazily build one internal runner on first use, then reuse it for subsequent calls. The shortest path from "I have a tensor" to "here are detections."
- **build(...)** that returns a long-lived Runner for streaming use cases (push many inputs over time, pull results asynchronously).
- Introspection (input_specs(), output_specs(), info(), metadata()) so application code can ask the Model what shape/dtype/topology it expects and produces.
For applications that need more control (custom pre/post nodes, multiple cameras, RTSP server output), graduate from Model::run() to composing a Graph that includes model.graph() plus your own input/output nodes.
- See Also
- See Also
"Model is a Graph in disguise" (§0.12 of the design deep dive)
Definition at line 119 of file Model.h.
Enumerations
Stage
| strong |
Selector for fragment(Stage) and backend_fragment(Stage).
- Enumeration values
Lets advanced users grab one specific portion of the model's pipeline.
Definition at line 392 of file Model.h.
Friends
internal::ModelAccess
|
Definition at line 652 of file Model.h.
Public Constructors
Model()
| explicit |
Load and validate a compiled model archive at the given path with default options.
Equivalent to Model(model_path, Options{}). The constructor extracts the .tar.gz, validates the manifest (rejecting malformed or malicious archives), and runs the route planner. Throws NeatError on any failure (with a structured GraphReport).
- Parameters
-
model_path Filesystem path to a .tar.gz model archive.
- Exceptions
-
<a href="/reference/cppapi/classes/simaai-neat-neaterror">NeatError</a> on archive validation failure, manifest parse error, or unsupported route.
Definition at line 409 of file Model.h.
Model()
| explicit |
Load and validate a compiled model archive with explicit options.
- Parameters
-
model_path Filesystem path to a .tar.gz model archive.
opt Options controlling preprocess, postprocess decode, naming, lifecycle, and verbosity.
- Exceptions
-
<a href="/reference/cppapi/classes/simaai-neat-neaterror">NeatError</a> on archive validation failure, manifest parse error, or unsupported route.
Definition at line 418 of file Model.h.
Model()
Public Destructor
~Model()
|
Destructor; releases the impl and (optionally) cleans up extracted model-archive data.
Definition at line 422 of file Model.h.
Public Member Functions
backend_fragment()
|
Returns the GStreamer launch fragment for one specific stage (debugging / Graph::custom() use).
Definition at line 466 of file Model.h.