Skip to main content

DeepViewRT Converter

Project description

DeepView Converter

deepview-converter is the model compiler for the DeepViewRT 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

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):

# 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

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

[3.0.4] - 2026-06-05

Changed

  • The changelog is now appended to the package long description, so it renders directly on the PyPI project page instead of linking out to the release history, and the Changelog project link anchors to it.

[3.0.3] - 2026-06-05

Fixed

  • GRU / recurrent models converted with --copy_layers now match the source model. Stateful models exported through the TFLite importer produced incorrect outputs: the update-gate constant in the GRU's 1 - z was emitted as a scalar, but the DeepViewRT runtime cannot broadcast a scalar against an [N, C] operand for non-commutative ops and effectively computed z - 1, negating the recurrent state (the error then compounded across timesteps via the copied-back state). The converter now materializes such constants to the operand shape, restoring parity with the 2.4.x converter line. Runtime-safe broadcasts (equal-shape, per-row, per-channel) are left untouched, so per-channel convolution biases are not expanded, and the behaviour can be disabled with --skip-optimizations broadcast_const.
  • ONNX models whose NCHW convolution chain starts at a non-external node now convert correctly. When a conv chain's input was a non-external node — for example a Concat produced by inline buffer rolling — no entry transpose was inserted, so the convolution read its input in the wrong memory layout and produced corrupted output. NCHW→NHWC entry transposes are now inserted for non-external 4D inputs, mirroring the existing exit-transpose handling.

[3.0.2] - 2025-11-18

Added

  • Broader ONNX operator coverage and handling for rank-3 models.

Fixed

  • GEMM biases could be overwritten during conversion.

[3.0.1] - 2025-10-03

Fixed

  • Declared runtime dependencies that were missing from the initial 3.0.0 packaging.

[3.0.0] - 2025-10-01

Removed

  • The plugin system for targeting non-RTM model formats. The converter now focuses exclusively on compiling models to the DeepViewRT .rtm format.

Changed

  • Merged the separate deepview-converter-rtm plugin directly into the deepview-converter repository, so the converter ships as a single self-contained package rather than a host plus plugin.

Added

  • Distribution on PyPI (pip install deepview-converter) with the rtm-converter console script.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepview_converter-3.0.4-py3-none-any.whl (203.9 kB view details)

Uploaded Python 3

File details

Details for the file deepview_converter-3.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for deepview_converter-3.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3549150772cf83f3b7e1a85e7435ccdaad5b28a54e7c822ba6f0dbc9f50a030d
MD5 fb6b49ddbfbb65c9107439ab17db34d4
BLAKE2b-256 a65604f57c749b43d8557aa3a8aa75204e630128be30f1f372e4c8efbc095425

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page