From 3be77ece0ab6aaf18762047f895e6e79e9037eba Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=84=B8=ED=9D=AC/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Principal=20Engineer/=EC=82=BC=EC=84=B1?= =?utf8?q?=EC=A0=84=EC=9E=90?= Date: Wed, 5 Dec 2018 12:39:38 +0900 Subject: [PATCH] [tfldump] dump operand quantization (#2495) * [tfldump] dump operand quantization This will add dump to dump operand quantization information. For this, add dump of flatbuffers::Vector type. Signed-off-by: SaeHie Park * remove unused --- contrib/tfldump/src/Dump.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/contrib/tfldump/src/Dump.cpp b/contrib/tfldump/src/Dump.cpp index dcf546f..345a392 100644 --- a/contrib/tfldump/src/Dump.cpp +++ b/contrib/tfldump/src/Dump.cpp @@ -72,6 +72,26 @@ std::ostream &operator<<(std::ostream &os, const std::vector &vect) return os; } +template void dump_fbvect(std::ostream &os, const flatbuffers::Vector *fbvect) +{ + if (fbvect == nullptr) + return; + + for (uint32_t q = 0; q < fbvect->size(); q++) + { + if (q) + os << ", "; + os << fbvect->Get(q); + } +} + +template +std::ostream &operator<<(std::ostream &os, const flatbuffers::Vector *fbvect) +{ + dump_fbvect(os, fbvect); + return os; +} + void dump_model(std::ostream &os, const tflite::Model *model) { tflread::Reader reader(model); @@ -124,6 +144,25 @@ void dump_model(std::ostream &os, const tflite::Model *model) os << "(" << dims << ") "; os << "B(" << tensor->buffer() << ") "; os << tflread::tensor_name(tensor) << std::endl; + + if (auto q_params = tensor->quantization()) + { + if (q_params->min() && q_params->max() || q_params->scale() && q_params->zero_point()) + { + os << " Quantization: "; + + if (q_params->min()) + os << "min(" << q_params->min() << ") "; + if (q_params->max()) + os << "max(" << q_params->max() << ") "; + if (q_params->scale()) + os << "scale(" << q_params->scale() << ") "; + if (q_params->zero_point()) + os << "zeropt(" << q_params->zero_point() << ") "; + + os << std::endl; + } + } } os << std::endl; -- 2.7.4