/ Модель

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

Лицензия
Apache 2.0
Опубликована
17 июн 2024

effb2-trm-audiocaps-captioning

ЭмбеддингиТекст → embedding3 профессии

Компактная модель с энкодером EfficientNet-B2 и декодером Transformer для создания англоязычных текстовых описаний аудио.

1 842скачиваний за 30 дней2лайкавеса обновлены28 июл 2025

Бенчмарки

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

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

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

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

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

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

wsntxxn/effb2-trm-audiocaps-captioning — компактная модель для создания текстовых описаний звуков. Она использует энкодер EfficientNet-B2 и двухслойный декодер Transformer и обучена на AudioCaps и неразмеченных данных AudioSet. Модель предназначена для генерации англоязычных подписей к аудиозаписям; в метаданных Hugging Face указана задача feature-extraction, поэтому каталог классифицирует её как извлечение признаков.

Модель опубликована 17 июня 2024 года в форматах PyTorch и safetensors под лицензией Apache-2.0. README характеризует её как лёгкую, но не приводит оценок качества или конкретных ограничений.

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

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

Ограничения

README не приводит оценок качества или подробностей ограничений применения; модель обучена на AudioCaps и неразмеченных данных AudioSet, поэтому качество для иных типов аудио не установлено.

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

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

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

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

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

Открыть на Hugging Face

Hugging Face Spaces arXiv

Model Details

This is a lightweight audio captioning model, with an Efficient-B2 encoder and a two-layer Transformer decoder. The model is trained on AudioCaps and unlabeled AudioSet.

Dependencies

Install corresponding dependencies to run the model:

pip install numpy torch torchaudio einops transformers efficientnet_pytorch

Usage

import torch
from transformers import AutoModel, PreTrainedTokenizerFast
import torchaudio


device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

# use the model trained on AudioCaps
model = AutoModel.from_pretrained(
    "wsntxxn/effb2-trm-audiocaps-captioning",
    trust_remote_code=True
).to(device)
tokenizer = PreTrainedTokenizerFast.from_pretrained(
    "wsntxxn/audiocaps-simple-tokenizer"
)

# inference on a single audio clip
wav, sr = torchaudio.load("/path/to/file.wav")
wav = torchaudio.functional.resample(wav, sr, model.config.sample_rate)
if wav.size(0) > 1:
    wav = wav.mean(0).unsqueeze(0)
with torch.no_grad():
    word_idxs = model(
        audio=wav,
        audio_length=[wav.size(1)],
    )
caption = tokenizer.decode(word_idxs[0], skip_special_tokens=True)
print(caption)

# inference on a batch
wav1, sr1 = torchaudio.load("/path/to/file1.wav")
wav1 = torchaudio.functional.resample(wav1, sr1, model.config.sample_rate)
wav1 = wav1.mean(0) if wav1.size(0) > 1 else wav1[0]

wav2, sr2 = torchaudio.load("/path/to/file2.wav")
wav2 = torchaudio.functional.resample(wav2, sr2, model.config.sample_rate)
wav2 = wav2.mean(0) if wav2.size(0) > 1 else wav2[0]

wav_batch = torch.nn.utils.rnn.pad_sequence([wav1, wav2], batch_first=True)

with torch.no_grad():
    word_idxs = model(
        audio=wav_batch,
        audio_length=[wav1.size(0), wav2.size(0)],
    )
captions = tokenizer.batch_decode(word_idxs, skip_special_tokens=True)
print(captions)

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

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

GPU в ailist

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

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

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
Effb2TrmCaptioningModel
Ревизия весов
47c316d

0 моделей