# concrete.ml.onnx.onnx\_utils.md

[![](https://img.shields.io/badge/-source-cccccc?style=flat-square)](https://github.com/zama-ai/concrete-ml/blob/release/1.1.x/src/concrete/ml/onnx/onnx_utils.py#L0)

## module `concrete.ml.onnx.onnx_utils`

Utils to interpret an ONNX model with numpy.

### **Global Variables**

* **ATTR\_TYPES**
* **ATTR\_GETTERS**
* **ONNX\_OPS\_TO\_NUMPY\_IMPL**
* **ONNX\_COMPARISON\_OPS\_TO\_NUMPY\_IMPL\_FLOAT**
* **ONNX\_COMPARISON\_OPS\_TO\_NUMPY\_IMPL\_BOOL**
* **ONNX\_OPS\_TO\_NUMPY\_IMPL\_BOOL**
* **IMPLEMENTED\_ONNX\_OPS**

***

[![](https://img.shields.io/badge/-source-cccccc?style=flat-square)](https://github.com/zama-ai/concrete-ml/blob/release/1.1.x/src/concrete/ml/onnx/onnx_utils.py#L420)

### function `get_attribute`

```python
get_attribute(attribute: AttributeProto) → Any
```

Get the attribute from an ONNX AttributeProto.

**Args:**

* `attribute` (onnx.AttributeProto): The attribute to retrieve the value from.

**Returns:**

* `Any`: The stored attribute value.

***

[![](https://img.shields.io/badge/-source-cccccc?style=flat-square)](https://github.com/zama-ai/concrete-ml/blob/release/1.1.x/src/concrete/ml/onnx/onnx_utils.py#L432)

### function `get_op_type`

```python
get_op_type(node)
```

Construct the qualified type name of the ONNX operator.

**Args:**

* `node` (Any): ONNX graph node

**Returns:**

* `result` (str): qualified name

***

[![](https://img.shields.io/badge/-source-cccccc?style=flat-square)](https://github.com/zama-ai/concrete-ml/blob/release/1.1.x/src/concrete/ml/onnx/onnx_utils.py#L444)

### function `execute_onnx_with_numpy`

```python
execute_onnx_with_numpy(graph: GraphProto, *inputs: ndarray) → Tuple[ndarray, ]
```

Execute the provided ONNX graph on the given inputs.

**Args:**

* `graph` (onnx.GraphProto): The ONNX graph to execute.
* `*inputs`: The inputs of the graph.

**Returns:**

* `Tuple[numpy.ndarray]`: The result of the graph's execution.

***

[![](https://img.shields.io/badge/-source-cccccc?style=flat-square)](https://github.com/zama-ai/concrete-ml/blob/release/1.1.x/src/concrete/ml/onnx/onnx_utils.py#L475)

### function `remove_initializer_from_input`

```python
remove_initializer_from_input(model: ModelProto)
```

Remove initializers from model inputs.

In some cases, ONNX initializers may appear, erroneously, as graph inputs. This function searches all model inputs and removes those that are initializers.

**Args:**

* `model` (onnx.ModelProto): the model to clean

**Returns:**

* `onnx.ModelProto`: the cleaned model


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zama.org/concrete-ml/1.1/developer-guide/api/concrete.ml.onnx.onnx_utils.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
