This lab will cover how to take an existing TensorFlow image classification model named Mobilenet, and re-train it to categorize images of flowers. This is known as transfer learning. This updated model will then be saved as a TensorFlow Lite file. By using that file with the TensorFlow Lite for MIcrocontrollers inference engine that is part of NXPs eIQ package, the model can be ran on an i.MX RT embedded device. A camera attached to the board can then be used to look at photos of flowers and the model will determine what type of flowers the camera is looking at. These same steps could then be used for classifying other types of images too.
This lab can also be used without a camera+LCD, but in that scenario the flowers images will need to be converted to a C array and loaded at compile time.
Attached to this post you will find:
- Photos to test out the new model
- Script for retraining a model
- A lab document on how to do 'transfer learning' on a TensorFlow model and then run that TFLite model on the i.MX RT family using TensorFlow Lite for Microcontrollers. The use of the camera+LCD is optional.
- If have camera+LCD use: eIQ TensorFlow Lite for Microcontrollers for i.MX RT170 - With Camera.pdf
- If do not have camera or LCD use: eIQ TensorFlow Lite for Microcontrollers for i.MX RT170 - Without Camera.pdf
- If using the RT685 use: eIQ TensorFlow Lite for Microcontrollers for i.MX RT685 - Without Camera.pdf
This lab supports the following boards:
Updated April 2022 to update for Python 2.9 and TF 2.6. Also added RT685 HiFi4 DSP lab.