How can I convert yolov4tiny weights into .tflite? - tensorflow

I have trained a custom dataset in yolov4 tiny. Now I want to convert it into .tflite to use it into android app. But I can't find any solutions that how to do this conversion.

Related

How to Convert Yolov5 model to tensorflow.js

Is it possible to convert the YOLOv5 PyTorch model to the Tensorflow.js model?
I am developing an object detection web app. so I have trained the data using Yolov5, but now I am looking for the correct method to convert that model to Tf.js.
I think this is what you are looking for https://github.com/zldrobit/tfjs-yolov5-example
Inside the YoloV5 repo, run the export.py command.
python export.py --weights yolov5s.pt --include tfjs
Then cd into the above linked repo and copy the weights folder to the public:
cp ./yolov5s_web_model public/web_model
Don't forget, you'll have to change the names array in src/index.js to match your custom model.
But unfortunately, it seems painfully slow at about 1-2 seconds. I don't think I was able to get WebGL working.
With few interim steps, but most of the times it works:
Export PyTorch to ONNX
Convert ONNX to TF Saved Model
Convert TF Saved Model to TFJS Graph Model
When converting from ONNX to TF, you might need to adjust target version if you run into unsupported ops.
Also, make sure to set input resolutions to a fixed values, any dynamic inputs get messed up in this multi-step conversion.

Mask_RCNN: How to save trained model and convert it to tflite

I followed the tutorial at
https://machinelearningmastery.com/how-to-train-an-object-detection-model-with-keras/
After successful training I got 5 .h5 files:
mask_rcnn_kangaroo_cfg_0001.h5
mask_rcnn_kangaroo_cfg_0002.h5
mask_rcnn_kangaroo_cfg_0003.h5
mask_rcnn_kangaroo_cfg_0004.h5
mask_rcnn_kangaroo_cfg_0005.h5
I am a newbie to this, so my understanding may be wrong:
How can I convert these .h5 files to .pb files or better to .tflite files, so I can use them in an Android Object Detection app?
You don't need to convert these .h5 to .pb, you can directly convert keras .h5 files to tflite. Here is the official documentation on how to.
Make sure to have the model with layers supported by TFLite, as mentioned here.
Once you have the .tflite model you can run an interpreter on Android.

Can you convert a .tflite model file to .coreml - or back to a Tensorflow .pb file or keras h5 file?

General question: is there tooling to convert from tflite format to any other format?
I'm trying to convert a keras model to a CoreML model, but I can't because the model uses a layer type unsupported by CoreML (Gaussian Noise). Converting the keras .h5 model to a .tflite is simple, removes the offending layer (which is only used in training anyway), and performs some other optimisations. But it doesn't seem possible to convert out of the resultant tflite to any other format. Coremltools doesn't support tflite. I thought I could probably load the model from tflite into a tensorflow session, save a .pb from there, and convert that to coreml using coremltools, but I can't see a way to load the tflite model into a tensorflow session. I saw the documentation linked to in this question, but that seems to use the tflite interpreter to read the tflite model, rather than a "true" Tensorflow session.

How to convert Dlib weights into tflite format?

I want to convert Dlib weights for Face Detection, Face landmarks and Face recognition that is in .dat format into .tflite format. Tensorflow lite requires input format in tensorflow_saved model/ Frozen graph (.pb) or keras model (.h5) format. Conversion of Dlib .dat to any of these will also work. Can anyone help me out that how to do it and are there converted files available?
Tensorflow lite requires input format in tensorflow_saved model/ Frozen graph (.pb) or keras model (.h5) format. Conversion of Dlib .dat to any of these will also work.
I think you're on the right track. You should try to convert Dlib to TensorFlow frozen graph, then convert the TensorFlow frozen graph to TensorFlow Lite format following the guide.
Have you tried this? Did you run into any problem when running tflite_convert? If you have further questions, please update the original question with detailed error messages.

Is it currently possible to convert ssdlite mobilenet v2 as a tflite model?

I tried to transform my already trained model using toco, following the guidelines described in the g3doc. I tested the model on pc and it runs well but after conversion the model seems to be outputting random values on android. I converted is as a float model. Is it currently even possible to transform said model to a tflite format or is the only model currently supported by toco for object detection only ssd mobilenet v1 ?
I also did test the "serve tflite model in 30 min" tutorial and it worked there (also using their dockerfiles)