plantain2asr
Фреймворк для бенчмаркинга и анализа русскоязычных ASR-моделей.
plantain2asr построен вокруг оператора >>: вы загружаете датасет и прогоняете его через модели,
нормализаторы и метрики -- каждый шаг создаёт новое представление, ничего не мутируется.
Интерфейс >>
from plantain2asr import GolosDataset, Models, SimpleNormalizer, Metrics
ds = GolosDataset("data/golos")
ds >> Models.GigaAM_v3() # запустить инференс, результаты кешируются
ds >> Models.Whisper() # запустить ещё одну модель на тех же данных
norm = ds >> SimpleNormalizer() # нормализовать эталоны и гипотезы
norm >> Metrics.composite() # посчитать WER, CER, MER, Accuracy, ...
df = norm.to_pandas()
print(df.groupby("model")[["WER", "CER"]].mean().sort_values("WER"))
Каждый >> возвращает датасет с новым слоем результатов.
Можно ветвить, фильтровать и рекомбинировать в любой точке.
Что даёт plantain2asr
- Пайплайн
>>: dataset >> model >> normalizer >> metric >> report - Локальные и облачные ASR-модели под единым интерфейсом
- Автоматический выбор устройства (CUDA / MPS / CPU) там, где это поддерживается
- Иммутабельные представления датасета вместо мутаций "на месте"
- Встроенные нормализаторы, метрики, отчёты, анализ и бенчмарки
- Обёртка
Experimentдля типовых исследовательских сценариев - Модульную архитектуру для своих моделей, метрик и вкладок отчёта
Установка
Логика выбора устройства: сначала CUDA, затем MPS, затем CPU, если backend это поддерживает.
Ментальная модель
graph LR
A["ds = GolosDataset(...)"] -->|>>| B["Models.GigaAM_v3()"]
A -->|>>| B2["Models.Whisper()"]
B --> C[">> SimpleNormalizer()"]
B2 --> C
C -->|>>| D["Metrics.composite()"]
D --> E["to_pandas() / ReportServer / CSV"]
Каждый блок -- шаг >>. Компонуйте как нужно.
Поддерживаемые семейства моделей
| Семейство | Типичный вызов | Extra | Устройство |
|---|---|---|---|
| GigaAM v3 | Models.GigaAM_v3() |
gigaam |
CUDA / MPS / CPU |
| GigaAM v2 | Models.GigaAM_v2() |
gigaam |
CUDA / MPS / CPU |
| Whisper | Models.Whisper() |
whisper |
CUDA / MPS / CPU |
| T-one | Models.Tone() |
tone + source archive T-One |
CUDA / CPU |
| Vosk | Models.Vosk(...) |
vosk |
CPU |
| Canary | Models.Canary() |
canary |
CUDA |
| SaluteSpeech | Models.SaluteSpeech() |
none | облако |
Если вы заходите впервые
- Идите в Интерактивный конструктор, чтобы собрать цепочку
>>и сразу увидеть код. - Идите в Быстрый старт для полного пошагового примера.
- Идите в Справочник API, если вы уже знаете, какой блок вам нужен.
- Идите в Расширение, если хотите добавить свои компоненты.