--- datasets: - AI-Lab-Makerere/beans language: en library_name: timm license: apache-2.0 pipeline_tag: image-classification tags: - image-classification - classifier-lab - embry-os - automated-ml - beans - plant-disease model-index: - name: efficientnet_b0 results: - task: type: image-classification dataset: name: Beans type: AI-Lab-Makerere/beans metrics: - type: f1 value: 0.9218 name: Macro F1 - type: accuracy value: 0.9219 --- # Model Card for grahamaco/beans-classifier ## Model Details ### Model Description Bean leaf disease classifier trained with self-improving Classifier Lab pipeline. - **Developed by:** Graham Anderson (Embry OS) - **Funded by [optional]:** [More Information Needed] - **Shared by [optional]:** [More Information Needed] - **Model type:** [More Information Needed] - **Language(s) (NLP):** en - **License:** apache-2.0 - **Finetuned from model [optional]:** [More Information Needed] ### Model Sources [optional] - **Repository:** https://github.com/grahamaco/embry-os - **Paper [optional]:** [More Information Needed] - **Demo [optional]:** [More Information Needed] ## Uses ### Direct Use [More Information Needed] ### Downstream Use [optional] [More Information Needed] ### Out-of-Scope Use [More Information Needed] ## Bias, Risks, and Limitations [More Information Needed] ### Recommendations Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. ## How to Get Started with the Model Use the code below to get started with the model. [More Information Needed] ## Training Details ### Training Data [More Information Needed] ### Training Procedure #### Preprocessing [optional] [More Information Needed] #### Training Hyperparameters - **Training regime:** [More Information Needed] #### Speeds, Sizes, Times [optional] [More Information Needed] ## Evaluation ### Testing Data, Factors & Metrics #### Testing Data [More Information Needed] #### Factors [More Information Needed] #### Metrics [More Information Needed] ### Results [More Information Needed] #### Summary ## Model Examination [optional] [More Information Needed] ## Environmental Impact Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). - **Hardware Type:** [More Information Needed] - **Hours used:** [More Information Needed] - **Cloud Provider:** [More Information Needed] - **Compute Region:** [More Information Needed] - **Carbon Emitted:** [More Information Needed] ## Technical Specifications [optional] ### Model Architecture and Objective [More Information Needed] ### Compute Infrastructure [More Information Needed] #### Hardware [More Information Needed] #### Software [More Information Needed] ## Citation [optional] **BibTeX:** [More Information Needed] **APA:** [More Information Needed] ## Glossary [optional] [More Information Needed] ## More Information [optional] [More Information Needed] ## Model Card Authors [optional] [More Information Needed] ## Model Card Contact [More Information Needed] ## Results (Verified on Held-Out Test Set) **128 test images, never seen during training or validation.** | Metric | Value | |--------|-------| | **Macro F1** | **0.9218** | | **Accuracy** | **0.9219** | | **Holdout Gate** | **PASSED >= 0.90** | ### Per-Class Metrics | Class | Precision | Recall | F1 | Support | |-------|-----------|--------|----|---------| | angular_leaf_spot | 0.92 | 0.84 | 0.88 | 43.0 | | bean_rust | 0.87 | 0.95 | 0.91 | 43.0 | | healthy | 0.98 | 0.98 | 0.98 | 42.0 | ### Confusion Matrix | | angular_leaf_spot | bean_rust | healthy | |---|---|---|---| | **angular_leaf_spot** | 36 | 6 | 1 | | **bean_rust** | 2 | 41 | 0 | | **healthy** | 1 | 0 | 41 | ## Self-Improvement Loop The classifier was trained iteratively until the holdout gate (F1 >= 0.90) was met. Each round adjusts hyperparameters and augmentation strategy based on prior failures. | Round | Epochs | LR | Augment | Val F1 | Test F1 | Gate | |-------|--------|----|---------|--------|---------|------| | 1 | 10 | 0.0002 | 1 | 0.9328 | 0.8762 | FAILED | | 2 | 15 | 0.0001 | 2 | 0.9240 | 0.9218 | PASSED | **Winning configuration**: Round 2 ## Architecture - **Backbone**: efficientnet_b0 (pretrained on ImageNet) - **Framework**: PyTorch + timm - **Classes**: angular_leaf_spot, bean_rust, healthy - **Image size**: 224x224 ## Training Pipeline (Classifier Lab) 1. **Research** -- Identified EfficientNet B0 as candidate 2. **Data** -- Beans dataset from HuggingFace (1034 train, 133 val, 128 test) 3. **Self-improvement loop** -- Round 1 failed gate (F1 0.876), adjusted LR and augmentation, Round 2 passed (F1 0.922) 4. **Evaluate** -- Held-out test set (128 images, never seen during training) 5. **Promote** -- Gate passed, pushed to HuggingFace with model checkpoint ## License Apache 2.0