Quickstart Training Pipeline¶
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:
What Happens During Execution¶
- Environment Verification: Detects CUDA GPU or Apple Silicon MPS device acceleration.
- Model Instantiation: Builds the PyTorch
VisionBackbonearchitecture (src/models/cv/backbone.py). - Loss & Optimizer Setup: Instantiates
FocalLossand AdamW optimizer with cosine learning rate scheduling. - Training Loop: Runs epochs, logging training and validation metrics to
logs/metrics/. - 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: