Nouri produce classifier (MobileNetV3-Small)
A tiny image classifier that recognizes 30 fruits and vegetables common in Qatari kitchens (apple, banana, carrot, cucumber, okra, eggplant, pomegranate, mango, fig and more). It is the fast first pass in Nouri, a nutrition-learning game for children in Qatar, next to the SmolVLM food recognizer (SmolVLM2-2.2B on GPU, SmolVLM-500M on CPU).
| Base model | timm/mobilenetv3_small_100.lamb_in1k (ImageNet-1k) |
| Parameters | 1.55M |
| Validation accuracy (1166 held-out images, 30 classes) | 96.2% |
| CPU latency, 1 image 224×224 | 7.5 ms |
| Training | 5004 images, 6 epochs, AdamW + OneCycle, label smoothing 0.1, 1× A10G (HF Jobs a10g-small) |
| Training time / cost | 775 s on HF Jobs a10g-small / ≈ $0.25 |
| Monitoring | Trackio project nouri-produce-classifier |
Data
ibrahimdaud/raw-food-recognition (MIT).
We kept only classes that exist in Nouri's kid-level taxonomy, sampled up to 250 train and 50 validation
images per class, and skipped unreadable images. Labels: apple, banana, orange, carrot, cucumber, tomato, broccoli, spinach, bell pepper, potato, sweet potato, eggplant, zucchini, okra, peas, corn, cauliflower, cabbage, lettuce, onion, mango, pineapple, pomegranate, pear, kiwi, grapes, strawberry, watermelon, lemon, fig.
Intended use
A first-pass recognizer of single raw fruits and vegetables in a child's photo. Nouri adds a prediction to the plate only when confidence is ≥ 0.6. Outputs are food names: Nouri never shows calories or nutrient numbers to children.
Limitations
- Trained on raw, mostly single-item produce photos, not mixed or cooked dishes. That's what the VLM is for.
- No Gulf-specific dishes (machboos, harees). Classes are produce only.
- Small validation set. Accuracy on real plates is lower than on the held-out split.
- Not a medical or dietetic tool.
How to use
import timm, torch
model = timm.create_model("hf-hub:FaisalALMallah/nouri-produce-mobilenetv3", pretrained=True)
Label names are in config.json → label_names.
References
- Howard et al., Searching for MobileNetV3, ICCV 2019 (arXiv:1905.02244)
- Wightman, PyTorch Image Models (timm)