Instructions to use mKartux/BanNano-model with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Keras
How to use mKartux/BanNano-model with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://mKartux/BanNano-model") - Notebooks
- Google Colab
- Kaggle
Upload README.md with huggingface_hub
Browse files
README.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: FruitScan - Clasificador de Frutas
|
| 3 |
+
emoji: 🍌
|
| 4 |
+
colorFrom: green
|
| 5 |
+
colorTo: yellow
|
| 6 |
+
sdk: docker
|
| 7 |
+
app_port: 7860
|
| 8 |
+
pinned: false
|
| 9 |
+
---
|
| 10 |
+
|
| 11 |
+
# 🍌 FruitScan — Fruit Quality Classifier API
|
| 12 |
+
|
| 13 |
+
Clasificador de frutas frescas vs podridas usando **EfficientNetV2** + **TensorFlow** con visualización **Grad-CAM**.
|
| 14 |
+
|
| 15 |
+
## 🚀 Endpoints
|
| 16 |
+
|
| 17 |
+
| Método | Ruta | Descripción |
|
| 18 |
+
|--------|------|-------------|
|
| 19 |
+
| `GET` | `/health` | Estado del modelo (cargado, clases) |
|
| 20 |
+
| `POST` | `/predict` | Clasifica imagen (multipart `file`) |
|
| 21 |
+
| `POST` | `/feedback` | Envía corrección de etiqueta |
|
| 22 |
+
|
| 23 |
+
### POST `/predict`
|
| 24 |
+
|
| 25 |
+
```bash
|
| 26 |
+
curl -X POST https://mkartux-bannano.hf.space/predict \
|
| 27 |
+
-F "file=@manzana.jpg"
|
| 28 |
+
```
|
| 29 |
+
|
| 30 |
+
Respuesta:
|
| 31 |
+
```json
|
| 32 |
+
{
|
| 33 |
+
"class_name": "Fresh_FreshApple",
|
| 34 |
+
"confidence": 0.9876,
|
| 35 |
+
"is_fresh": true,
|
| 36 |
+
"all_probabilities": [...],
|
| 37 |
+
"image_base64": "...",
|
| 38 |
+
"heatmap_base64": "..."
|
| 39 |
+
}
|
| 40 |
+
```
|
| 41 |
+
|
| 42 |
+
### POST `/feedback`
|
| 43 |
+
|
| 44 |
+
```bash
|
| 45 |
+
curl -X POST https://mkartux-bannano.hf.space/feedback \
|
| 46 |
+
-F "file=@manzana.jpg" \
|
| 47 |
+
-F "correct_label=Rotten_RottenApple"
|
| 48 |
+
```
|
| 49 |
+
|
| 50 |
+
## 📦 Dataset de feedback
|
| 51 |
+
|
| 52 |
+
Las correcciones enviadas se almacenan en:
|
| 53 |
+
[mKartux/fruit-quality-feedback](https://huggingface.co/datasets/mKartux/fruit-quality-feedback)
|
| 54 |
+
|
| 55 |
+
## 🧠 Modelo
|
| 56 |
+
|
| 57 |
+
EfficientNetV2 entrenado en 26 clases (13 frutas x 2 estados fresh/rotten).
|
| 58 |
+
|
| 59 |
+
**Repo del modelo:** [mKartux/fruit-classifier](https://huggingface.co/mKartux/fruit-classifier)
|
| 60 |
+
|
| 61 |
+
## 🌐 Frontend
|
| 62 |
+
|
| 63 |
+
Próximamente en Vercel.
|
| 64 |
+
|
| 65 |
+
## ⚙️ Secrets requeridos
|
| 66 |
+
|
| 67 |
+
Configurar en [Settings → Repository secrets](https://huggingface.co/spaces/mKartux/BanNano/settings):
|
| 68 |
+
|
| 69 |
+
- `HF_TOKEN` — Token de escritura de HF
|
| 70 |
+
- `HF_DATASET_REPO` — `mKartux/fruit-quality-feedback`
|
| 71 |
+
- `HF_MODEL_REPO` — `mKartux/fruit-classifier`
|