# Quickstart: ResNet Phenology Classifier **Date**: 2025-11-04 **Feature**: specs/1-phenology-classifier/spec.md ## Prerequisites - Python 3.11+ - GPU with CUDA support (recommended) - 4GB+ RAM - Dataset with plant images and labels CSV ## Installation 1. Clone the repository and checkout the feature branch: ```bash git checkout 1-phenology-classifier ``` 2. Install dependencies: ```bash pip install -r requirements.txt ``` 3. Prepare your dataset: - Place images in `data/images/` - Create `data/labels.csv` with columns: `image_path`, `phase` ## Training Run the training script: ```bash python src/train.py --data_dir data/ --epochs 50 --batch_size 32 ``` This will: - Load the dataset - Train ResNet50 on your data - Save the model to `models/phenology_classifier.pth` ## Evaluation Evaluate the trained model: ```bash python src/evaluate.py --model_path models/phenology_classifier.pth --data_dir data/ ``` This outputs accuracy, F1-score, and per-class metrics. ## Inference Classify a new image: ```bash python src/inference.py --model_path models/phenology_classifier.pth --image_path path/to/image.jpg ``` Or start the API server: ```bash python -m uvicorn src.api:app --reload ``` Then POST to `http://localhost:8000/classify` with image file. ## Expected Results - Training time: ~30 minutes on GPU - Accuracy: >90% on validation set - Inference time: <1 second per image