/ Модель

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

Параметры
403 млн
Лицензия
Apache 2.0
Архитектура
wav2vec2 · dense

wav2vec2-xlsr-greek-speech-emotion-recognition

Распознавание речиАудио → текст3 профессии

Модель на wav2vec2 определяет эмоции в греческой речи по аудиозаписи.

96скачиваний за 30 дней17лайковвеса обновлены6 июл 2021

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание речи» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

m3hrdadfi/wav2vec2-xlsr-greek-speech-emotion-recognition — модель распознавания эмоций в греческой речи, построенная на архитектуре wav2vec2. В метаданных указано 402,7 млн параметров; доступны версии для PyTorch и Flax. Карточка приводит результаты оценки по классам эмоций, включая точность, полноту и F1 для гнева, отвращения и страха.

Модель принимает аудио и классифицирует эмоциональную окраску речи. Она предназначена для анализа греческих аудиозаписей, например для изучения эмоциональных реакций или разметки речи по эмоциям. В качестве датасета указан AESDD; язык карточки — греческий. Метаданные помечают модель задачей automatic-speech-recognition, однако архитектура и описание указывают на классификацию речи по эмоциям.

Модель распространяется по лицензии Apache-2.0. Результаты в README не описывают полноту оценки по всем классам, а качество за пределами указанного набора данных не подтверждено.

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

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

Ограничения

Опубликованные метрики в README приведены лишь для части классов, поэтому общую точность по всем эмоциям оценить нельзя. Результаты на других языках и аудиоданных не приведены.

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

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

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

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

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

Открыть на Hugging Face

Emotion Recognition in Greek (el) Speech using Wav2Vec 2.0

How to use

Requirements

# requirement packages
!pip install git+https://github.com/huggingface/datasets.git
!pip install git+https://github.com/huggingface/transformers.git
!pip install torchaudio
!pip install librosa

Prediction

import torch
import torch.nn as nn
import torch.nn.functional as F
import torchaudio
from transformers import AutoConfig, Wav2Vec2FeatureExtractor

import librosa
import IPython.display as ipd
import numpy as np
import pandas as pd
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model_name_or_path = "m3hrdadfi/wav2vec2-xlsr-greek-speech-emotion-recognition"
config = AutoConfig.from_pretrained(model_name_or_path)
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(model_name_or_path)
sampling_rate = feature_extractor.sampling_rate
model = Wav2Vec2ForSpeechClassification.from_pretrained(model_name_or_path).to(device)
def speech_file_to_array_fn(path, sampling_rate):
    speech_array, _sampling_rate = torchaudio.load(path)
    resampler = torchaudio.transforms.Resample(_sampling_rate)
    speech = resampler(speech_array).squeeze().numpy()
    return speech


def predict(path, sampling_rate):
    speech = speech_file_to_array_fn(path, sampling_rate)
    inputs = feature_extractor(speech, sampling_rate=sampling_rate, return_tensors="pt", padding=True)
    inputs = {key: inputs[key].to(device) for key in inputs}

    with torch.no_grad():
        logits = model(**inputs).logits

    scores = F.softmax(logits, dim=1).detach().cpu().numpy()[0]
    outputs = [{"Emotion": config.id2label[i], "Score": f"{round(score * 100, 3):.1f}%"} for i, score in enumerate(scores)]
    return outputs
path = "/path/to/disgust.wav"
outputs = predict(path, sampling_rate)
[
{'Emotion': 'anger', 'Score': '0.0%'},
{'Emotion': 'disgust', 'Score': '99.2%'},
{'Emotion': 'fear', 'Score': '0.1%'},
{'Emotion': 'happiness', 'Score': '0.3%'},
{'Emotion': 'sadness', 'Score': '0.5%'}
]

Evaluation

The following tables summarize the scores obtained by model overall and per each class.

Emotionsprecisionrecallf1-scoreaccuracy
anger0.921.000.96
disgust0.850.960.90
fear0.880.880.88
happiness0.940.710.81
sadness0.961.000.98
Overal0.91

Questions?

Post a Github issue from HERE.

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

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

GPU в ailist

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

Можно запустить

Подбираем GPU…

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

0 моделей