lepinet-models: the phone-app bundles
This repo is the runtime model store for the lepinet web app. The app fetches these folders directly from here in the browser, so the paths are stable and should not be moved.
Looking for a model to use in your own code? Use one of the general-purpose releases instead. They have full model cards, coherent species/genus/family probabilities and a 10-line
onnxruntimeexample:
gmougeot/lepinet-bioclip2-vitl14: the most accurate and the best-calibrated (also loads with transformers).gmougeot/lepinet-effnetv2s: about 2 points behind it at 1/9 of the size, fast on CPU.gmougeot/lepinet-dinov3-convnextl: mid-size (217 M), close behind on accuracy, less reliable confidence; DINOv3 License.
Bundles
| folder | model | size | notes |
|---|---|---|---|
b0-fp16/ |
EfficientNetV2-B0, distilled from an EfficientNetV2-S teacher | 30 MB | the app's default; species macro-F1 0.879 on the GBIF test fold |
effnetv2b2-v1/ |
EfficientNetV2-B2, 256-d bottleneck | 54 MB | the original v1 app model, with calibration and thresholds |
Each folder is a lepinet-app bundle: config.json (the manifest), model.onnx, taxonomy.json (GBIF
keys in logit order, plus parent indices) and names.json, with optional calibration.json and
thresholds.json. The input is RGB float32 in [0, 1], NCHW, 256×256, with normalisation baked into
the graph. The bundle format is specified in the app's
DEVELOPER.md.
Trained on GBIF Lepidoptera images (12,041 species, 4,333 genera, 102 families). The code is at GuillaumeMougeot/lepinet. Not for conservation, pest or toxicity decisions: predictions can be wrong.