/ Модель

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

Параметры
545 млн
Лицензия
Apache 2.0
Архитектура
siglip_vision_model · dense
Базовая модель
siglip-so400m-patch14-384
Опубликована
3 фев 2024

siglip-tagger-test-3

Классификация изображенийИзображение → label3 профессии

Экспериментальная SigLIP-модель для присвоения изображениям общих тегов Danbooru.

65скачиваний за 30 дней12лайковвеса обновлены15 фев 2024

Бенчмарки

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

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

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

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

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

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

p1atdev/siglip-tagger-test-3 — экспериментальная модель классификации изображений, дообученная разработчиком p1atdev на базе Google SigLIP SoViT-400m. Она предсказывает теги Danbooru по изображению и возвращает подходящие метки с оценками уверенности; можно задать порог, чтобы отфильтровать результаты. Модель содержит около 544,9 млн параметров и распространяется в формате Safetensors. Для обучения использованы 5000 изображений Danbooru и 9517 общих тегов; теги персонажей и рейтинга не включены.

Модель подходит для автоматического тегирования иллюстраций и поиска изображений по тегам. Автор отмечает экспериментальный характер модели и не рекомендует использовать её в производственной среде; в README приведены низкие значения loss и accuracy на оценочной выборке, поэтому качество предсказаний следует проверять на целевых данных. Лицензия — Apache-2.0.

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

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

Ограничения

Автор не рекомендует модель для производственного использования; в README указаны низкие loss и accuracy на оценочной выборке. Она предсказывает только общие теги и не включает теги персонажей и рейтинга.

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

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

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

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

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

Открыть на Hugging Face

siglip-tagger-test-3

This model is a fine-tuned version of google/siglip-so400m-patch14-384 on an unknown dataset. It achieves the following results on the evaluation set:

  • Loss: 692.4745
  • Accuracy: 0.3465
  • F1: 0.9969

Model description

This model is an experimental model that predicts danbooru tags of images.

Example

Use a pipeline

from transformers import pipeline

pipe = pipeline("image-classification", model="p1atdev/siglip-tagger-test-3", trust_remote_code=True)
pipe(
  "image.jpg", # takes str(path) or numpy array or PIL images as input
  threshold=0.5, #optional parameter defaults to 0
  return_scores = False #optional parameter defaults to False
)
  • threshold: confidence intervale, if it's specified, the pipeline will only return tags with a confidence >= threshold
  • return_scores: if specified the pipeline will return the labels and their confidences in a dictionary format.

Load model directly

from PIL import Image
import torch

from transformers import (
    AutoModelForImageClassification,
    AutoImageProcessor,
)

import numpy as np

MODEL_NAME = "p1atdev/siglip-tagger-test-3"

model = AutoModelForImageClassification.from_pretrained(
    MODEL_NAME, torch_dtype=torch.bfloat16, trust_remote_code=True
)
model.eval()
processor = AutoImageProcessor.from_pretrained(MODEL_NAME)

image = Image.open("sample.jpg") # load your image

inputs = processor(image, return_tensors="pt").to(model.device, model.dtype)

logits = model(**inputs).logits.detach().cpu().float()[0]
logits = np.clip(logits, 0.0, 1.0)

results = {
    model.config.id2label[i]: logit for i, logit in enumerate(logits) if logit > 0
}
results = sorted(results.items(), key=lambda x: x[1], reverse=True)

for tag, score in results:
    print(f"{tag}: {score*100:.2f}%")

Intended uses & limitations

This model is for research use only and is not recommended for production.

Please use wd-v1-4-tagger series by SmilingWolf:

etc.

Training and evaluation data

High quality 5000 images from danbooru. They were shuffled and split into train:eval at 4500:500. (Same as p1atdev/siglip-tagger-test-2)

NameDescription
Images count5000
Supported tags9517 general tags. Character and rating tags are not included. See all labels in config.json
Image rating4000 for general and 1000 for sensitive,questionable,explicit
Copyright tagsoriginal only
Image score range (on search)min:10, max150

Training procedure

  • Loss function: AsymmetricLossOptimized (Asymmetric Loss)
    • gamma_neg=4, gamma_pos=1, clip=0.05, eps=1e-8, disable_torch_grad_focal_loss=False

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 0.0001
  • train_batch_size: 64
  • eval_batch_size: 32
  • seed: 42
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: cosine
  • lr_scheduler_warmup_steps: 10
  • num_epochs: 50

Training results

Training LossEpochStepValidation LossAccuracyF1
1066.9811.0711873.54170.14120.9939
547.31582.0142934.32690.19040.9964
534.69423.0213814.07710.21700.9966
414.12784.0284774.02300.23980.9967
365.49945.0355751.20460.24590.9967
352.36636.0426735.65800.26100.9967
414.39767.0497723.20650.26840.9968
350.82018.0568714.04530.27880.9968
364.50169.0639706.52610.28900.9968
309.118410.0710700.78080.29330.9968
288.518611.0781695.70270.30080.9968
287.445212.0852691.53060.30370.9968
280.908813.0923688.80630.30840.9969
296.838914.0994686.10770.31320.9968
265.146715.01065683.73820.31670.9969
268.526316.01136682.16830.32060.9969
309.787117.01207681.19950.31990.9969
307.647518.01278680.17000.32300.9969
262.067719.01349679.21770.32700.9969
275.382320.01420678.97300.32940.9969
273.98421.01491678.60310.33180.9969
273.536122.01562678.12850.33320.9969
279.647423.01633678.42640.33480.9969
232.504524.01704678.37730.33570.9969
269.62125.01775678.49220.33720.9969
289.838926.01846679.00940.33970.9969
256.737327.01917679.56180.34070.9969
262.396928.01988680.11680.34140.9969
266.243929.02059681.01010.34210.9969
247.793230.02130681.98000.34220.9969
246.808331.02201682.85500.34160.9969
270.82732.02272683.92500.34340.9969
256.438433.02343685.04510.34480.9969
270.46134.02414686.24270.34390.9969
253.810435.02485687.42740.34410.9969
265.53236.02556688.48560.34510.9969
249.142637.02627689.50270.34570.9969
229.565138.02698690.44550.34550.9969
251.900839.02769691.23240.34630.9969
281.822840.02840691.79930.34640.9969
242.527241.02911692.17880.34650.9969
229.560542.02982692.37990.34650.9969
245.087643.03053692.47450.34650.9969
271.2244.03124692.50840.34650.9969
244.304545.03195692.51080.34650.9969
243.954246.03266692.51280.34650.9969
274.666447.03337692.50950.34650.9969
231.136148.03408692.51070.34650.9969
274.551349.03479692.51080.34650.9969
316.083350.03550692.51070.34650.9969

Framework versions

  • Transformers 4.37.2
  • Pytorch 2.1.2+cu118
  • Datasets 2.16.1
  • Tokenizers 0.15.0

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

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

GPU в ailist

Универсальный рантайм · image-classification

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

Для архитектуры siglip_vision_model нет загрузчика под задачу image-classification.

Класс архитектуры
SiglipForImageClassification
Ревизия весов
eb6a0b5

0 моделей