MzeeChakula Nutrition Ensemble
Graph Neural Network Ensemble for Elderly Nutrition Planning in Uganda
Model Description
Production-ready ensemble combining three Graph Neural Networks:
- CRGN (40%) - Compositional reasoning
- HetGNN (35%) - Heterogeneous graph handling
- GAT (25%) - Attention mechanisms
Performance:
- 5.36M parameters (~20.4 MB)
- ~15ms inference (CPU), ~3ms (GPU)
- 90% link prediction AUC
Quick Start
from huggingface_hub import snapshot_download
import sys
# Download model
model_path = snapshot_download(repo_id="YOUR_USERNAME/mzeechakula-nutrition")
sys.path.append(model_path)
# Load and use
from nutrition_ensemble import NutritionEnsemble
ensemble = NutritionEnsemble(model_path)
recommendations = ensemble.recommend(user_id=0, top_k=10)
print(recommendations)
Installation
pip install torch numpy pandas huggingface_hub
Usage
Basic Recommendations
from nutrition_ensemble import NutritionEnsemble
# Initialize
ensemble = NutritionEnsemble(".")
# Get top 10 recommendations
recs = ensemble.recommend(user_id=0, top_k=10)
print(recs)
With Exclusions
# Exclude already consumed foods
recs = ensemble.recommend(
user_id=0,
top_k=10,
exclude_foods=[1, 2, 3] # Food IDs to exclude
)
Model Details
- Developed by: Nannyombi Shakiran, Yul Lam Gatkuoth
- Institution: Makerere University
- Supervisor: Ggaliwango Marvin
- License: MIT
- Model type: Graph Neural Network Ensemble
- Task: Food recommendation for elderly nutrition
Training Data
- 1,048 nodes (foods, nutrients, conditions, regions)
- 14,359 edges (relationships)
- Uganda-specific nutrition knowledge graph
Intended Use
Personalized nutrition recommendations for elderly populations in Uganda:
- Health conditions (hypertension, diabetes, anemia, frailty, etc.)
- Regional food availability (Central, Western, Eastern, Northern)
- Cultural preferences (English and Luganda support)
- Cost-conscious recommendations (~4,232 UGX per meal)
Limitations
- Trained specifically on Ugandan food data
- Requires user health profile for optimal recommendations
- Not a substitute for professional medical advice
- Best suited for elderly population (60+ years)
Performance Benchmarks
CPU (Intel i7):
- Single prediction: 0.5 ms
- Top-10 recommendations: 15 ms
- Batch (100 users): 1.5 seconds
GPU (NVIDIA T4):
- Single prediction: 0.1 ms
- Top-10 recommendations: 3 ms
- Batch (100 users): 0.3 seconds
Repository Structure
.
βββ nutrition_ensemble.py # Main model class
βββ ensemble_config.json # Model configuration
βββ requirements.txt # Dependencies
βββ embeddings/ # Pre-computed embeddings
β βββ crgn_embeddings.npy # 7.30 MB
β βββ hetgnn_embeddings.npy # 0.73 MB
β βββ gat_embeddings.npy # 1.22 MB
βββ examples/
βββ quickstart.py # Usage examples
Citation
@software{mzeechakula2025,
title={MzeeChakula: Graph-Enhanced Nutrition Planning for Elderly in Uganda},
author={Nannyombi, Shakiran and Gatkuoth, Yul Lam},
year={2025},
institution={Makerere University},
supervisor={Ggaliwango, Marvin},
url={https://github.com/MzeeChakula}
}
Links
- GitHub: https://github.com/MzeeChakula/models
- Data Repository: https://github.com/MzeeChakula/data
- Issues: https://github.com/MzeeChakula/models/issues
Contact
- Email: [email protected]
- Collaboration: [email protected]
Made for Uganda's elderly population πΊπ¬
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
π
Ask for provider support