Inicio>Relacionado con la programación>Pitón

Compartimos con los puntos de control previamente capacitados de AIMV2 comunitario de capacidades variables, resoluciones previas al entrenamiento:

Instalación

Instale Pytorch utilizando las instrucciones de instalación oficiales. Después, instale el paquete como:

 pip install 'git+https://github.com/apple/ml-aim.git#subdirectory=aim-v1'
pip install 'git+https://github.com/apple/ml-aim.git#subdirectory=aim-v2'

También ofrecemos soporte de backend de MLX para la investigación y experimentación en el silicio de manzana. Para habilitar el soporte MLX, simplemente ejecute:

 pip install mlx

Ejemplos

Usando pytorch

 from PIL import Image

from aim . v2 . utils import load_pretrained
from aim . v1 . torch . data import val_transforms

img = Image . open (...)
model = load_pretrained ( "aimv2-large-patch14-336" , backend = "torch" )
transform = val_transforms ( img_size = 336 )

inp = transform ( img ). unsqueeze ( 0 )
features = model ( inp )

Usando MLX

 from PIL import Image
import mlx . core as mx

from aim . v2 . utils import load_pretrained
from aim . v1 . torch . data import val_transforms

img = Image . open (...)
model = load_pretrained ( "aimv2-large-patch14-336" , backend = "mlx" )
transform = val_transforms ( img_size = 336 )

inp = transform ( img ). unsqueeze ( 0 )
inp = mx . array ( inp . numpy ())
features = model ( inp )

Usando Jax

 from PIL import Image
import jax . numpy as jnp

from aim . v2 . utils import load_pretrained
from aim . v1 . torch . data import val_transforms

img = Image . open (...)
model , params = load_pretrained ( "aimv2-large-patch14-336" , backend = "jax" )
transform = val_transforms ( img_size = 336 )

inp = transform ( img ). unsqueeze ( 0 )
inp = jnp . array ( inp )
features = model . apply ({ "params" : params }, inp )

Puntos de control previamente capacitados

Se puede acceder a los modelos previamente capacitados a través de Huggingface Hub como:

 from PIL import Image
from transformers import AutoImageProcessor , AutoModel

image = Image . open (...)
processor = AutoImageProcessor . from_pretrained ( "apple/aimv2-large-patch14-336" )
model = AutoModel . from_pretrained ( "apple/aimv2-large-patch14-336" , trust_remote_code = True )

inputs = processor ( images = image , return_tensors = "pt" )
outputs = model ( ** inputs )

AIMV2 con 224px

modelo_id #params In-1k Enlace HF Columna vertebral
AIMV2-LARGE-PATCH14-224 0.3b 86.6 ?enlace enlace
AIMV2-Huge-Patch14-224 0.6b 87.5 ?enlace enlace
AIMV2-1B-Patch14-224 1.2b 88.1 ?enlace enlace
AIMV2-3B-PATCH14-224 2.7b 88.5 ?enlace enlace

AIMV2 con 336px

modelo_id #params In-1k Enlace HF Columna vertebral
AIMV2-LARGE-PATCH14-336 0.3b 87.6 ?enlace enlace
AIMV2-Huge-Patch14-336 0.6b 88.2 ?enlace enlace
AIMV2-1B-Patch14-336 1.2b 88.7 ?enlace enlace
AIMV2-3B-PATCH14-336 2.7b 89.2 ?enlace enlace

AIMV2 con 448px

modelo_id #params In-1k Enlace HF Columna vertebral
AIMV2-LARGE-PATCH14-448 0.3b 87.9 ?enlace enlace
AIMV2-Huge-Patch14-448 0.6b 88.6 ?enlace enlace
AIMV2-1B-Patch14-448 1.2b 89.0 ?enlace enlace
AIMV2-3B-PATCH14-448 2.7b 89.5 ?enlace enlace

AIMV2 con resolución nativa

Además, proporcionamos un punto de control AIMV2-L que está mejorado para procesar una amplia gama de resoluciones de imágenes y relaciones de aspecto. Independientemente de la relación de aspecto, la imagen está parcheada (Patch_Size = 14) y se agrega una incrustación posicional 2D sinusoidal a los parches de entrada proyectados linealmente. Este punto de control admite el número de parches en el rango de [112, 4096] .

modelo_id #params In-1k Enlace HF Columna vertebral
AIMV2-LARGE-PATCH14-NATIVO 0.3b 87.3 ?enlace enlace

AIMV2 destilado VIT-Large

Proporcionamos un punto de control AIMV2-L destilado de AIMV2-3B que proporciona un rendimiento notable para los puntos de referencia de comprensión multimodal.

Modelo VQAV2 GQA Okvqa Textvqa Docvqa Infovqa Chartqa Sciqa Mmep
AIMV2-L 80.2 72.6 60.9 53.9 26.8 22.4 20.3 74.5 1457
AIMV2-L-Distillado 81.1 73.0 61.4 53.5 29.2 23.3 24.0 76.3 1627
modelo_id #params Res. Enlace HF Columna vertebral
AIMV2-LARGE-PATCH14-224 Distillado 0.3b 224px ?enlace enlace
AIMV2-LARGE-PATCH14-336 Distillado 0.3b 336px ?enlace enlace

AIMV2 adaptado a cero disparo

Proporcionamos los codificadores de visión y texto AIMV2-L después de un ajuste iluminado para habilitar el reconocimiento de disparo cero.

modelo #params cero-shot in1-k Columna vertebral
AIMV2-L 0.3b 77.0 enlace

Citación

Si encuentra útil nuestro trabajo, considere citarnos como:

AIMV2 BIBTEX

 @misc { fini2024multimodal ,
    title = { Multimodal Autoregressive Pre-training of Large Vision Encoders } ,
    author = { Enrico Fini and Mustafa Shukor and Xiujun Li and Philipp Dufter and Michal Klein and David Haldimann and Sai Aitharaju and Victor Guilherme Turrisi da Costa and Louis Béthune and Zhe Gan and Alexander T Toshev and Marcin Eichner and Moin Nabi and Yinfei Yang and Joshua M. Susskind and Alaaeldin El-Nouby } ,
    year = { 2024 } ,
    eprint = { 2411.14402 } ,
    archivePrefix = { arXiv } ,
    primaryClass = { cs.CV }
}

AIMV1 BIBTEX

 @InProceedings { pmlr-v235-el-nouby24a ,
  title     = { Scalable Pre-training of Large Autoregressive Image Models } ,
  author    = { El-Nouby, Alaaeldin and Klein, Michal and Zhai, Shuangfei and Bautista, Miguel '{A}ngel and Shankar, Vaishaal and Toshev, Alexander T and Susskind, Joshua M. and Joulin, Armand } ,
  booktitle = { Proceedings of the 41st International Conference on Machine Learning } ,
  pages     = { 12371--12384 } ,
  year      = { 2024 } ,
}

Licencia

Consulte la licencia de repositorio antes de usar el código y los modelos proporcionados.

Expandir
Información adicional