Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
| Date | Stars |
|---|---|
| 2026-07-31 | 328 |
| 2026-08-01 | 328 |
| 2026-08-02 | 328 |
| 2026-08-06 | 328 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# 🤗 Diarizers
[](https://colab.research.google.com/github/kamilakesbi/notebooks/blob/main/fine_tune_pyannote.ipynb)
🤗 Diarizers is a library for fine-tuning [`pyannote`](https://github.com/pyannote/pyannote-audio/tree/main) speaker
diarization models using the Hugging Face ecosystem. It can be used to improve performance on both English and multilingual
diarization datasets with simple example scripts, with as little as ten hours of labelled diarization data and just 5 minutes
of GPU compute time.
## 📖 Quick Index
* [Installation](#installation)
* [Train](#train)
* [Evaluation](#evaluation)
* [Inference](#inference-with-pyannote)
* [Adding new datasets](#adding-new-datasets)
* [Acknowledgements](#acknowledgements)
* [Citation](#citation)
## Installation
First, clone the repository and install the dependencies:
```sh
git clone https://github.com/huggingface/diarizers.git
cd diarizers
pip install -e .
```
To load pre-trained diarization models from the Hub, you'll first need to accept the terms-of-use for the following two models:
1. [pyannote/segmentation-3.0](https://hf.co/pyannote/segmentation-3.0)
2. [pyannote/speaker-diarization-3.1](https://hf.co/pyannote/speaker-diarization-3.1)
To load the CallHome dataset from the Hub, you'll also need to accept its terms of use:
1. [diarizers-community/callhome](https://huggingface.co/datasets/talkbank/callhome)
And subsequently use a Hugging Face authentication token to log in with:
```
huggingface-cli login
```
## Train
The script [`train_segmentation.py`](train_segmentation.py) can be used to pre-process a diarization dataset and subsequently
fine-tune the `pyannote` segmentation model. In the following example, we fine-tune the segmentation model on the Japanese
subset of the [CallHome dataset](https://huggingface.co/datasets/diarizers-community/callhome), a conversational dataset
between native speakers:
```bash
python3 train_segmentation.py \
--dataset_name=diarizers-community/callhome \
--dataset_config_name=jpn \
--split_on_subset=data \
--model_name_or_path=pyannote/segmentation-3.0 \
--output_dir=./speaker-segmentation-fine-tuned-callhome-jpn \
--do_train \
--do_eval \
--learning_rate=1e-3 \
--num_train_epochs=5 \
--lr_scheduler_type=cosine \
--per_device_train_batch_size=32 \
--per_device_eval_batch_size=32 \
--evaluation_strategy=epoch \
--save_strategy=epoch \
--preprocessing_num_workers=2 \
--dataloader_num_workers=2 \
--logging_steps=100 \
--load_best_model_at_end \
--push_to_hub
```
On a single NVIDIA RTX 24GB GPU, training takes approximately 5 minutes and improves the diarization error rate (DER)
from 25% to 18%, representing a 28% relative improvement in performance. The final model will be pushed to the Hugging Face
Hub, for example the checkpoint [diarizers-community/speaker-segmentation-fine-tuned-callhome-jpn](https://huggingface.co/diarizers-community/speaker-segmentation-fine-tuned-callhome-jpn).
We encourage you to swap the CallHome Japanese dataset for a dataset in your language of choice. The [CallHome dataset](https://huggingface.co/datasets/diarizers-community/callhome)
provides splits for four additional languages, and there are a number of [other diarization datasets](https://huggingface.co/datasets?search=diarizers-community)
available on the Hugging Face Hub. We also provide [instructions](#adding-new-datasets) for adding new datasets.
To train on a different dataset, simply change the arguments:
- `dataset_name`: Specify a dataset from the Hub on which to fine-tune your model.
- `dataset_config_name`: If the dataset contains multiple language subsets, select the language ID of the subset you want to train on.
If the data set doesn't contain a train and a validation split, you can automatically split it into train-val-test
(90-10-10) by setting the argument:
- `split_on_suExcerpt of 8,435 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:5458c6386b3568cb, llm:Repository name 'diarizers' under huggingface suggests speaker diarization (audio processing) — likely tools/models for diarization (speech-audio, possibly speech processing). No topics or README provided; inferred from name.
matched fp:5458c6386b3568cb, llm:Repository name 'diarizers' under huggingface suggests speaker diarization (audio processing) — likely tools/models for diarization (speech-audio, possibly speech processing). No topics or README provided; inferred from name.