Upload a Model

The ML model service works with models trained inside and outside the Viam app. To use a model that you have trained yourself outside the Viam app, upload it as a new model privately or share it in the Viam registry. If you need to update a previously uploaded model, you can also upload a new version. To work with the tflite_cpu ML model service, an ML model is comprised of a .tflite model file which defines the model, and optionally a .txt labels file which provides the text labels for your model.

If you have trained or uploaded an ML model privately and now want to make it available for reuse, you can at any point make the existing model public in the registry.

Also, share a model from your organization with other users in the registry.

Upload a new model or new version

On the DATA tab in the Viam app, navigate to the MODELS subtab. Click Upload model.

Upload model menu on the DATA tab of the Viam app.

Select if you want to upload a New model or a New version of a previously published model.

Select Public to upload the model publicly to the Viam registry. This makes the model usable by any external organization. See ML models in the registry for more information.

Select Private to only publish the model for internal use within this organization. Select Next steps to continue.

Upload model menu on the DATA tab of the Viam app.
  1. Specify a name for the model.
  2. Specify the Model type.
  3. Add a .tflite model file.
  4. (Optional) Add a .txt label file. This should include the label names as you provided them in training, with one name per line.
  5. Add a short description. This will help other users to understand how to use your model.

Select Upload model. The model is now visible on the MODELS subtab of the DATA tab in the Viam app and available to deploy on your machine. Also, if you selected Public, it should be publicly visible in the Viam registry.

Select from your existing models.
  1. Select the model you would like to update from your existing models.
  2. Select Next steps to continue.
  3. Add an updated .tflite model file.
  4. (Optional) Add an updated .txt label file. This should include the label names as you provided them in training, with one name per line.
  5. Click Upload model.

Your model is now updated.

Make an existing model public in the registry

To add a model that you’ve trained to the Viam registry so that other users can deploy it onto their robots:

  1. On the DATA tab in the Viam app, navigate to the MODELS subtab. You’ll see a list of all ML models you have access to.
  2. Open the menu on the right side of an ML model’s row.
List of models displayed on MODELS subtab of DATA tab.
  1. Then, click Make public in Registry.
Publish model to registry action card.
  1. Add a short description. This will help other users to understand how to use your model.
  2. Then, click Publish model. Your model is now publicly visible in the Viam registry.

Next steps



Have questions, or want to meet other people working on robots? Join our Community Discord.

If you notice any issues with the documentation, feel free to file an issue or edit this file.