BioCLIP 2

Larger successor to BioCLIP, trained on 214M organism images, for zero-shot species classification from a list of taxon names.

  • Foundation
  • Classification
  • Embedding
  • ViT-L/14 (CLIP)
  • open vocabulary
  • input: image, text

3 assets

Format: Safetensors, PyTorch

Larger successor to BioCLIP, trained on 214M organism images, for zero-shot species classification from a list of taxon names.

Intended use. Like BioCLIP, BioCLIP 2 classifies an image of a single organism against a list of taxon names you supply, with no training, and works as an image encoder for few-shot or fine-tuned classifiers. It is larger and trained on twenty times more images, and is markedly more accurate on insects; the cost is a 1.7 GB model that is slower to run. It does not find insects in an image: pair it with a detector such as FlatBug or ArthroNat and classify the crops.

Architecture and training

  • Architecture: CLIP, ViT-L/14 image encoder with a text encoder, trained from LAION-2B CLIP ViT-L/14 with OpenCLIP
  • Trained on: TreeOfLife-200M, about 214M images of 952k taxa from GBIF, EOL, BIOSCAN-5M and FathomNet, plus 26M LAION-2B images replayed so the model keeps its general knowledge
  • Objective: the same hierarchical contrastive training as BioCLIP, at larger scale
  • Framework: open_clip

Inputs and outputs

  • Input: one RGB image, resized to 224x224, with the CLIP mean and std (open_clip builds this preprocessing for you); and, for zero-shot use, a list of text labels
  • Outputs: a 768-dimensional image embedding; with text labels, a similarity score per label, whose top entry is the predicted taxon

Performance

Zero-shot top-1 accuracy (%), as reported on the upstream card and in the paper:

Evaluation setBioCLIP 2BioCLIPCLIP ViT-L/14
Meta-Album Insects55.334.99.0
Meta-Album Insects 227.720.511.7
Mean over 10 species tasks55.637.625.5

Few-shot results, and results on tasks beyond species classification, are in the paper.

Limitations

  • Classifies, does not detect. At 224x224 an insect in a field photograph or trap image covers a few pixels. Crop to one specimen first.
  • Better, not solved. About one in two correct zero-shot on Meta-Album Insects, and about one in four on Insects 2. Treat predictions as candidates for an expert to check, and evaluate on your own images before relying on it.
  • Only as good as the label list. Zero-shot picks the best match among the names you give; a taxon missing from the list cannot be predicted, and the model will still name something.
  • Biased towards common taxa. TreeOfLife-200M is long-tailed, so predictions lean towards well-photographed species, as the authors note.
  • Heavier than BioCLIP. Around 1.7 GB of weights; a GPU helps for large image sets.
  • Performance on light traps, sticky traps or night camera traps is not reported.

License and rights

How to obtain the weights

From Hugging Face, pinned to commit 2957b322. Public, no authentication required. The same weights are published twice, as Safetensors and as a PyTorch file, each about 1.7 GB; open_clip downloads what it needs with the config and tokenizer:

import open_clip

repo = "hf-hub:imageomics/bioclip-2"
model, _, preprocess = open_clip.create_model_and_transforms(repo)
tokenizer = open_clip.get_tokenizer(repo)

This loads the latest revision; the files above are pinned to the curated one.

Citation

@inproceedings{gu2025bioclip2,
  title     = {{B}io{CLIP} 2: Emergent Properties from Scaling Hierarchical Contrastive Learning},
  author    = {Gu, Jianyang and Stevens, Sam and Campolongo, Elizabeth and Thompson, Matthew and Zhang, Net and Wu, Jiaman and Kopanev, Andrei and Mai, Zheda and White, Alexander and Balhoff, James and Dahdul, Wasila and Rubenstein, Daniel and Lapp, Hilmar and Berger-Wolf, Tanya and Chao, Wei-Lun and Su, Yu},
  booktitle = {Advances in Neural Information Processing Systems},
  volume    = {38},
  pages     = {102778--102811},
  year      = {2025}
}