# Fine-tune neural graphics models using Model Gym

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/model-training-gym/)
- [Install Model Gym and explore neural graphics examples](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/model-training-gym/1-introduction/)
- [Set up your environment](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/model-training-gym/2-devenv/)
- [Launch the training notebook](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/model-training-gym/3-model-training/)
- [Fine-tune and export a quantized model](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/model-training-gym/4-quantization-fine-tuning/)
- [Inspect the model graph with Model Explorer](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/model-training-gym/4-model-explorer/)
- [Next Steps](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/model-training-gym/_next-steps/)

## About this Learning Path

| Skill level: | Advanced |
|--------------|----------|
| Reading time: | 45 min |
| Last updated: | 18 Aug 2026 |

| Author: | Annie Tallund, Arm [GitHub](https://github.com/annietllnd) [LinkedIn](https://linkedin.com/in/annietallund) |
|----------|----------------------------------------------------------------------------------------------------------------|
| Arm IP: | [Mali](https://support.arm.com/?tab=compute-ip&Product%20Type=Graphics%20Processors) |
| Tags: | ML, Linux, PyTorch, Jupyter Notebook, Vulkan, NX |

### Who is this for?

This is an advanced topic for developers exploring neural graphics and interested in training and deploying upscaling models like Neural Super Sampling (NSS) using PyTorch and Arm’s hardware-aware backend.

### What will you learn?

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

- Understand the principles of neural graphics and how it’s applied to game performance
- Learn how to fine-tune and evaluate a neural network for Neural Super Sampling (NSS)
- Use the Model Gym Python API and CLI to configure and train neural graphics models
- Fine-tune an NSS model with quantization-aware training (QAT) and export it to .vgf
- Inspect the graph of exported .vgf models using Model Explorer

### Prerequisites

Before starting, you will need the following:

- Basic understanding of PyTorch and machine learning concepts
- A development machine running Ubuntu 22.04 or later, with a CUDA-capable NVIDIA® GPU
- CUDA Toolkit v13.1.1 or later

### Summary

You’ll use Model Gym notebooks on Ubuntu to train and evaluate a Neural Super Sampling model in PyTorch. Inspect checkpoints, choose post-training or quantization-aware training, and prepare an INT8 export. Then export the fine-tuned model as a `.vgf` package and validate it in Model Explorer with the VGF adapter.

### Frequently asked questions

<details>
<summary>What should I verify before creating the Python environment?</summary>
Check that `python3` reports a supported version (3.10, 3.11, or 3.12). Then install the listed system packages before setting up the examples.
</details>

<details>
<summary>Which notebook should I use to export a deployable model?</summary>
Use the `model_qat_example.ipynb` notebook. It is the only example notebook that includes the export step to produce a `.vgf` file.
</details>

<details>
<summary>When should I choose PTQ versus QAT for NSS?</summary>
Post-training quantization (PTQ) is faster to try because it calibrates an already-trained model. Quantization-aware training (QAT) simulates lower precision during fine-tuning to help preserve accuracy when exporting an INT8 model.
</details>

<details>
<summary>How do I confirm that the export completed correctly?</summary>
Expect a `.vgf` model produced by the export pipeline. Open it in Model Explorer with the VGF adapter; a valid graph with layers, tensor shapes, and connectivity indicates a successful export.
</details>

<details>
<summary>Can Model Explorer show image quality or frame comparisons?</summary>
No. Model Explorer visualizes the network structure and execution graph, not rendered output quality. Use the evaluation notebook to compare model output with the ground truth.
</details>
