Body Measurement Predictor

PyTorch regression model and Tkinter app forecasting physique changes after weight adjustments.

A machine learning playground that turned into a polished desktop tool: I built this pipeline to estimate how a client’s body measurements could shift after changing weight. From data prep to PyTorch training to a Tkinter GUI, it all lives here. Repo: github.com/zhaojinchu/BodyMeasurementPredictor.

Product flow

  • Tkinter desktop app lets coaches plug in current stats, target weight, and instantly see projected measurement deltas.
  • GUI constrains skeletal metrics (wrists, ankles, shoulder-to-crotch) so predictions stay realistic.
  • Packaging checklist documents how to ship the tool with PyInstaller for offline use.

Model pipeline

  • preprocess.py cleans and augments datasets, simulating multiple weight-change scenarios before scaling features.
  • PyTorch regressors (train2.py, train3.py) train on percentage deltas with early-stop checkpoints and scaler persistence.
  • Inference scripts reverse the scaling, clamp deltas, and output centimetre estimates that stay consistent across CLI and GUI.

Tooling & ops

  • Saved scalers, model weights, and augmented CSVs live alongside code for reproducible retraining.
  • Synthetic augmentation + StandardScaler combos cut down on overfitting and simplify iterative experiments.
  • Troubleshooting docs cover data sanity checks and PyInstaller options for Windows environments.
Placeholder

Next up: add confidence intervals around each prediction and expand the dataset to support additional demographics.