Who is this for?

Use this Learning Path if you develop Android or machine learning applications and want to run optimized image-classification models locally on an Arm-based Android device.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Prepare the Android command-line tools and connect an Arm-based Android phone.
  • Download and run supported models from the Arm AI Portal
  • Trace how the three supplied adapters import models, provide task-specific controls, preprocess inputs, run LiteRT or ExecuTorch, and format results
  • Optionally register another compatible model or generate and validate a separate adapter

Prerequisites

Before starting, you will need the following:

  • A macOS, Linux, or Windows development machine
  • An Arm-based Android phone with Android 9 or later and enough storage for the application and model files
  • Basic familiarity with terminal commands and Android applications
  • Git installed on the development machine
  • Python 3 with the venv and pip modules on the machine
  • Java Development Kit (JDK) 17 or later on the machine, available on your PATH
  • A tool for downloading files and a tool for extracting ZIP archives on the machine
  • A data-capable USB cable
  • A Hugging Face account
  • Network access for the first Gradle build and model downloads

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll set up Android command-line tools, connect an Arm-based Android phone, and run an application called Photo Insight locally. First, you’ll import Arm AI Portal image-classification models through LiteRT or ExecuTorch, compare fixed-label ImageNet results with zero-shot CLIP matching, and trace how adapters validate models and format results. You’ll then register a compatible model or generate and validate an adapter for a model with a different contract.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
How do I know my Android phone is ready for debugging?
Enable Developer options and USB debugging, then run adb devices -l. Confirm that your phone appears with the state device. If it reports unauthorized, unlock the phone and accept the debugging prompt. If it doesn’t appear, see Run apps on a hardware device .
Which option should I use in Photo Insight to run a specific runtime or task?
Select the mode that matches the runtime and task you want to use. LiteRT Quick Identify and ExecuTorch Quick Identify run fixed-label ImageNet classification. ExecuTorch CLIP Custom Match ranks candidate descriptions that you enter at run time.
What result should I expect after running a model?
Photo Insight formats the result according to the selected adapter. Fixed-label ImageNet models display ranked labels from their bundled label set. CLIP ranks the candidate descriptions that you enter at run time.
What is the difference between fixed-label and zero-shot classification?
Fixed-label classification assigns an image to labels from a predefined set, such as ImageNet labels. Zero-shot CLIP classification compares the image with candidate descriptions that you provide at run time, so you can define the categories without retraining the model.
How do I decide whether to register a model or create a new adapter?
Compare the model’s task, runtime, methods, tensors, preprocessing, outputs, labels or tokenizer, and required assets with the supplied adapters. Register it only when all required elements match. If any required element differs, use the coding-agent workflow to generate and validate another adapter.
Next