Downloads · 30 days
0
elonmush/whisper-fleurs-zh-asr
whisper-fleurs-zh-asr is a machine learning model from elonmush. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
This repository contains a Chinese automatic speech recognition (ASR) model based on OpenAI Whisper-small, fine-tuned on the FLEURS Chinese (cmnhanscn) dataset.
Downloads · 30 days
0
Access
Public
Updated Apr 2, 2026
Repo size
967 MB
Likes
0
Public
Click a slice to open those files.
.safetensors967 MB · 99%
From the Hugging Face model README
This repository contains a Chinese automatic speech recognition (ASR) model based on OpenAI Whisper-small, fine-tuned on the FLEURS Chinese (cmn_hans_cn) dataset.
The project started from a zero-shot Whisper baseline and then evolved into a full fine-tuning and optimization pipeline, including:
openai/whisper-smallgoogle/fleurs (cmn_hans_cn)Zero-shot Whisper-small baseline on FLEURS Chinese validation set:
After implementing a supervised fine-tuning pipeline:
After introducing sample cleaning, speed perturbation, cosine scheduler, label smoothing, and staged encoder freezing:
Compared with V1, V2 introduced several optimization strategies:
The training set was expanded from 3242 cleaned samples to 4362 training examples after augmentation.
This model was trained and evaluated on:
cmn_hans_cnData split used in the project:
The project was implemented as a full experimental pipeline rather than a simple tutorial reproduction. The workflow included:
Example usage:
from transformers import WhisperProcessor, WhisperForConditionalGeneration
import torch
import torchaudio
model_id = "elonmush/YOUR_MODEL_REPO"
processor = WhisperProcessor.from_pretrained(model_id)
model = WhisperForConditionalGeneration.from_pretrained(model_id)
waveform, sr = torchaudio.load("your_audio.wav")
if waveform.ndim == 2:
waveform = waveform.mean(dim=0)
inputs = processor(
waveform.numpy(),
sampling_rate=sr,
return_tensors="pt"
)
with torch.inference_mode():
pred_ids = model.generate(
inputs.input_features,
language="chinese",
task="transcribe",
max_new_tokens=128,
)
text = processor.batch_decode(pred_ids, skip_special_tokens=True)[0]
print(text)