Foliage Hunter: Gemma 3 12B LoRA (Colorado-first)

PEFT LoRA adapter for closed-set outdoor plant common-name identification from a photo. It powers the guide in Foliage Hunter, a pocket leaf guide built for the Hacktoberfest Open-Source AI Challenge: Week 1 (Touch Grass).

Base model

google/gemma-3-12b-it. This adapter is a derivative of Gemma and is distributed under the Gemma Terms of Use. Base weights are not re-uploaded here.

Adapter

Path: adapters/colorado_v1/

Method PEFT LoRA (r=16, alpha=32, 600 steps, lr 2e-4, answer-token masking)
Task Choose exactly one common name from an 18-species list
Train / eval 1152 / 288 photos (stratified, every 5th photo per species to eval)
Held-out accuracy 85.1% (245/288), generate-and-match

Load with PEFT on top of the base model; see adapters/colorado_v1/adapter_config.json. A minimal OpenAI-compatible server that does this is in the repo at guide-server/foliage_openai_server.py.

Species (closed set)

Quaking aspen, narrowleaf cottonwood, Gambel oak, boxelder, Rocky Mountain maple, chokecherry, serviceberry, peachleaf willow, green ash, Siberian elm, silver maple, sugar maple, northern red oak, American sweetgum, ginkgo, ponderosa pine, Douglas-fir, blue spruce.

Training data

Every training and evaluation image is a research-grade observation photo contributed by an iNaturalist user and retrieved through the public iNaturalist API with training/scripts/build_inat_corpus.py. 1,440 photos from 729 observations, 80 photos per species, Colorado place filter for the local tiers.

Per-photo licenses in the corpus: CC BY-NC 1016, CC BY 301, CC0 47, CC BY-NC-ND 38, CC BY-NC-SA 28, CC BY-ND 6, CC BY-SA 4. Image bytes are not redistributed. The observation IDs and licenses for every photo are published in EdyVision/foliage-hunter-experiments so the corpus can be rebuilt and each photographer credited through their iNaturalist observation page (https://www.inaturalist.org/observations/<id>).

Citation

@misc{rosado2026foliagehunter,
  title        = {Foliage Hunter: a Colorado-tuned Gemma 3 LoRA leaf guide},
  author       = {Rosado, Eidan},
  year         = {2026},
  howpublished = {\url{https://github.com/EdyVision/foliage-hunter}},
  note         = {Adapter: \url{https://huggingface.co/EdyVision/foliage-hunter-gemma3-12b}; experiments: \url{https://huggingface.co/datasets/EdyVision/foliage-hunter-experiments}}
}

@article{gemma3_2025,
  title   = {Gemma 3 Technical Report},
  author  = {{Gemma Team} and others},
  journal = {arXiv preprint arXiv:2503.19786},
  year    = {2025},
  url     = {https://arxiv.org/abs/2503.19786}
}

@misc{inaturalist2026,
  title        = {iNaturalist research-grade observations},
  author       = {{iNaturalist contributors}},
  year         = {2026},
  howpublished = {\url{https://www.inaturalist.org}},
  note         = {Retrieved via \url{https://api.inaturalist.org/v1/observations}, October 2026. Observation IDs listed in EdyVision/foliage-hunter-experiments}
}

@inproceedings{hu2022lora,
  title     = {LoRA: Low-Rank Adaptation of Large Language Models},
  author    = {Hu, Edward J. and Shen, Yelong and Wallis, Phillip and Allen-Zhu, Zeyuan and Li, Yuanzhi and Wang, Shean and Wang, Lu and Chen, Weizhu},
  booktitle = {International Conference on Learning Representations (ICLR)},
  year      = {2022},
  url       = {https://arxiv.org/abs/2106.09685}
}
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for EdyVision/foliage-hunter-gemma3-12b

Adapter
(429)
this model

Dataset used to train EdyVision/foliage-hunter-gemma3-12b

Collection including EdyVision/foliage-hunter-gemma3-12b

Papers for EdyVision/foliage-hunter-gemma3-12b