Sortformer Diarizer 4spk v1 model PR Part 2: Unit-tests for Sortformer Diarizer.
State: closed | Pull request: yes
Labels: name: ASR

name: Speaker Tasks

name: CI

name: Run CICD

# What does this PR do ?

This is the second PR that deals with unit tests for 
Sortformer Diarizer Model, 4 speaker limit, v1 model. 

**Previous PR:**
This is PR 2nd out of 3.
1st PR: https://github.com/NVIDIA/NeMo/pull/11336
3rd PR:  <Coming Soon>

**Sortformer Paper:**
[Sortformer Paper Link](https://arxiv.org/pdf/2409.06656)

**Overview:**
- We moved all the speaker recognition related test files from 
`NeMo/tests/collections/asr` to `NeMo/tests/collections/speaker_tasks`.
- We have added all Sortformer diarizer related unit-test functions and classes.

**Collection**: ASR

# Changelog 

Updated the `test_data.tar.gz` file in https://github.com/NVIDIA/NeMo/releases/tag/v1.0.0rc1

```bash
NeMo/tests/collections/speaker_tasks/.
├── test_diar_datasets.py (moved, modified)
├── test_diar_label_models.py (moved, modified)
├── test_diar_lhotse_datasets.py (created)
├── test_diar_metrics.py (moved, modified)
├── test_diar_neural_inference.py (moved, modified) 
├── test_diar_sortformer_models.py (created)
├── test_speaker_label_models.py (moved)
└── utils
    ├── test_data_simul_utils.py (moved)
    ├── test_diar_utils.py (moved)
    ├── test_multispeaker_utils.py (created)
    └── test_vad_utils.py (moved)
```

# Usage

```python
pytest <NeMo Root>/tests/collections/speaker_tasks/*
```

# GitHub Actions CI

Added the new CIs for Sortformer Diarizer.

# Before your PR is "Ready for review"
**Pre checks**:
- [x] Make sure you read and followed [Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md)
- [x] Did you write any new necessary tests?
- [ ] Did you add or update any necessary documentation?
- [ ] Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
  - [ ] Reviewer: Does the PR have correct import guards for all optional libraries?
  
**PR Type**:
- [x] New Feature
- [ ] Bugfix
- [ ] Documentation

If you haven't finished some of the above items you can still open "Draft" PR.


## Who can review?

Anyone in the community is free to review the PR once the checks have passed. 
[Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md) contains specific people who can review PRs to various areas.

# Additional Information
* Related to # (issue)


<!-- pylint-output-strict-mode-false -->

beep boop 🤖: 🙏 The following files have warnings. In case you are familiar with these, please try helping us to improve the code base.

---

Your code was analyzed with PyLint. The following annotations have been identified:

```

------------------------------------
Your code has been rated at 10.00/10
```

---

Thank you for improving NeMo's documentation!

<!-- pylint-output-strict-mode-true -->

beep boop 🤖: 🚨 The following files must be fixed before merge!

---

Your code was analyzed with PyLint. The following annotations have been identified:

```

------------------------------------
Your code has been rated at 10.00/10
```

---

Thank you for improving NeMo's documentation!

<!-- pylint-output-strict-mode-false -->

beep boop 🤖: 🙏 The following files have warnings. In case you are familiar with these, please try helping us to improve the code base.

---

Your code was analyzed with PyLint. The following annotations have been identified:

```

------------------------------------
Your code has been rated at 10.00/10
```

---

Thank you for improving NeMo's documentation!