| --- |
| language: ml |
| tags: |
| - audio |
| - speech |
| - automatic-speech-recognition |
| - wav2vec2 |
| - int8 |
| - quantized |
| --- |
| # Wav2Vec2 Malayalam INT8 (Quantized) |
| This is a dynamically quantized INT8 version of [gvs/wav2vec2-large-xlsr-malayalam](https://huggingface.co/gvs/wav2vec2-large-xlsr-malayalam). |
|
|
| This version is highly optimized for CPU inference, reducing size to approx 338.16 MB. |
|
|
| # INT8 Quantized Wav2Vec2 Malayalam |
|
|
| This is a dynamically quantized (INT8) version of `gvs/wav2vec2-large-xlsr-malayalam`. It drastically reduces the model size for CPU deployment while maintaining near-original accuracy. |
|
|
| ## How to Load and Use This Model |
|
|
| Because this model uses PyTorch's native dynamic quantization, it cannot be loaded using the standard `from_pretrained` method alone. You must build the base architecture, quantize it to match, and then load the weights. |
|
|
| ```python |
| import torch |
| from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor |
| from huggingface_hub import hf_hub_download |
| |
| repo_id = "trysem/wav2vec2-malayalam-int8" |
| |
| # 1. Load the processor and empty base architecture from this repo |
| processor = Wav2Vec2Processor.from_pretrained(repo_id) |
| base_model = Wav2Vec2ForCTC.from_pretrained(repo_id) |
| |
| # 2. Apply dynamic quantization to the skeleton |
| quantized_model = torch.quantization.quantize_dynamic( |
| base_model, {torch.nn.Linear}, dtype=torch.qint8 |
| ) |
| |
| # 3. Download and load the INT8 weights |
| weight_path = hf_hub_download(repo_id=repo_id, filename="quantized_model_int8.pt") |
| quantized_model.load_state_dict(torch.load(weight_path)) |
| |
| print("Model successfully loaded!") |