Comment on page

Train a Mobile Model

Use SmartML to train a model for mobile device deployment
This feature is only available on accounts that have specifically added mobile models to their plan. Please talk to your account representative if you require mobile model training.
SmartML supports generating Tensorflow Lite (TFLite) models that can be deployed to mobile devices. In order to run a neural network on a mobile device, the device will need to supply runtime for interpreting and executing the neural network computations.

Configuring a Mobile Model

If your account supports mobile model training, the option can be configured when adding a model or model version.
1. After entering a model name, select "Mobile (TF_Lite)" from the Model Type Options
2. Make your dataset and label selections for training, then scroll down and toggle open the SmartML Hyperparameters to view the advanced settings.
3. Under Backbone, select the desired "base" model, the object detection model that will be retrained with your custom dataset. This defaults to EfficientDet Lite 2. See TensorFlow's Quickstart for performance comparison of the EfficientDet Lite models.
Select the backbone to train your mobile model
Why retrain a model?
Retraining a TensorFlow Lite model with your own custom dataset reduces the amount of training data required and will shorten the training time.
4. Enter the desired Learning Rate. This value defaults to 0.0001 which may be too low for mobile model training.
5. Once you are satisfied with your model training settings, scroll to the bottom and click "Save and Start Training".
Your model will be queued for training. You will receive a notification that your model is ready.

Downloading Model Output

After successfully training your mobile model, you can download your model output files.
From the model version details, click "Download Model" at the top right.
Download your model from the "Model Performance" tab in Model Version Details.
A zip containing your model output will be downloaded. This includes:
  • config.yaml - the training configuration after all defaults and overrides have been applied
  • events.* files - TensorBoard logging
  • jobstate.json - the job state file
  • labelmap.json - maps the model’s detection indices to label names (this is already hardcoded into the model as well)
  • log.txt - training log
  • model.tflite - the model that can be integrated into an Android or an iOS app with the ObjectDetector API of the TensorFlow Lite Task Library
  • - the model in Tensorflow saved_model format before converting to TFLite
  • tf_config.yaml - the config settings used internally in the TensorFlow training loop