aac_metrics.classes package¶
- class BERTScoreMRefs(
- return_all_scores: bool = True,
- *,
- model: str | Module = 'roberta-large',
- device: str | device | None = 'cuda_if_available',
- batch_size: int | None = 32,
- num_threads: int = 0,
- max_length: int = 64,
- reset_state: bool = True,
- idf: bool = False,
- reduction: Literal['mean', 'max', 'min'] | Callable[[...], Tensor] = 'max',
- filter_nan: bool = True,
- verbose: int = 0,
Bases:
AACMetric[tuple[BERTScoreMRefsScores,BERTScoreMRefsScores] |Tensor]BERTScore metric which supports multiple references.
The implementation is based on the bert_score implementation of torchmetrics.
For more information, see
bert_score_mrefs().- compute() tuple[BERTScoreMRefsScores, BERTScoreMRefsScores] | Tensor[source]¶
- class BLEU(return_all_scores: bool = True, *, n: int = 4, option: ~typing.Literal['shortest', 'average', 'closest'] = 'closest', verbose: int = 0, tokenizer: ~typing.Callable[[str], list[str]] = <method 'split' of 'str' objects>)[source]¶
Bases:
AACMetric[tuple[dict[str,Tensor],dict[str,Tensor]] |Tensor]BiLingual Evaluation Understudy metric class.
For more information, see
bleu().
- class BLEU1(return_all_scores: bool = True, option: ~typing.Literal['shortest', 'average', 'closest'] = 'closest', verbose: int = 0, tokenizer: ~typing.Callable[[str], list[str]] = <method 'split' of 'str' objects>)[source]¶
Bases:
BLEU
- class BLEU2(return_all_scores: bool = True, option: ~typing.Literal['shortest', 'average', 'closest'] = 'closest', verbose: int = 0, tokenizer: ~typing.Callable[[str], list[str]] = <method 'split' of 'str' objects>)[source]¶
Bases:
BLEU
- class BLEU3(return_all_scores: bool = True, option: ~typing.Literal['shortest', 'average', 'closest'] = 'closest', verbose: int = 0, tokenizer: ~typing.Callable[[str], list[str]] = <method 'split' of 'str' objects>)[source]¶
Bases:
BLEU
- class BLEU4(return_all_scores: bool = True, option: ~typing.Literal['shortest', 'average', 'closest'] = 'closest', verbose: int = 0, tokenizer: ~typing.Callable[[str], list[str]] = <method 'split' of 'str' objects>)[source]¶
Bases:
BLEU
- class CIDErD(return_all_scores: bool = True, *, n: int = 4, sigma: float = 6.0, tokenizer: ~typing.Callable[[str], list[str]] = <method 'split' of 'str' objects>, return_tfidf: bool = False, scale: float = 10.0)[source]¶
Bases:
AACMetric[tuple[CIDErDScores,CIDErDScores] |Tensor]Consensus-based Image Description Evaluation metric class.
For more information, see
cider_d().- compute() tuple[CIDErDScores, CIDErDScores] | Tensor[source]¶
- class CLAPSim(
- return_all_scores: bool = True,
- *,
- clap_method: Literal['audio', 'text'] = 'text',
- clap_model: str | CLAPWrapper = 'MS-CLAP-2023',
- device: str | device | None = 'cuda_if_available',
- batch_size: int | None = 32,
- reset_state: bool = True,
- seed: int | None = 42,
- verbose: int = 0,
Bases:
AACMetric[tuple[CLAPScores,CLAPScores] |Tensor]Cosine-similarity of the Contrastive Language-Audio Pretraining (CLAP) embeddings.
The implementation is based on the msclap pypi package. Note: Instances of this class are not pickable.
msclap package: https://pypi.org/project/msclap/
For more information, see
clap_sim().- compute() tuple[CLAPScores, CLAPScores] | Tensor[source]¶
- class DCASE2023Evaluate(
- preprocess: bool = True,
- cache_path: str | Path | None = None,
- java_path: str | Path | None = None,
- tmp_path: str | Path | None = None,
- device: str | device | None = 'cuda_if_available',
- verbose: int = 0,
Bases:
EvaluateEvaluate candidates with multiple references with DCASE2023 Audio Captioning metrics.
For more information, see
dcase2023_evaluate().
- class DCASE2024Evaluate(
- preprocess: bool = True,
- cache_path: str | Path | None = None,
- java_path: str | Path | None = None,
- tmp_path: str | Path | None = None,
- device: str | device | None = 'cuda_if_available',
- verbose: int = 0,
Bases:
EvaluateEvaluate candidates with multiple references with DCASE2024 Audio Captioning metrics.
For more information, see
dcase2024_evaluate().
- class Evaluate(
- preprocess: bool | Callable[[list[str]], list[str]] = True,
- metrics: str | Iterable[str] | Iterable[AACMetric] = 'default',
- cache_path: str | Path | None = None,
- java_path: str | Path | None = None,
- tmp_path: str | Path | None = None,
- device: str | device | None = 'cuda_if_available',
- verbose: int = 0,
Bases:
list[AACMetric],AACMetric[tuple[dict[str,Tensor],dict[str,Tensor]]]Evaluate candidates with multiple references with custom metrics.
For more information, see
evaluate().
- class FENSE(
- return_all_scores: bool = True,
- *,
- sbert_model: str | SentenceTransformer = 'paraphrase-TinyBERT-L6-v2',
- echecker: str | BERTFlatClassifier = 'echecker_clotho_audiocaps_base',
- echecker_tokenizer: AutoTokenizer | None = None,
- error_threshold: float = 0.9,
- device: str | device | None = 'cuda_if_available',
- batch_size: int | None = 32,
- reset_state: bool = True,
- return_probs: bool = False,
- penalty: float = 0.9,
- verbose: int = 0,
Bases:
AACMetric[tuple[FENSEScores,FENSEScores] |Tensor]Fluency ENhanced Sentence-bert Evaluation (FENSE)
Original implementation: https://github.com/blmoistawinde/fense
For more information, see
fense().- compute() tuple[FENSEScores, FENSEScores] | Tensor[source]¶
- class FER(
- return_all_scores: bool = True,
- *,
- echecker: str | BERTFlatClassifier = 'echecker_clotho_audiocaps_base',
- error_threshold: float = 0.9,
- device: str | device | None = 'cuda_if_available',
- batch_size: int | None = 32,
- reset_state: bool = True,
- return_probs: bool = False,
- verbose: int = 0,
Bases:
AACMetric[tuple[FERScores,FERScores] |Tensor]Return Fluency Error Rate (FER) detected by a pre-trained BERT model.
Original implementation: https://github.com/blmoistawinde/fense
For more information, see
fer().
- class MACE(
- return_all_scores: bool = True,
- *,
- mace_method: Literal['text', 'audio', 'combined'] = 'text',
- penalty: float = 0.3,
- clap_model: str | CLAPWrapper = 'MS-CLAP-2023',
- seed: int | None = 42,
- echecker: str | BERTFlatClassifier = 'echecker_clotho_audiocaps_base',
- echecker_tokenizer: AutoTokenizer | None = None,
- error_threshold: float = 0.97,
- device: str | device | None = 'cuda_if_available',
- batch_size: int | None = 32,
- reset_state: bool = True,
- return_probs: bool = False,
- verbose: int = 0,
Bases:
AACMetric[tuple[MACEScores,MACEScores] |Tensor]Multimodal Audio-Caption Evaluation class (MACE).
MACE is a metric designed for evaluating automated audio captioning (AAC) systems. Unlike metrics that compare machine-generated captions solely to human references, MACE uses both audio and text to improve evaluation. By integrating both audio and text, it produces assessments that align better with human judgments.
The implementation is based on the mace original implementation (original author have accepted to include their code in aac-metrics under the MIT license). Note: Instances of this class are not pickable.
Original author: Satvik Dixit
Original implementation: https://github.com/satvik-dixit/mace/tree/main
For more information, see
mace().- compute() tuple[MACEScores, MACEScores] | Tensor[source]¶
- class METEOR(
- return_all_scores: bool = True,
- *,
- cache_path: str | Path | None = None,
- java_path: str | Path | None = None,
- java_max_memory: str = '2G',
- language: Literal['en', 'cz', 'de', 'es', 'fr'] = 'en',
- use_shell: bool | None = None,
- params: Iterable[float] | None = None,
- weights: Iterable[float] | None = None,
- verbose: int = 0,
Bases:
AACMetric[tuple[METEORScores,METEORScores] |Tensor]Metric for Evaluation of Translation with Explicit ORdering metric class.
Documentation: https://www.cs.cmu.edu/~alavie/METEOR/README.html
For more information, see
meteor().- compute() tuple[METEORScores, METEORScores] | Tensor[source]¶
- class ROUGEL(return_all_scores: bool = True, *, beta: float = 1.2, tokenizer: ~typing.Callable[[str], list[str]] = <method 'split' of 'str' objects>)[source]¶
Bases:
AACMetric[tuple[ROUGELScores,ROUGELScores] |Tensor]Recall-Oriented Understudy for Gisting Evaluation class.
For more information, see
rouge_l().- compute() tuple[ROUGELScores, ROUGELScores] | Tensor[source]¶
- class SBERTSim(
- return_all_scores: bool = True,
- *,
- sbert_model: str | SentenceTransformer = 'paraphrase-TinyBERT-L6-v2',
- device: str | device | None = 'cuda_if_available',
- batch_size: int | None = 32,
- reset_state: bool = True,
- verbose: int = 0,
Bases:
AACMetric[tuple[SBERTSimScores,SBERTSimScores] |Tensor]Cosine-similarity of the Sentence-BERT embeddings.
Original implementation: https://github.com/blmoistawinde/fense
For more information, see
sbert().- compute() tuple[SBERTSimScores, SBERTSimScores] | Tensor[source]¶
- class SPICE(
- return_all_scores: bool = True,
- *,
- cache_path: str | Path | None = None,
- java_path: str | Path | None = None,
- tmp_path: str | Path | None = None,
- n_threads: int | None = None,
- java_max_memory: str = '8G',
- timeout: None | int | Iterable[int] = None,
- separate_cache_dir: bool = True,
- use_shell: bool | None = None,
- verbose: int = 0,
Bases:
AACMetric[tuple[SPICEScores,SPICEScores] |Tensor]Semantic Propositional Image Caption Evaluation class.
For more information, see
spice().- compute() tuple[SPICEScores, SPICEScores] | Tensor[source]¶
- class SPIDEr(
- return_all_scores: bool = True,
- *,
- n: int = 4,
- sigma: float = 6.0,
- cache_path: str | Path | None = None,
- java_path: str | Path | None = None,
- tmp_path: str | Path | None = None,
- n_threads: int | None = None,
- java_max_memory: str = '8G',
- timeout: None | int | Iterable[int] = None,
- verbose: int = 0,
Bases:
AACMetric[tuple[SPIDErScores,SPIDErScores] |Tensor]SPIDEr class.
For more information, see
spider().- compute() tuple[SPIDErScores, SPIDErScores] | Tensor[source]¶
- class SPIDErFL(
- return_all_scores: bool = True,
- *,
- n: int = 4,
- sigma: float = 6.0,
- cache_path: str | Path | None = None,
- java_path: str | Path | None = None,
- tmp_path: str | Path | None = None,
- n_threads: int | None = None,
- java_max_memory: str = '8G',
- timeout: None | int | Iterable[int] = None,
- echecker: str | BERTFlatClassifier = 'echecker_clotho_audiocaps_base',
- echecker_tokenizer: AutoTokenizer | None = None,
- error_threshold: float = 0.9,
- device: str | device | None = 'cuda_if_available',
- batch_size: int | None = 32,
- reset_state: bool = True,
- return_probs: bool = True,
- penalty: float = 0.9,
- verbose: int = 0,
Bases:
AACMetric[tuple[SPIDErFLScores,SPIDErFLScores] |Tensor]SPIDErFL class.
For more information, see
spider_fl().- compute() tuple[SPIDErFLScores, SPIDErFLScores] | Tensor[source]¶
- class SPIDErMax(
- return_all_scores: bool = True,
- *,
- return_all_cands_scores: bool = False,
- n: int = 4,
- sigma: float = 6.0,
- cache_path: str | Path | None = None,
- java_path: str | Path | None = None,
- tmp_path: str | Path | None = None,
- n_threads: int | None = None,
- java_max_memory: str = '8G',
- timeout: None | int | Iterable[int] = None,
- verbose: int = 0,
Bases:
AACMetric[tuple[SPIDErMaxScores,SPIDErMaxScores] |Tensor]SPIDEr-max class.
For more information, see
spider().- compute() tuple[SPIDErMaxScores, SPIDErMaxScores] | Tensor[source]¶
- class Vocab(return_all_scores: bool = True, *, seed: None | int | ~torch._C.Generator = 1234, tokenizer: ~typing.Callable[[str], list[str]] = <method 'split' of 'str' objects>, dtype: ~torch.dtype = torch.float64, pop_strategy: ~typing.Literal['max', 'min'] | int = 'max', verbose: int = 0)[source]¶
Bases:
AACMetric[tuple[VocabScores,VocabScores] |Tensor]VocabStats class.
For more information, see
vocab().- compute() tuple[VocabScores, VocabScores] | Tensor[source]¶
Submodules¶
- aac_metrics.classes.base module
- aac_metrics.classes.bert_score_mrefs module
BERTScoreMRefsBERTScoreMRefs.compute()BERTScoreMRefs.extra_repr()BERTScoreMRefs.full_state_updateBERTScoreMRefs.get_output_names()BERTScoreMRefs.higher_is_betterBERTScoreMRefs.is_differentiableBERTScoreMRefs.max_valueBERTScoreMRefs.min_valueBERTScoreMRefs.reset()BERTScoreMRefs.trainingBERTScoreMRefs.update()
- aac_metrics.classes.bleu module
- aac_metrics.classes.cider_d module
- aac_metrics.classes.clap_sim module
- aac_metrics.classes.evaluate module
- aac_metrics.classes.fense module
- aac_metrics.classes.fer module
- aac_metrics.classes.mace module
- aac_metrics.classes.meteor module
- aac_metrics.classes.rouge_l module
- aac_metrics.classes.sbert_sim module
- aac_metrics.classes.spice module
- aac_metrics.classes.spider module
- aac_metrics.classes.spider_fl module
- aac_metrics.classes.spider_max module
- aac_metrics.classes.vocab module