# Measure machine learning inference performance on Arm servers

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/ml-perf/)
- [Measure ML Inference Performance on Arm servers](https://learn.arm.com/learning-paths/servers-and-cloud-computing/ml-perf/ml-perf/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/ml-perf/_next-steps/)

## About this Learning Path

| Skill level:       | Introductory         |
|--------------------|----------------------|
| Reading time:      | 20 min               |
| Last updated:      | 30 Sep 2026          |

| Author:            | Pareena Verma, Arm [GitHub](https://github.com/pareenaverma) [LinkedIn](https://linkedin.com/in/pareena-verma-7853607) |
|--------------------|----------------------|
| Arm IP:            | [Neoverse](https://support.arm.com/?tab=compute-ip&Product%20Type=Infrastructure%20Processors) |
| Tags:              | [ML](https://learn.arm.com/tag/ml) [AWS Graviton](https://learn.arm.com/tag/aws-graviton) [Oracle Cloud Infrastructure (OCI) Ampere Compute](https://learn.arm.com/tag/oracle-cloud-infrastructure-oci-ampere-compute) [Linux](https://learn.arm.com/tag/linux) [TensorFlow](https://learn.arm.com/tag/tensorflow) [Runbook](https://learn.arm.com/tag/runbook) |

### Who is this for?

This is an introductory topic for software developers interested in benchmarking machine learning workloads on Arm servers.

### What will you learn?

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

- Install and run TensorFlow on your Arm-based cloud server.
- Use MLPerf Inference benchmark suite, an open-sourced benchmark from MLCommons, to test ML performance on your Arm server.

### Prerequisites

Before starting, you will need the following:

- An [Arm based instance](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/) from an appropriate cloud service provider, or an on-premise Arm server.

### Summary

You’ll prepare an Arm-based Ubuntu cloud server to run MLPerf Inference benchmarks. First, you set up either an AWS Graviton-based instance or OCI Ampere Compute, then install the required build tools, Python packages, and TensorFlow. After configuring the environment with `apt` and `pip`, you’ll run the MLCommons MLPerf Inference suite. With the resulting benchmark output, you can verify the setup and record inference performance for your system.

### Frequently asked questions

<details>
<summary>Which Ubuntu version should I use on my instance?</summary>
Use Ubuntu 20.04 or Ubuntu 22.04 on your Arm-based server. The Learning Path has been tested with both versions.
</details>

<details>
<summary>Is there any difference in procedures between AWS and OCI?</summary>
No. You can use the same procedure on AWS Graviton or OCI Ampere Compute with Ubuntu 20.04 or 22.04.
</details>

<details>
<summary>How do I select the backend, model, and device for the benchmark?</summary>
Pass the backend, model, and device to `run_local.sh` in that order. For the example in this Learning Path, run `./run_local.sh tf resnet50 cpu` to use TensorFlow with ResNet-50 on the CPU. Run `./run_local.sh --help` to view the other supported options.
</details>

<details>
<summary>Which packages should I install before running the benchmarks?</summary>
Update your packages, then install `build-essential`, `python3-pip`, and `git` with `apt-get`. Install Python dependencies such as `opencv-python-headless` and `Cython` with `pip`.
</details>

<details>
<summary>What result should I expect after running the MLPerf Inference suite?</summary>
Confirm that the run produces benchmark output for your tested configuration. Save these results to record your system’s inference performance.
</details>
