trysem's picture
Update README.md
7c73ce0 verified
|
Raw
History Blame Contribute Delete
1.58 kB
---
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!")