Skip to content

Training Guide

Basic Training

uv run python -m mlops_project.train model=efficientnet

EfficientNet Variants

Variant Command Description
EfficientNet-B0 model=efficientnet model.variant=b0 Smaller, faster
EfficientNet-B3 model=efficientnet model.variant=b3 Better accuracy

Hyperparameters

# Learning rate
uv run python -m mlops_project.train model.learning_rate=0.0001

# Batch size
uv run python -m mlops_project.train data.batch_size=64

# Epochs
uv run python -m mlops_project.train trainer.max_epochs=50

# Early stopping
uv run python -m mlops_project.train trainer.patience=10

Data Subsampling

For faster iteration during development:

# Use 10% of data
uv run python -m mlops_project.train data.subsample_percentage=0.1

# Use 1% for quick tests
uv run python -m mlops_project.train data.subsample_percentage=0.01

Experiment Tracking

Enable Weights & Biases logging:

uv run python -m mlops_project.train wandb.enabled=true wandb.project=skin-lesion

GPU Training

# Single GPU
uv run python -m mlops_project.train trainer.accelerator=gpu

# Multiple GPUs
uv run python -m mlops_project.train trainer.accelerator=gpu trainer.devices=2

Output

Training produces: - models/ - Model checkpoints - outputs/ - Hydra logs and configs - W&B dashboard (if enabled)