# Tutorial - Computer Vision

Learn how to build production-ready ML workflows on Valohai through a practical example. This series takes you beyond "Hello World" to master the features that make ML workflows reproducible, scalable, and collaborative.

## Why This Tutorial Series?

You've run your first Valohai execution. Now what?

This series teaches you how to transform any ML project into a production-ready workflow. We use YOLOv8 (a computer vision model) as our example, but **you don't need any computer vision knowledge**. The patterns you'll learn apply to any ML project—from CV, geospatial data, NLP to time series forecasting.

By the end, you'll have built a complete ML pipeline that:

* Runs reproducibly on any infrastructure
* Tracks all experiments automatically
* Passes data between training and inference steps
* Can be scheduled, monitored, and iterated on by your team

## What You'll Build

Starting with a simple training script, you'll progressively add Valohai features to create a full pipeline:

### 1. [Defining Jobs](/getting-started/intro/jobs.md)

Transform a Python script into a Valohai execution. You'll run YOLOv8 training on remote machines while Valohai automatically versions every output file and creates aliases for your trained models.

### 2. [Using Parameters](/getting-started/intro/parameters.md)

Make your training configurable without touching code. Control hyperparameters from the UI, compare different model configurations, and track which settings produced each model.

### 3. [Logging Metrics](/getting-started/intro/metrics.md)

Track training progress in real-time. Print JSON from your scripts to automatically log metrics, then visualize and compare performance across experiments.

### 4. [Building Pipelines](/getting-started/intro/pipelines.md)

Connect multiple jobs into automated workflows. Build a train-and-predict pipeline where outputs flow seamlessly between steps—no manual file handling needed.

### 5. [Working with Data](/getting-started/intro/data.md)

Master data management. Load datasets from cloud storage, chain outputs from previous jobs, and override data sources at runtime for maximum flexibility.

## Before You Start

**Required:**

* Completed the [Quickstart guide](/getting-started/quickstart.md)
* A Valohai project connected to a Git repository
* Basic Python knowledge

**Not Required:**

* YOLOv8 or computer vision experience
* DevOps or infrastructure knowledge

## How to Use This Series

While each tutorial can stand alone, we recommend following them in order. Each builds on concepts from the previous one, gradually introducing more powerful features.

> 💡 **About YOLOv8:** We use this object detection model because it generates multiple output files during training (logs, checkpoints, and a `best.onnx` model file). This makes it perfect for demonstrating Valohai's file handling and versioning capabilities. The concepts apply to any ML framework.

Ready? Let's start by [defining your first job](/getting-started/intro/jobs.md) →


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.valohai.com/getting-started/intro.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
