ML Training Lab
I use short, bounded training projects to practice the full machine-learning workflow: define a problem, prepare data, train a model, evaluate it on a held-out split, save reproducible checkpoints, and publish the results and limitations.
The current projects use synthetic datasets and are educational, not production forecasting systems. I state that directly because the useful proof is the training and evaluation process—not inflated claims about real-world performance.
Technologies used
Published models
Solar linear regression
I trained a PyTorch linear-regression model to predict daily solar output from five synthetic system and weather features.
- 500 generated samples with a train/validation split
- Feature and target normalization stored with the checkpoint
- Validation R² of approximately 0.997 and RMSE of approximately 0.48 kWh
- Best and latest checkpoints, training code, usage notes, and limitations
The high score reflects a deliberately simple synthetic dataset. It should not be read as evidence of production solar forecasting accuracy.
View the solar regression model on Hugging Face →
EV charging logistic regression
I trained a PyTorch binary classifier to decide whether to charge an EV from battery percentage and electricity price.
- 300 synthetic samples with a normalized 80/20 train/validation split
BCEWithLogitsLoss, SGD, best-checkpoint selection, and learning-curve plots- Final validation accuracy of 93.33%, precision of 89.66%, recall of 96.30%, and F1 of 0.9286
- Explicit documentation of the linear boundary, small dataset, and missing real-world context
View the EV charging classifier on Hugging Face →
What this work demonstrates
- Building training and evaluation loops in PyTorch
- Separating training and validation data
- Fitting normalization statistics on training data and saving them for inference
- Choosing metrics that match regression and classification problems
- Tracking the best and latest checkpoints
- Publishing model cards that explain intended use and failure boundaries
I also built and published a character-level Transformer to study causal self-attention and language-model training from first principles.
Status
Active learning track — 2026. I am continuing to publish small, fast-turnaround models while moving toward real datasets, stronger baselines, and more rigorous validation.