Главная страница>Связанные с программированием>Питон

Мы делимся с сообществом AIMV2, предварительно обученными контрольно-пропускными пунктами, резолюции перед тренировкой:

Установка

Пожалуйста, установите Pytorch, используя официальные инструкции по установке. После этого установите пакет как:

 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'

Мы также предлагаем поддержку MLX для исследований и экспериментов на Apple Silicon. Чтобы включить поддержку MLX, просто запустите:

 pip install mlx

Примеры

Использование 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 )

Используя 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 )

Используя 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 )

Предварительно обученные контрольно-пропускные пункты

Предварительно обученные модели можно получить через Hub Huggingface как:

 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 с 224PX

model_id #Парамы В 1K Ссылка HF Магистраль
AIMV2-Large-Patch14-224 0,3B 86.6 ?связь связь
AIMV2-Huge-Patch14-224 0,6B 87.5 ?связь связь
AIMV2-1B-PATCH14-224 1.2b 88.1 ?связь связь
AIMV2-3B-PATCH14-224 2.7b 88.5 ?связь связь

AIMV2 с 336px

model_id #Парамы В 1K Ссылка HF Магистраль
AIMV2-Large-Patch14-336 0,3B 87.6 ?связь связь
AIMV2-Huge-Patch14-336 0,6B 88.2 ?связь связь
AIMV2-1B-PATCH14-336 1.2b 88.7 ?связь связь
AIMV2-3B-PATCH14-336 2.7b 89,2 ?связь связь

AIMV2 с 448PX

model_id #Парамы В 1K Ссылка HF Магистраль
AIMV2-Large-Patch14-448 0,3B 87.9 ?связь связь
AIMV2-Huge-Patch14-448 0,6B 88.6 ?связь связь
AIMV2-1B-PATCH14-448 1.2b 89,0 ?связь связь
AIMV2-3B-PATCH14-448 2.7b 89,5 ?связь связь

AIMV2 с местным разрешением

Мы дополнительно предоставляем контрольную точку AIMV2-L, которая создана для обработки широкого спектра разрешений и соотношений с аспектами. Независимо от соотношения сторон, изображение пчелотируется (patch_size = 14), а 2D -синусоидальное позиционное встраивание добавляется в линейно -проецируемые входные пятна. Эта контрольная точка поддерживает количество патчей в диапазоне [112, 4096] .

model_id #Парамы В 1K Ссылка HF Магистраль
AIMV2-LARGE-PATCH14-CNITION 0,3B 87.3 ?связь связь

AIMV2 дистиллированная Vit-Large

Мы предоставляем контрольную точку AIMV2-L, дистиллированную от AIMV2-3B, которая обеспечивает замечательную производительность для многомодальных показателей понимания.

Модель 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-Distiled 81.1 73,0 61.4 53,5 29.2 23.3 24.0 76.3 1627
model_id #Парамы Резерв Ссылка HF Магистраль
AIMV2-LARGE-PATCH14-224-DISTILLILLE 0,3B 224px ?связь связь
AIMV2-LARGE-PATCH14-336-DISTILLILL 0,3B 336px ?связь связь

Адаптированный AIMV2 с нулевым выстрелом

Мы предоставляем видение AIMV2-L и текстовые кодеры после освещенной настройки, чтобы обеспечить распознавание с нулевым выстрелом.

модель #Парамы нулевой выстрел в 1-K Магистраль
AIMV2-L 0,3B 77.0 связь

Цитирование

Если вы найдете нашу работу полезной, пожалуйста, рассмотрите возможность ссылаться на нас как:

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 } ,
}

Лицензия

Пожалуйста, ознакомьтесь с лицензией хранилища перед использованием предоставленного кода и моделей.

Расширять
Дополнительная информация