Project info are below shown:
Software: BSP 5.4.3_1.0.0 (tensorflow + keras)
Hardware: imx8m nano, pico zense Dcam710(USB)
Image process workflow:
TOF frame (640*480 UMat) à resize (64*64 UMat) à gray (64*64 UMat) à MSE(UMat) à tflite engine process(UMat) à result (float)
We use Convolution 3D, Max-pooling 3D, UpSampling 3D and Deconvolution 3D layers for DSTCAE model. The model file is h5 format.
Convert the h5 model to C3D_AE.tflite by tflite_convert function. The C3D_AE.tflite is running well in PC platform with tensorflow lite c++.
But when use the same tensorflow lite c++ code with C3D_AE.tflite in the imx8mn. The imx8mn said “Tensorflow ops are not supported”.
Detail logs are below shown:
sh-5.0# ./bin tfliteModel/C3D_AE.tflite
Loading TFLite model
[2020-04-10 03:23:33.682525] [0x0000ffff962149b0] [info] Allocate tensor buffer
Regular TensorFlow ops are not supported by this interpreter. Make sure you invoke the Flex delegate before inference.
Node number 0 (Flex) failed to prepare.
terminate called after throwing an instance of 'std::runtime_error'
what(): Failed to allocate tensor buffer
Aborted
已解决! 转到解答。