/ Модель

Характеристики

Контекст
77 токенов
Лицензия
Apache 2.0
Библиотека
open_clip
Опубликована
22 июл 2025

PE-Core-B-16

Классификация изображений без дообученияИзображение, текст → label8 профессий

PE-Core-B-16 — модель Meta на основе OpenCLIP для классификации изображений по текстовым меткам и поиска по визуально-текстовым признакам.

13 167скачиваний за 30 дней0лайковвеса обновлены24 июл 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

PE-Core-B-16 — модель семейства Perception Encoder, разработанного Meta для понимания изображений и видео. Этот репозиторий содержит версию исходных весов, преобразованную для OpenCLIP; модель использует совместно обученные визуальный и текстовый энкодеры для сопоставления изображений и текста.

Модель предназначена для классификации изображений по текстовым меткам без дополнительного обучения, а также для извлечения признаков и поиска по изображениям и текстовым запросам. Визуальный ViT-B/16 содержит около 90 млн параметров, обрабатывает изображения с разрешением 224 пикселя и использует attention pooling; текстовая башня имеет 310 млн параметров и контекст 32 токена. Общий размер проекции CLIP — 1024. В карточке отмечены результаты на задачах классификации и поиска изображений и видео.

Модель доступна в форматах PyTorch и safetensors через библиотеку OpenCLIP. Лицензия — Apache-2.0. Она предназначена для извлечения визуально-текстовых признаков и оценки соответствия изображения текстовым описаниям; текстовый контекст ограничен 32 токенами, а входное разрешение — 224 пикселями.

Сценарии применения

  • классификация изображений по пользовательским текстовым категориям
  • поиск изображений по текстовому запросу
  • поиск текстовых описаний, соответствующих изображению
  • извлечение признаков изображений и текста для последующего анализа
  • классификация видео по текстовым категориям

Ограничения

Текстовый контекст ограничен 32 токенами, а рекомендуемое разрешение изображений для этой конфигурации составляет 224 пикселя. Модель предназначена для визуально-текстового сопоставления и не является универсальным генеративным чат-ассистентом.

Для каких профессий подходит8

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Model card for PE-Core-B-16

This is an OpenCLIP (image + text) remaped version of the the original

[📃 Tech Report] [📂 PE Github (original weights)] [📂 OpenCLIP Github (these weights)]

Perception Encoder (PE) is a state-of-the-art encoder for image and video understanding trained via simple vision-language learning. It was introduced in "Perception Encoder: The best visual embeddings are not at the output of the network".

Model Developer: Meta

Model Overview: Perception Encoder (PE) is a family of large-scale vision encoder models with state-of-the-art performance on a large variety of vision tasks. By using a robust contrastive pretraining recipe and finetuning on synthetically aligned videos, PE not only outperforms all existing models on classification and retrieval, but it also internally produces strong, general features that scale for downstream tasks. PE unlocks the ability for large-scale contrastive pretraining to transfer to downstream tasks with alignment tuning to capitalize on those general features.

Perception Encoder: Core

PE core is our base model trained with our robust image pretraining schedule and finetuned on the data generated by our synthetic video data engine.

Model Configurations

PE core curently comes in 3 sizes. PE core G is the main checkpoint, with L and B models distilled from it.

ScaleTowerParamsWidthDepthMLPHeadsCLIP DimResolution / Context Len
B/16Vision0.09B768123072121024224px
Text0.31B102424409616102432 tokens
L/14Vision0.32B1024244096161024336px
Text0.31B102424409616102432 tokens
G/14Vision1.88B1536508960161280448px
Text0.47B128024512020128072 tokens

All PE core models use an attention pooling block with 8 heads on top of the vision tower. The L and B models additionally have a class token for global aggregation. See the paper for more details.

Model Performance

PE core obtains extremely strong results across the board on zero-shot image classification and retrieval as well as zero-shot video classification and retrieval. We present a sample of its performance across those domains below.

ModelCheckpointIN-1kIN-v2IN-AObjectNetCOCO-T2IKinetics-400VTT-T2I
T/16 384pxPE-Core-T-16-38462.154.721.143.933.041.528.8
S/16 384pxPE-Core-S-16-38472.765.049.560.042.655.039.3
B/16 224pxPE-Core-B-1678.471.762.471.950.965.647.6
L/14 336pxPE-Core-L-14-33683.577.989.084.757.173.450.3
G/14 448pxPE-Core-bigG-14-44885.480.292.688.258.176.951.2

PE core performs particularly well on the hard benchmarks such as ObjectNet and ImageNet-A.

How to use

Image and Text Feature extraction with a Trained Model

import torch
from urllib.request import urlopen
from PIL import Image
import open_clip

model_id = 'hf-hub:timm/PE-Core-B-16'
model, _, preprocess = open_clip.create_model_and_transforms(model_id)
tokenizer = open_clip.get_tokenizer(model_id)

image = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))
image = preprocess(image).unsqueeze(0)

labels_list = ["a dog", "a cat", "a donut", "a beignet"]
text = tokenizer(labels_list, context_length=model.context_length)

with torch.no_grad(), torch.cuda.amp.autocast():
    image_features = model.encode_image(image, normalize=True)
    text_features = model.encode_text(text, normalize=True)
    text_probs = (100.0 * image_features @ text_features.T).softmax(dim=-1)

zipped_list = list(zip(labels_list, [100 * round(p.item(), 3) for p in text_probs[0]]))
print("Label probabilities: ", zipped_list)

You can find more details in the original GitHub repo and the OpenCLIP repo.

Citation

If you find our code useful for your research, please consider citing:

@article{bolya2025PerceptionEncoder,
  title={Perception Encoder: The best visual embeddings are not at the output of the network},
  author={Daniel Bolya and Po-Yao Huang and Peize Sun and Jang Hyun Cho and Andrea Madotto and Chen Wei and Tengyu Ma and Jiale Zhi and Jathushan Rajasegaran and Hanoona Rasheed and Junke Wang and Marco Monteiro and Hu Xu and Shiyu Dong and Nikhila Ravi and Daniel Li and Piotr Doll{\'a}r and Christoph Feichtenhofer},
  journal={arXiv},
  year={2025}
}

@article{cho2025PerceptionLM,
  title={PerceptionLM: Open-Access Data and Models for Detailed Visual Understanding},
  author={Jang Hyun Cho and Andrea Madotto and Effrosyni Mavroudi and Triantafyllos Afouras and Tushar Nagarajan and Muhammad Maaz and Yale Song and Tengyu Ma and Shuming Hu and Hanoona Rasheed and Peize Sun and Po-Yao Huang and Daniel Bolya and Suyog Jain and Miguel Martin and Huiyu Wang and Nikhila Ravi and Shashank Jain and Temmy Stark and Shane Moon and Babak Damavandi and Vivian Lee and Andrew Westbury and Salman Khan and Philipp Kr\"{a}henb\"{u}hl and Piotr Doll{\'a}r and Lorenzo Torresani and Kristen Grauman and Christoph Feichtenhofer},
  journal={arXiv},
  year={2025}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · open_clip

Нельзя запустить

Модели OpenCLIP требуют отдельного рантайма.

Ревизия весов
0038414

0 моделей