# KOF-Mamba
This repository contains the training code and dataset files for faba bean chocolate spot severity grading.
## Contents
- `src/kof_mamba/config.py`: paths and training configuration.
- `src/kof_mamba/data.py`: dataset loading and image transformations.
- `src/kof_mamba/model.py`: KOF-Mamba model, including AFMamba, DWT, and FFT branches.
- `src/kof_mamba/losses.py`: ordinal-aware loss and semantic alignment loss.
- `src/kof_mamba/engine.py`: training loop and data loader construction.
- `src/kof_mamba/evaluate.py`: checkpoint loading and test report generation.
- `data/origin_data/`: field leaf images organized by severity grade folders `0`, `1`, `3`, `5`, `7`, and `9`.
- `data/public_test/`: public test subset with 10 images per severity grade.
- `data/class/task_0_1_3_5_7_9/`: train, validation, and test split files.
- `data/captions.json`: image-level disease attribute descriptions used for semantic-assisted training.
## Usage
Install dependencies:
```bash
pip install -r requirements.txt
```
Run training:
```bash
python -m src.kof_mamba.train
```
By default, the script uses relative paths inside this repository:
- images: `data/origin_data`
- split files: `data/class/task_0_1_3_5_7_9`
- captions: `data/captions.json`
- outputs: `outputs/training_results_kof_mamba_6class`
These paths can also be overridden with environment variables:
```bash
KOF_IMAGE_DIR=/path/to/images \
KOF_TASK_DIR=/path/to/task_0_1_3_5_7_9 \
KOF_CAPTIONS_JSON=/path/to/captions.json \
KOF_RESULTS_DIR=/path/to/outputs \
python -m src.kof_mamba.train
```