Dequantization for yolov3_416 Model in Hailo Model Explorer

Hi, I am trying to use the yolov3_416 model in Hailo Model Explorer.

The yolov3 output stream has three outputs, but the qp_scale and qp_zp obtained from OutputVStream::get_info().quant_info are all 0.

When using OutputVStream::get_quant_infos(), I can get the values, but the size is 255. The shape of the tensor for each output stream is [NxNx255].
Does this mean that I need to perform different dequantization for each dimension?

Thank you.

Hi @tsugihiko_haga,
Just to understand - did you download the HEF file of the yolov3_416 and ran it with the existing Python example in the Hailo Application Examples git or in the case a little different?


I see the same issue and asked my colleagues to have a look.

When a model has multiple outputs, they often require different quantizations. This is the case for YOLO models, which have multiple outputs after conversion with the Hailo Dataflow Compiler, allowing for optimal quantization and thus, the highest accuracy for each output.
Typically, these outputs are combined. In the original model in floating-point format, this concatenation poses no problem. However, when quantizing the model, a single quantization suitable for all outputs must be found, which can result in the loss of significant bits. By keeping the outputs separate, the most effective quantization for each can be maintained. Once dequantized on the host, the results can be merged without any loss of accuracy.