Skip to content

Quickstart Training Pipeline

← Back to Tutorials Overview

Abdelkader Haddag
Abdelkader Haddag
Deep Learning Engineer & Researcher • 📅 Aug 5, 2026

This tutorial provides a complete walkthrough for configuring hyperparameter YAML files, executing PyTorch model training workflows via scripts/train.py, tracking real-time metrics, and evaluating saved model checkpoints.


🛠️ Step 1: Inspecting Experiment Configuration

All training experiments are controlled via modular YAML configuration files located under inputs/experiments/.

Inspect inputs/experiments/default.yaml:

experiment_name: "default_resnet_baseline"
seed: 42

data:
  batch_size: 64
  num_workers: 4
  image_size: 224

model:
  name: "VisionBackbone"
  num_classes: 10
  dropout: 0.2

training:
  epochs: 20
  learning_rate: 0.001
  weight_decay: 1e-4
  fp16: true
  checkpoint_dir: "outputs/checkpoints/"
  log_dir: "logs/metrics/"

🚀 Step 2: Executing Model Training

Run the training loop using the uv toolchain:

uv run python scripts/train.py --config inputs/experiments/default.yaml

What Happens During Execution

  1. Environment Verification: Detects CUDA GPU or Apple Silicon MPS device acceleration.
  2. Model Instantiation: Builds the PyTorch VisionBackbone architecture (src/models/cv/backbone.py).
  3. Loss & Optimizer Setup: Instantiates FocalLoss and AdamW optimizer with cosine learning rate scheduling.
  4. Training Loop: Runs epochs, logging training and validation metrics to logs/metrics/.
  5. Checkpoint Saving: Saves the best validation model weights to outputs/checkpoints/best_model.pt.

📊 Step 3: Evaluating Saved Checkpoints

Evaluate the trained checkpoint on the validation set using scripts/evaluate.py:

uv run python scripts/evaluate.py \
  --checkpoint outputs/checkpoints/best_model.pt \
  --config inputs/experiments/default.yaml

Expected output:

Validation Accuracy: 94.25%
Top-5 Accuracy:      99.10%
Mean Loss:           0.142