I am using the eIQ Toolkit to train an image classification model with a dataset of approximately 6,000 images. My target is to generate a TensorFlow Lite (TFLite) model that is smaller than 800 KB so that it can run on the MCXN947.
My current training configuration is:
Model: MobileNetV2
Alpha: 0.35
Pruning: Enabled
Output format: TFLite
The issue is that the training process takes nearly 24 hours to complete. I would like to know if there are any recommended settings or optimizations that can reduce the training time to around 1–2 hours while still keeping the final model size below 800 KB.
Has anyone faced a similar situation? Are there any best practices in the eIQ Toolkit for reducing training time without significantly affecting model accuracy or increasing the model size?
Any suggestions would be greatly appreciated. Thank you!
Hi @sivamankomb
A 24-hour run for ~6,000 images is not expected for a small MobileNetV2-alpha-0.35 transfer-learning job unless training is running on CPU, using a large input size, too many epochs, heavy dynamic augmentation, or doing pruning/QAT throughout the full training run.
I think you can refer to the following.
Verify CUDA + cuDNN are installed and being used.
Use the smallest input resolution that still gives acceptable accuracy; if you are at 224×224, try 128×128 first.
Start with a low epoch limit plus early stopping, not a fixed long training run.
Disable pruning for the initial training run;
Use INT8 TFLite quantization for deployment;
Avoid QAT in the first speed-optimized run;
Start with “No Augments,”
You can refer to eIQ Toolkit User Guide for specific content
BR
Harry