- pytest test suite covering model output shapes, gradient flow, NaN-aware loss edge cases, dataset utilities, and config loading
- Sample prediction images (
assets/sample_predictions_resnet.png) - Training curve visualizations (
assets/training_curves.png) - Model comparison overlay (
assets/model_comparison.png)
- Rewrote README with badges (Python, PyTorch, TensorFlow, License, Kaggle RMSE), embedded images, architecture diagrams, and code examples
- Added parameter counts and strategy details to results table
- Added references section (He et al. 2016, Kaggle)
- Deprecated
df.fillna(method="ffill")replaced withdf.ffill()for pandas 2.x compatibility
- Modular Python package with
keypointsnamespace - CNN model (Keras/TensorFlow): 3 conv blocks with LeakyReLU, two-phase training (Adam + SGD)
- ResNet model (PyTorch): 6-stage, 12 residual blocks with batch normalization
- Custom
MSELossIgnoreNanfor training with partially-labeled data - Shared dataset loading and preprocessing utilities for both frameworks
- Centralized YAML configuration with typed frozen dataclasses
- Training entry points with
--configand--debugCLI flags - Unified prediction script with Kaggle submission generation
- Visualization utilities: keypoint overlay, training curves, prediction grids, model comparison
- Architecture documentation with pipeline and block diagrams
- Merged code from two separate repositories into a single modular package
- Extracted all hardcoded hyperparameters to
config/default.yaml - Replaced
print()statements with Pythonloggingmodule - Added type hints and docstrings throughout
- PyTorch and TensorFlow are optional dependencies with lazy imports