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") }Content copied to clipboard
Properties
Link copied to clipboard
Class names for classification/detection models (classId -> className)
Link copied to clipboard
Model description 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