From 414a0379d84145bb454cf063488189c3407ecb73 Mon Sep 17 00:00:00 2001 From: uwezkhan Date: Tue, 16 Jun 2026 22:19:58 +0530 Subject: [PATCH] check tflite kernel scale count against output channels --- modules/dnn/src/tflite/tflite_importer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/dnn/src/tflite/tflite_importer.cpp b/modules/dnn/src/tflite/tflite_importer.cpp index 4b443ed797..387dca7ead 100644 --- a/modules/dnn/src/tflite/tflite_importer.cpp +++ b/modules/dnn/src/tflite/tflite_importer.cpp @@ -442,6 +442,7 @@ void TFLiteImporter::parseConvolution(const Operator& op, const std::string& opc if (filterScales->size() == 1) { layerParams.blobs[2].setTo(inpScale * filterScales->Get(0) / outScale); } else { + CV_CheckEQ((int)filterScales->size(), oc, "TFLite: number of filter quantization scales must match the number of output channels"); for (size_t i = 0; i < filterScales->size(); ++i) { layerParams.blobs[2].at(i) = inpScale * filterScales->Get(i) / outScale; } @@ -504,6 +505,7 @@ void TFLiteImporter::parseDWConvolution(const Operator& op, const std::string& o if (filterScales->size() == 1) { layerParams.blobs[2].setTo(inpScale * filterScales->Get(0) / outScale); } else { + CV_CheckEQ((int)filterScales->size(), oc, "TFLite: number of filter quantization scales must match the number of output channels"); for (size_t i = 0; i < filterScales->size(); ++i) { layerParams.blobs[2].at(i) = inpScale * filterScales->Get(i) / outScale; }