Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

NCS2 FP16 Precision on Raspberry Pi


Hi all,


I’m using the NCS2 on Raspberry. The network is Caffe based and Model Optimizer was executed with --data_type=FP16. When looking into the generated XML all the layer elements have the precision=FP16 attribute.


When running inferences on the Raspberry (C++ / OpenVINO) all works good when using F32 input buffers; the output of the inference are as expected.


However, when attempting to use FP16 the data returned is _always_ a buffer full of 0.0.


I’m building with g++ flag -mfp16-format=ieee. When attempting FP16 each element in the input given to the input->data() element is of type __fp16.


I create the input blobs with:


auto input = make_shared_blob<PrecisionTrait<Precision::FP32>::value_type>(inputInfoItem.second->getTensorDesc());




auto input = make_shared_blob<PrecisionTrait<Precision::FP16>::value_type>(inputInfoItem.second->getTensorDesc());


Prior to creating the blobs I’ve called:








Any ideas of why I’m getting all zeroes as output?


Does openVINO require the output format to also be FP16 in this case or shout the input/output precision be independent?
0 Kudos
0 Replies