๐ AIMv2 Vision Models
The AIMv2 family of vision models pre - trained with a multimodal autoregressive objective, offering high - performance in various vision tasks.
๐ Quick Start
The AIMv2 family of vision models is pre - trained with a multimodal autoregressive objective. The pre - training process is simple, straightforward, and effective for training and scaling.
[AIMv2 Paper
] [BibTeX
]
Some key highlights of AIMv2 include:
- Outperforms OAI CLIP and SigLIP on the majority of multimodal understanding benchmarks.
- Outperforms DINOv2 on open - vocabulary object detection and referring expression comprehension.
- Exhibits strong recognition performance with AIMv2 - 3B achieving 89.5% on ImageNet using a frozen trunk.
โจ Features
- Multimodal Autoregressive Pre - training: Enables effective learning across different modalities.
- High - Performance: Achieves state - of - the - art results on multiple benchmarks.
- Scalability: Can be easily trained and scaled.
๐ฆ Installation
No explicit installation steps are provided in the original document, so this section is skipped.
๐ป Usage Examples
Basic Usage
PyTorch
import requests
from PIL import Image
from transformers import AutoImageProcessor, AutoModel
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
processor = AutoImageProcessor.from_pretrained(
"apple/aimv2-large-patch14-336-distilled",
)
model = AutoModel.from_pretrained(
"apple/aimv2-large-patch14-336-distilled",
trust_remote_code=True,
)
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
JAX
import requests
from PIL import Image
from transformers import AutoImageProcessor, FlaxAutoModel
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
processor = AutoImageProcessor.from_pretrained(
"apple/aimv2-large-patch14-336-distilled",
)
model = FlaxAutoModel.from_pretrained(
"apple/aimv2-large-patch14-336-distilled",
trust_remote_code=True,
)
inputs = processor(images=image, return_tensors="jax")
outputs = model(**inputs)
๐ Documentation
Property |
Details |
Library Name |
transformers |
License |
apple - amlr |
Metrics |
accuracy |
Pipeline Tag |
image - feature - extraction |
Tags |
vision, image - feature - extraction, mlx, pytorch |
๐ License
The project uses the apple - amlr
license.
๐ Citation
If you find our work useful, please consider citing us as:
@misc{fini2024multimodalautoregressivepretraininglarge,
author = {Fini, Enrico and Shukor, Mustafa and Li, Xiujun and Dufter, Philipp and Klein, Michal and Haldimann, David and Aitharaju, Sai and da Costa, Victor Guilherme Turrisi and Bรฉthune, Louis and Gan, Zhe and Toshev, Alexander T and Eichner, Marcin and Nabi, Moin and Yang, Yinfei and Susskind, Joshua M. and El - Nouby, Alaaeldin},
url = {https://arxiv.org/abs/2411.14402},
eprint = {2411.14402},
eprintclass = {cs.CV},
eprinttype = {arXiv},
title = {Multimodal Autoregressive Pre - training of Large Vision Encoders},
year = {2024},
}