---
title: "ClikaRT::io::OnnxModelOptions"
sidebar_label: "OnnxModelOptions"
description: "Options governing an OnnxModel's editing and serialization behavior; pass to open / create, they hold for the model's lifetime."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--struct">struct</span>

**Header:** `ClikaRT/io/onnx_model.h`

Options governing an [`OnnxModel`](./OnnxModel.md)'s editing and serialization behavior; pass to `open` / `create`, they hold for the model's lifetime.

## Data members

### save\_as\_external\_data {#save_as_external_data}

<div class="api-signature">

`std::optional<bool>` **`save_as_external_data`**

</div>

Where initializer payloads go on `save`: unset = automatic (an external `<stem>_data` sidecar once the payloads exceed the 2 GiB protobuf ceiling); `true` = always external; `false` = never.

<div class="api-declared">

Declared in `ClikaRT/io/onnx_model.h`, line 65

</div>

### deduplicate\_initializers {#deduplicate_initializers}

<div class="api-signature">

`bool` **`deduplicate_initializers`** `= true`

</div>

Deduplicate byte-identical initializers (content-addressed reuse).

<div class="api-declared">

Declared in `ClikaRT/io/onnx_model.h`, line 67

</div>

### deduplicate\_nodes {#deduplicate_nodes}

<div class="api-signature">

`bool` **`deduplicate_nodes`** `= true`

</div>

Deduplicate identical nodes: an added node whose (op type, domain, inputs, attributes) matches an earlier one reuses that node's outputs.

<div class="api-declared">

Declared in `ClikaRT/io/onnx_model.h`, line 70

</div>

### producer\_name {#producer_name}

<div class="api-signature">

`std::string` **`producer_name`** `= "ClikaRT"`

</div>

The [`producer_name`](./OnnxModelOptions.md#producer_name) recorded in a saved model.

<div class="api-declared">

Declared in `ClikaRT/io/onnx_model.h`, line 72

</div>

### ir\_version {#ir_version}

<div class="api-signature">

`std::int64_t` **`ir_version`** `= 0`

</div>

The model IR version a `create`d model carries (a `save`d model is version-valid by construction): \<= 0 = solve it from the opset via the official ONNX version table; a given (opset, IR) pair is validated against that table and an unsupported combination is an error. An `open`ed model keeps its file's own IR version.

<div class="api-declared">

Declared in `ClikaRT/io/onnx_model.h`, line 78

</div>
