YOLOv10n TFLite quantized variants

Three 640ร—640 TensorFlow Lite exports for edge object-detection experiments. The files use different boundary dtypes even though all contain quantized tensors.

Only yolov10n_full_integer_quant.tflite uses INT8 input and output tensors. The other two artifacts expose FP32 input and output boundaries. Applications must select preprocessing and post-processing according to the tensor metadata of the chosen artifact.

Authorship and Scope

Andrew Chiao prepared the TensorFlow Lite conversion and quantization variants, deployment packaging, tensor-level verification, and Qualcomm deployment guidance. The original checkpoint provenance has not yet been recovered, so the base-model metadata is intentionally omitted rather than inferred.

Files verified on 2026-08-18

File Input Output Quantized tensors Bytes SHA-256
yolov10n_full_integer_quant.tflite INT8 [1,640,640,3], scale 1/255, zero point -128 INT8 [1,300,6], scale 0.310396, zero point -128 504 3,092,615 8dcf014175eb327af880661f295d3c97faf31f4cc52d246e26e4854273388875
yolov10n_integer_quant.tflite FP32 [1,640,640,3] FP32 [1,300,6] 503 3,092,559 eaa6447d1516db8cc45b37a7deb904790342886654ce7a7bb32f84ff80477597
yolov10n_int8.tflite FP32 [1,640,640,3] FP32 [1,300,6] 77 3,125,847 6319e564bac432d8fc95d82fee06c4cb37879ce4830eb5bb1c292a65e644f105

Each output contains up to 300 rows with 6 values. Consumers must verify the exact coordinate, score, and class-id convention used by the originating export pipeline.

Python Usage: Full-Integer Model

import numpy as np
from PIL import Image
import tensorflow as tf

interpreter = tf.lite.Interpreter("yolov10n_full_integer_quant.tflite")
interpreter.allocate_tensors()
inp = interpreter.get_input_details()[0]
out = interpreter.get_output_details()[0]

rgb = Image.open("image.jpg").convert("RGB").resize((640, 640))
real = np.asarray(rgb, dtype=np.float32)[None] / 255.0
in_scale, in_zero = inp["quantization"]
input_int8 = np.clip(np.rint(real / in_scale + in_zero), -128, 127).astype(np.int8)

interpreter.set_tensor(inp["index"], input_int8)
interpreter.invoke()
raw = interpreter.get_tensor(out["index"])
out_scale, out_zero = out["quantization"]
detections = (raw.astype(np.float32) - out_zero) * out_scale
print(detections.shape)  # (1, 300, 6)

The expected row layout is typically [x1, y1, x2, y2, score, class_id], but the missing original export manifest means this convention must be confirmed with a known test image before production use.

Android + Qualcomm QNN HTP

QnnDelegate.Options qnn = new QnnDelegate.Options();
qnn.setSkelLibraryDir(context.getApplicationInfo().nativeLibraryDir);
qnn.setCacheDir(context.getCacheDir().getAbsolutePath());
qnn.setModelToken("yolov10n_full_integer_quant");
qnn.setBackendType(QnnDelegate.Options.BackendType.HTP_BACKEND);
qnn.setHtpPerformanceMode(
    QnnDelegate.Options.HtpPerformanceMode.HTP_PERFORMANCE_BURST);
qnn.setHtpPrecision(QnnDelegate.Options.HtpPrecision.HTP_PRECISION_QUANTIZED);

QnnDelegate delegate = new QnnDelegate(qnn);
Interpreter.Options options = new Interpreter.Options();
options.setUseNNAPI(false);
options.setUseXNNPACK(false);
options.addDelegate(delegate);
Interpreter interpreter = new Interpreter(modelBuffer, options);

Use matching QNN delegate/runtime versions from an authorized Qualcomm SDK, check HTP_RUNTIME_QUANTIZED, and verify there is no unintended CPU fallback.

Provenance note

The previous model card tagged Ultralytics/YOLO11 as the base model while the repository and files are named YOLOv10n. The TFLite binaries do not contain enough embedded text metadata to resolve that discrepancy. The base-model tag is therefore intentionally omitted until the original checkpoint and export command are recovered.

Verification status

Tensor shapes, dtypes, quantization parameters, sizes, and hashes were checked with TensorFlow Lite. No accuracy or device-latency benchmark is included, so the card does not claim validation on a specific Qualcomm target.

License

The official THU-MIG YOLOv10 repository uses AGPL-3.0. Confirm the original checkpoint provenance before relying on this license statement for these specific binaries.

Downloads last month
99
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support