Skip to page content
SAVRN
Search Plan a project

Open-weight model · Audio classification

ls_ecapa_tdnn_small_ge2e

by Quan wq2012/ls_ecapa_tdnn_small_ge2e

ls_ecapa_tdnn_small_ge2e is an open-weight model for audio classification from Quan, released under Apache License 2.0. It has 2M parameters. At 16-bit it needs about 0 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index. It draws 22 downloads a month.

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json…

Parameters2M
Context—
Weights22.2 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads22

Runs On

What it takes to serve ls_ecapa_tdnn_small_ge2e (2M parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 0.0 GB 0.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 0.0 GB 0.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 0.0 GB 0.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 18, 2026.

ls_ecapa_tdnn_small_ge2e on every accelerator the SAVRN Index prices, at every precision

Model Card

By Quan, published under apache-2.0, revision eaaa4795bf43.

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs) - modelfp32.tflite: Exported FP32 TensorFlow Lite model for edge/mobile CPU inference - modelint8.tflite: Dynamic-range INT8 quantized TensorFlow Lite model (~3.5x smaller)

Read Quan's full model card

FlaxSpeaker: ls_ecapa_tdnn_small_ge2e (ecapa_tdnn - small)

Disclaimer & Open-Source Reproduction Notice

This is not an officially supported Google product.

This model checkpoint and the accompanying FlaxSpeaker library are an independent, clean-room open-source reproduction in JAX/Flax of speaker recognition algorithms published in: - GE2E: Generalized End-to-End Loss for Speaker Verification (arXiv:1710.10467) - Dr-Vectors: Decision Residual Networks and an Improved Loss for Speaker Recognition (arXiv:2104.01989) - Conformer-ATP: Attentive Temporal Pooling for Conformer-based Streaming Language Identification in Long-form Speech (arXiv:2202.12163) - PFAS: Parameter-Free Attentive Scoring for Speaker Verification (arXiv:2203.05642v3)

The experiments in those original papers were conducted using Google's proprietary internal infrastructure and internal datasets, not this open-source library or public dataset split.

Model Summary

Property Value
Model ID ls_ecapa_tdnn_small_ge2e
Hugging Face Repository wq2012/ls_ecapa_tdnn_small_ge2e
Hugging Face Collection FlaxSpeaker Collection
GitHub Repository wq2012/FlaxSpeaker
PyPI Package flaxspeaker
Backbone Architecture ecapa_tdnn (small)
Temporal Pooling asp
Training Loss ge2e_softmax
Verification Scoring cosine
Output Embedding Dim 192
Encoder Parameters 1,684,418
Training Domain librispeech
Audio Frontend 80-dim log_mel @ 16000 Hz + Energy VAD + CMVN

Model Files Included

  • model.safetensors: Primary model weights in SafeTensors format
  • flax_model.msgpack: Native Flax Msgpack serialized parameters
  • config.json: FlaxSpeakerConfig model & training architecture configuration
  • preprocessor_config.json: WhisperFeatureExtractor-compatible frontend configuration
  • eval_results.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs)
  • model_fp32.tflite: Exported FP32 TensorFlow Lite model for edge/mobile CPU inference
  • model_int8.tflite: Dynamic-range INT8 quantized TensorFlow Lite model (~3.5x smaller)

Quickstart Usage

Python API (from Hugging Face Hub or Local Directory)

from flaxspeaker import load_pretrained

model = load_pretrained("wq2012/ls_ecapa_tdnn_small_ge2e")
emb = model.extract_embedding("path/to/utterance.flac")
score = model.verify("path/to/enroll.flac", "path/to/test.flac")
print(f"Embedding shape: {emb.shape}, Verification score: {score:.4f}")

Command-Line Inference

python scripts/inference.py --model_dir wq2012/ls_ecapa_tdnn_small_ge2e \
    --enroll_audio path/to/enroll.flac --test_audio path/to/test.flac

Multi-Domain Evaluation Results

1-Utterance Verification Across Evaluation Domains

Evaluation Split Trials EER (%) 95% Bootstrap CI (%) [email protected] [email protected] ROC-AUC
LibriSpeech (English Read) 3,000 13.83% [12.35, 15.00] 0.9607 0.6707 0.9392
CN-Celeb2 (Chinese Multi-Genre) 3,000 31.70% [30.00, 33.20] 0.9547 0.9547 0.7468
VoxCeleb1 (In-the-Wild Celebrity) 2,000 19.65% [17.85, 21.28] 0.9760 0.9060 0.8846
Universal Pooled (All 3 Domains) 8,000 22.48% [21.59, 23.35] 0.9680 0.8658 0.8587
Universal Macro-Average (3 Domains) 8,000 21.73% — 0.9638 0.8438 0.8569

3-Utterance Multi-Enrollment Verification Across Evaluation Domains

Evaluation Split Trials 3-Utt EER (%) 95% Bootstrap CI (%) [email protected] ROC-AUC
LibriSpeech (3-Utt) 1,000 9.10% [6.75, 10.80] 0.9440 0.9655
CN-Celeb2 (3-Utt) 1,000 28.40% [25.40, 31.11] 0.8580 0.8044
VoxCeleb1 (3-Utt) 1,000 15.90% [13.55, 17.60] 0.9060 0.9241
Universal Pooled (3-Utt) 3,000 17.83% [16.33, 19.13] 0.9653 0.9065
Universal Macro-Average (3-Utt) 3,000 17.80% — 0.9027 0.8980

