Classification setup from PlantDoc: A Dataset for Visual Plant Disease Detection (CoDS-COMAD 2020).
Dataset: pratikkayal/PlantDoc-Dataset.
Clone the dataset so that train/ and test/ live under data/PlantDoc-Dataset/:
mkdir -p data && cd data && git clone https://github.com/pratikkayal/PlantDoc-Dataset.gitdata/PlantDoc-Dataset/train/— one subfolder per classdata/PlantDoc-Dataset/test/— same class subfolders
pip install -r requirements.txtpython -m plantdoc.train --model VGG16 --epochs 50Other models: InceptionV3, InceptionResNetV2:
python -m plantdoc.train --model InceptionResNetV2 --epochs 50Checkpoints are saved under outputs/ (e.g. outputs/vgg16_plantdoc.keras).
Upload notebooks/plantdoc_train_colab.ipynb to Google Colab, set runtime to T4 GPU, and run all cells. Download the .keras file and the .weights.h5 file from the notebook.
Put vgg16_plantdoc.weights.h5 in the project root. Optionally add class_names.json for readable labels.
python -m plantdoc.predict vgg16_plantdoc.weights.h5 path/to/leaf.jpg --classes class_names.jsonExample output:
Prediction: Tomato leaf bacterial spot
Confidence: 87.32%
Put vgg16_plantdoc.weights.h5 and optionally class_names.json in the project root.
pip install -r requirements.txt
uvicorn main:app --reload- POST /predict — upload a leaf image (form field
file). Returnslabel,confidence,all_classes. - GET /health — check that the model is loaded.
Example:
curl -X POST http://127.0.0.1:8000/predict -F "file=@data/PlantDoc-Dataset/test/Apple leaf/4120978-single-green-leaf-of-apple-tree.jpg"Docs: http://127.0.0.1:8000/docs
- Paper: arXiv:1911.10317 / ACM
- Dataset: GitHub - pratikkayal/PlantDoc-Dataset (CC-BY-4.0)