Instructions to use thenukegun10x/PLantDetect-WA with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LiteRT
How to use thenukegun10x/PLantDetect-WA with LiteRT:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
PlantDetect: Western Australia Plant Vision (999 Species)
Built with DINOv3
Fine-grained botanical vision models specializing in the flora of Western Australia.
1. Multi-View Botanical Inference (Single vs. Multi-Photo)
In the field, plant species can be difficult to distinguish from a single photo. By providing multiple complementary angles of the same plant (e.g. Flower, Leaf, Habit, Fruit), the model achieves near-perfect classification accuracy:
| Photos Provided by User | Mobile Dense Student (plant_dense_4view) โ PlantDetect-Dense-4View-BF16 |
Server MoE++ BEST (PlantDetect-BF16) |
Real-World Botanical Impact |
|---|---|---|---|
| 1 Photo (Single-Shot) | 82.08% Top-1 (93.03% Top-5) |
89.31% Top-1 (96.14% Top-5) |
Fast single photo identification |
| 2 Photos (Dual-Angle) | 94.27% Top-1 (99.28% Top-5) |
97.11% Top-1 (99.66% Top-5) |
Flower + Leaf resolves 94%+ of species |
| 3 Photos (Tri-Angle) | 97.45% Top-1 (99.84% Top-5) |
98.77% Top-1 (99.95% Top-5) |
Flower + Leaf + Growth habit |
| 4 Photos (Quad-Angle) | 98.31% Top-1 (99.90% Top-5) |
99.42% Top-1 (100.00% Top-5) |
99.9% Top-5 certainty in the field |
Re-benched 2026-08-30 sequential BF16 27,673 val, K-view mean logits via bench_multiview_finals.py (data/bench_multiview_finals.json) โ PlantDetect-Dense-4View-BF16 / PlantDetect-BF16.
2. Complete Model Artifact Catalog (Direct Download Links)
A. Mobile Edge & Embedded Models (Dense ViT-Base)
Optimized for Samsung Galaxy S24 (Exynos 2400 / Snapdragon 8 Gen 3), iOS, Windows DirectML, and Raspberry Pi.
| Model File | Model Type | Runtime Target | Format / Precision | File Size | Top-1 (1-View) | Top-1 (4-View) | Target Hardware |
|---|---|---|---|---|---|---|---|
PlantDetect-Dense-INT8.safetensors |
Single-Shot | PyTorch / Python | Standard W8A16 INT8 | 93.3 MB |
83.02% | 97.34% | Ultra-compact Python edge |
PlantDetect-Dense-FP8-AdaRound.safetensors |
Single-Shot | PyTorch / Python | AdaRound FP8 (E4M3) | 92.7 MB |
83.02% | 97.34% | GPU / Python lightweight |
PlantDetect-Dense-BF16.safetensors |
Single-Shot | PyTorch / Python | Full bfloat16 |
181.5 MB |
83.02% | 97.34% | Dense PyTorch reference |
PlantDetect-Dense-4View-INT8.safetensors |
4-View Distilled | PyTorch / Python | Standard W8A16 INT8 | 93.3 MB |
82.08% | 98.31% | Dedicated multi-photo mobile edge |
PlantDetect-Dense-4View-FP8-AdaRound.safetensors |
4-View Distilled | PyTorch / Python | AdaRound FP8 (E4M3) | 92.7 MB |
82.08% | 98.31% | Dedicated multi-photo GPU edge |
PlantDetect-Dense-4View-BF16.safetensors |
4-View Distilled | PyTorch / Python | Full bfloat16 |
181.5 MB |
82.08% | 98.31% | Lossless 4-view dense reference |
onnx/PlantDetect-Dense-INT8.onnx |
Single-Shot | ONNX Runtime | Mixed-Precision INT8 | 106.3 MB |
83.02% | 97.34% | Android, iOS CoreML, Windows |
onnx/PlantDetect-Dense-FP32.onnx |
Single-Shot | ONNX Runtime | Full FP32 | 363.3 MB |
83.02% | 97.34% | Standard reference ONNX |
onnx/PlantDetect-Dense-4View-INT8.onnx |
4-View Distilled | ONNX Runtime | Mixed-Precision INT8 | 106.3 MB |
82.08% | 98.31% | Multi-photo ONNX Runtime |
onnx/PlantDetect-Dense-4View-FP32.onnx |
4-View Distilled | ONNX Runtime | Full FP32 | 363.3 MB |
82.08% | 98.31% | Multi-photo reference ONNX |
litert/PlantDetect-Dense-INT8.tflite |
Single-Shot | Google LiteRT (TFLite) | Full Integer INT8 | 387.0 MB |
83.02% | 97.34% | Samsung S24 NPU acceleration |
litert/PlantDetect-Dense-FP16.tflite |
Single-Shot | Google LiteRT (TFLite) | Float16 | 196.2 MB |
83.02% | 97.34% | Mobile GPU / XNNPACK CPU |
litert/PlantDetect-Dense-4View-INT8.tflite |
4-View Distilled | Google LiteRT (TFLite) | Full Integer INT8 | 385.8 MB |
82.08% | 98.31% | Samsung S24 Multi-View NPU |
litert/PlantDetect-Dense-4View-FP16.tflite |
4-View Distilled | Google LiteRT (TFLite) | Float16 | 195.8 MB |
82.08% | 98.31% | Multi-View Mobile GPU |
B. Server / Desktop GPU Models (Mixture-of-Experts)
| Model File | Model Type | Architecture | Format | Size | Top-1 (1-View) | Top-1 (4-View) | Primary Use Case |
|---|---|---|---|---|---|---|---|
PlantDetect-FP8-AdaRound.safetensors |
Single-Shot | MoE++ (16 FFNs) | AdaRound FP8 (E4M3) | 104.3 MB |
89.31% | 99.42% | Fastest, ultra-compact GPU server inference |
PlantDetect-BF16.safetensors |
Single-Shot | MoE++ (16 FFNs) | Full bfloat16 |
205.2 MB |
89.31% | 99.42% | Lossless baseline reference |
PlantDetect-4View-FP8-AdaRound.safetensors |
4-View Distilled | MoE++ 4-View | AdaRound FP8 (E4M3) | 104.3 MB |
85.15% | 99.07% | Dedicated multi-photo teacher (FP8) |
PlantDetect-4View-BF16.safetensors |
4-View Distilled | MoE++ 4-View | Full bfloat16 |
205.2 MB |
85.15% | 99.07% | Lossless multi-photo baseline |
Quantization Architecture Details:
- FP8 Models (
*-FP8-AdaRound.safetensors): Quantized using AdaRound FP8 with quadratic activation reconstruction loss $\min |Wx - \tilde{W}(V)x|_2^2$ over non-uniform E4M3 discrete grids (100% Top-1 FP32 match).- INT8 Models (
*-INT8.safetensors/.onnx/.tflite): Quantized using Symmetric Per-Channel W8A16 Dynamic Range Quantization, delivering43.81 dBSQNR and0.999985cosine similarity.
3. ๐ฅ๏ธ Official Plant CLI Guide
1. Installation
git clone https://huggingface.co/thenukegun10x/wa-plant-identifier
cd wa-plant-identifier
pip install -r requirements.txt
2. Identify a Plant from a Single Photo
python plant_cli.py identify wild_flower.jpg --topk 5
3. Multi-View Botanical Identification (Flower + Leaf + Habit)
Achieves 97%โ99% certainty by averaging logits across complementary plant angles:
python plant_cli.py identify flower.jpg leaf.jpg habit.jpg fruit.jpg
4. Batch Directory Identification
Recursively process an entire field folder and export results to CSV:
python plant_cli.py batch --dir field_photos/ --pattern "*.jpg" --recursive --out results.csv
4. Python Quickstart Examples
Multi-View Inference with PyTorch / Safetensors
import torch
import numpy as np
from PIL import Image
from safetensors.torch import load_file
from src.models.plant_vit import PlantViT
# 1. Load model
model = PlantViT(stem_name="vit_base_patch16_dinov3", n_classes=999, use_moe=None)
sd = load_file("PlantDetect-Dense-BF16.safetensors")
model.load_state_dict(sd, strict=False)
model.eval()
# 2. Preprocess multiple photos of the same plant (e.g. Flower + Leaf)
def preprocess(path):
img = Image.open(path).convert("RGB").resize((383, 383))
crop = img.crop((23, 23, 359, 359))
arr = (np.array(crop, dtype=np.float32) / 255.0 - [0.485, 0.456, 0.406]) / [0.229, 0.224, 0.225]
return torch.from_numpy(arr.transpose(2, 0, 1)).unsqueeze(0)
photos = [preprocess("flower.jpg"), preprocess("leaf.jpg")]
# 3. Compute mean logits across all views
with torch.no_grad():
logits_list = [model(p)[0] for p in photos]
mean_logits = torch.stack(logits_list).mean(dim=0)
top_species_idx = mean_logits.argmax(dim=-1).item()
print(f"Identified Species Index: {top_species_idx}")
Attribution & Licensing
- Built with DINOv3: Uses the DINOv3 vision backbone (
vit_base_patch16_dinov3.lvd1689m) developed by Meta AI. - Dataset Attribution: Observation data sourced from the Global Biodiversity Information Facility (GBIF) and Western Australian Herbarium (FloraBase / DBCA).
- License: Released under Creative Commons Non-Commercial (CC BY-NC 4.0) for scientific and non-commercial research.
- Downloads last month
- -