OnnxModelMetadata

data class OnnxModelMetadata(val irVersion: Long, val producerName: String?, val producerVersion: String?, val modelVersion: Long, val domain: String?, val docString: String?, val classNames: Map<Int, String>?, val numClasses: Int?, val description: String?, val author: String?, val license: String?, val task: String?, val rawMetadata: Map<String, String>)(source)

Parsed model metadata from an ONNX file.

This class extracts common metadata fields from ONNX ModelProto's metadataProps in a structured, type-safe manner. Supports various model types including object detectors (YOLO), classifiers, etc.

Usage:

val modelBytes = File("model.onnx").readBytes()
val modelProto = ModelProto.decodeFromByteArray(modelBytes)
val metadata = OnnxModelMetadata.from(modelProto)

println("Classes: ${metadata.classNames?.size ?: "none"}")
metadata.classNames?.forEach { (id, name) -> println("$id: $name") }

Constructors

Link copied to clipboard
constructor(irVersion: Long, producerName: String?, producerVersion: String?, modelVersion: Long, domain: String?, docString: String?, classNames: Map<Int, String>?, numClasses: Int?, description: String?, author: String?, license: String?, task: String?, rawMetadata: Map<String, String>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Model author from metadata

Link copied to clipboard

Class names for classification/detection models (classId -> className)

Link copied to clipboard

Model description from metadata

Link copied to clipboard

Doc string / description

Link copied to clipboard

Model domain

Link copied to clipboard

IR version of the ONNX model

Link copied to clipboard

License information from metadata

Link copied to clipboard

Model version

Link copied to clipboard

Number of classes (may differ from classNames.size if some IDs are missing)

Link copied to clipboard

Producer name (e.g., "pytorch", "ultralytics")

Link copied to clipboard

Producer version

Link copied to clipboard

All raw metadata key-value pairs

Link copied to clipboard
val task: String?

Task type (e.g., "detect", "classify", "segment")