Citation

@inproceedings{wan2018generalized,
  title={Generalized End-to-End Loss for Speaker Verification},
  author={Wan, Li and Wang, Quan and Papir, Alan and Moreno, Ignacio Lopez},
  booktitle={IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
  pages={4879--4883},
  year={2018}
}

@inproceedings{pelecanos2021dr,
  title={Dr-Vectors: Decision Residual Networks and an Improved Loss for Speaker Recognition},
  author={Pelecanos, Jason and Wang, Quan and Moreno, Ignacio Lopez},
  booktitle={Interspeech},
  pages={4603--4607},
  year={2021}
}

@inproceedings{wang2022attentive,
  title={Attentive Temporal Pooling for Conformer-based Streaming Language Identification in Long-form Speech},
  author={Wang, Quan and Yu, Yang and Pelecanos, Jason and Huang, Yiling and Moreno, Ignacio Lopez},
  booktitle={The Speaker and Language Recognition Workshop (Odyssey)},
  year={2022}
}

@inproceedings{pelecanos2022parameter,
  title={Parameter-Free Attentive Scoring for Speaker Verification},
  author={Pelecanos, Jason and Wang, Quan and Huang, Yiling and Moreno, Ignacio Lopez},
  booktitle={The Speaker and Language Recognition Workshop (Odyssey)},
  year={2022}
}

Configuration

Model type
flaxspeaker

Identity and Version

Repository
wq2012/ls_ecapa_tdnn_small_ge2e
Publisher
Quan
Task
Audio classification
Modality
Audio
Library
flaxspeaker
Parameters
2M parameters
Languages
jax
Revision
eaaa4795bf4348854df705f9dd5dc5ecf76af288
First published
2026-10-15
Last updated
2026-10-18

Files and Weights

9 files, 22.2 MB in total. The weights are 4 files totalling 22.2 MB in msgpack, safetensors, tflite.

Weights4 files · 22.2 MB
Configuration3 files · 17.3 KB
Documentation1 file · 6.2 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
flax_model.msgpackWeights6.7 MB f4acfd69377f
model.safetensorsWeights6.7 MB f7daa85567df
model_fp32.tfliteWeights6.8 MB d00481a389c8
model_int8.tfliteWeights1.9 MB 735acfefcf32
config.jsonConfiguration9.7 KB —
eval_results.jsonConfiguration7.4 KB —
preprocessor_config.jsonConfiguration200 B —
README.mdDocumentation6.2 KB —
.gitattributesRepository1.5 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
22.2 MB
Download from Quan

Released by Quan through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published22.2 MB
16-bit0.0 GB
8-bit0.0 GB
4-bit0.0 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About ls_ecapa_tdnn_small_ge2e

How much GPU memory does ls_ecapa_tdnn_small_ge2e need?

About 0 GB at 16-bit and 0 GB at 4-bit: the weights (2M parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run ls_ecapa_tdnn_small_ge2e on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use ls_ecapa_tdnn_small_ge2e commercially?

Yes. ls_ecapa_tdnn_small_ge2e is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Audio classification

univ_ecapa_tdnn_small_ge2e

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs) - modelfp32.tflite: Exported FP32 TensorFlow Lite model for edge/mobile CPU inference - modelint8.tflite: Dynamic-range INT8 quantized TensorFlow Lite model (~3.5x smaller)

Open weights apache-2.0 2M parameters flaxspeaker

Model · Audio classification

vox_ecapa_tdnn_small_ext_softmax

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs)

Open weights apache-2.0 2M parameters flaxspeaker

Model · Audio classification

cn_ecapa_tdnn_small_arcface

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs)

Open weights apache-2.0 2M parameters flaxspeaker

Model · Audio classification

univ_lstm_small_ge2e

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs) - modelfp32.tflite: Exported FP32 TensorFlow Lite model for edge/mobile CPU inference - modelint8.tflite: Dynamic-range INT8 quantized TensorFlow Lite model (~3.5x smaller)

Open weights apache-2.0 2M parameters flaxspeaker

Model · Audio classification

ls_lstm_small_ge2e

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs) - modelfp32.tflite: Exported FP32 TensorFlow Lite model for edge/mobile CPU inference - modelint8.tflite: Dynamic-range INT8 quantized TensorFlow Lite model (~3.5x smaller)

Open weights apache-2.0 2M parameters flaxspeaker

Model · Audio classification

univ_conformer_small_ge2e

Quan

model.safetensors: Primary model weights in SafeTensors format - flaxmodel.msgpack: Native Flax Msgpack serialized parameters - config.json: FlaxSpeakerConfig model & training architecture configuration - preprocessorconfig.json: WhisperFeatureExtractor-compatible frontend configuration - evalresults.json: Verified multi-domain evaluation metrics (1-utt & 3-utt EER, minDCF, ROC-AUC, 95% bootstrap CIs) - modelfp32.tflite: Exported FP32 TensorFlow Lite model for edge/mobile CPU inference - modelint8.tflite: Dynamic-range INT8 quantized TensorFlow Lite model (~3.5x smaller)

Open weights apache-2.0 2M parameters flaxspeaker