WeSpeaker VoxBlink2 SimAMResNet100 (ASP)
Speaker embedding model from the WeSpeaker project, trained on the VoxBlink2 dataset.
Model Description
- Architecture: ResNet100 with SimAM (Simple, Parameter-Free Attention Module) basic blocks and Attentive Statistics Pooling (ASP)
- Block schedule: [6, 16, 24, 3] = 49 SimAM basic blocks
- Embedding dimension: 256
- Parameters: ~50.2M
- Input: Log mel-filterbank features
[batch, frames, 80](80 mel bins, 25 ms frame length, 10 ms frame shift, 16 kHz) - Output: 256-dimensional speaker embedding
[batch, 256]
Weight Format
Weights are stored as model.safetensors with PyTorch-native key naming:
| Prefix | Description |
|---|---|
front.conv1.*, front.bn1.* |
Stem (3×3 conv, no maxpool) |
front.layer{1-4}.{n}.conv{1,2}.* |
ResNet basic blocks (49 total) |
front.layer{2-4}.0.downsample.* |
1×1 channel/stride projection |
pooling.attention.* |
ASP attention (Conv1d 5120→128→5120) |
bottleneck.* |
Linear 10240→256 |
BatchNorm parameters include weight, bias, running_mean, running_var (folded format). The num_batches_tracked bookkeeping tensor is omitted.
Usage
import torch
from safetensors.torch import load_file
state_dict = load_file("model.safetensors")
# Load into SimAM_ResNet100_ASP(in_planes=64, embed_dim=256, acoustic_dim=80)
# model.load_state_dict(state_dict, strict=True)
# Input: [B, T, 80] log-mel fbank
# Output: [B, 256] speaker embedding
Source
- Original checkpoint:
avg_model.ptfrom thelengyue233/wespeaker-voxblink2-samresnet100mirror - Model code:
wespeaker/models/samresnet.py - Project page: wenet.org.cn
Re-exported from PyTorch state dict to safetensors format.