Metadata-Version: 2.4
Name: deepview-converter
Version: 3.0.3
Summary: DeepViewRT Converter
Project-URL: Changelog, https://pypi.org/project/deepview-converter/#history
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: deepview-rt>=2.6.3
Requires-Dist: networkx==3.1
Requires-Dist: flatbuffers==25.9.23
Requires-Dist: pillow==10.4.0
Requires-Dist: protobuf==3.20.3
Dynamic: license-file

# DeepView Converter

`deepview-converter` is the model compiler for the
[DeepViewRT](https://pypi.org/project/deepview-rt/) inference engine. It takes a
trained model from a common training framework and produces a `.rtm` model —
the native format DeepViewRT loads to run inference on the edge.

The converter imports the source model, runs a graph optimization pass, and
exports an RTM model with an embedded memory map so the runtime can execute it
with a fixed, pre-planned allocation.

## Supported inputs

| Format     | Extension / layout             | Notes                                           |
| ---------- | ------------------------------ | ----------------------------------------------- |
| TFLite     | `.tflite`                      | Must already be quantized to convert quantized  |
| ONNX       | `.onnx`                        |                                                 |
| TensorFlow | `.pb`, SavedModel, Keras `.h5` | Can be quantized at convert time (`--quantize`) |

The output is always a DeepViewRT `.rtm` model.

## Installation

```shell
pip install deepview-converter
```

This pulls in the matching `deepview-rt` runtime as a dependency.

## Usage

The package installs the `rtm-converter` console script (equivalently
`python -m deepview_rtm`):

```shell
# Basic conversion
rtm-converter model.onnx model.rtm

# Quantize a float TensorFlow/Keras model using calibration samples
rtm-converter model.h5 model.rtm --quantize --samples ./calibration_images

# Constrain the converted graph to a subgraph by I/O layer names
rtm-converter model.tflite model.rtm \
    --input-names input_0 --output-names logits
```

Run `rtm-converter --help` for the full set of options, including
quantization mode (`--quant-channel` / `--quant-tensor`), input/output data
types, custom user-op handlers, and optimizer controls
(`--skip-optimizations`).

Set `DEEPVIEW_CONVERTER_DEBUG=1` to print a full traceback when a conversion
fails.

## Testing

```shell
pip install pytest pytest-html
python -m pytest --html=tests/report.html -s --capture=tee-sys --self-contained-html
```

The HTML report is written to `tests/report.html`.

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for release notes.
