Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/joint diarization and embedding with prepared data #1583

Draft
wants to merge 96 commits into
base: develop
Choose a base branch
from

Commits on Jun 8, 2023

  1. Configuration menu
    Copy the full SHA
    0551070 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2023

  1. feat(task): add support for multi-task models (pyannote#1374)

    BREAKING(model): get rid of (flaky) `Model.introspection`
    hbredin committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    30ddb0b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4eb7190 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2023

  1. Configuration menu
    Copy the full SHA
    dcdfc15 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2023

  1. Configuration menu
    Copy the full SHA
    87f49f9 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'develop' of github.com:clement-pages/pyannote-audio int…

    …o feat/joint-diarization-and-embedding
    clement-pages committed Jun 17, 2023
    Configuration menu
    Copy the full SHA
    6025a80 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2023

  1. update train__iter__helper method of the joint task

    - fixes the dimension error between files id and probabilties arrays
    - changes the way of how chunks for the embedding task are sampled
    - creates two functions to draw chunks, one for each subtask
    
    Tests are required to ensure that there are no bugs
    clement-pages committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    58599c9 View commit details
    Browse the repository at this point in the history
  2. fix StopIteration error

    clement-pages committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    04de82f View commit details
    Browse the repository at this point in the history
  3. add missing collate methods

    For now this is a copy past from methods in segmentation task.
    clement-pages committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    d8cb598 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d2d6e14 View commit details
    Browse the repository at this point in the history
  5. remove computing of vad loss

    as computing this loss probably does not make sense in powerset
    mode because first class (empty set of labels) does exactly this
    clement-pages committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    e58943b View commit details
    Browse the repository at this point in the history
  6. remove unused imports

    clement-pages committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    bc989cd View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b4d0a78 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2023

  1. 1 Configuration menu
    Copy the full SHA
    78718b1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dfdd8f3 View commit details
    Browse the repository at this point in the history
  3. 4 Configuration menu
    Copy the full SHA
    1888360 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2023

  1. update end-to-end model

    clement-pages committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    6216d1f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b42cc33 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3d295dd View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. Configuration menu
    Copy the full SHA
    3363be6 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2023

  1. Configuration menu
    Copy the full SHA
    99a7762 View commit details
    Browse the repository at this point in the history
  2. remove diarization_database_files attribute

    as this instance attribute was not used
    clement-pages committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    f2a4e34 View commit details
    Browse the repository at this point in the history
  3. feat(pipeline): add return_embeddings option to `SpeakerDiarization…

    …` pipeline
    
    Co-authored-by: Hervé BREDIN <[email protected]>
    flyingleafe and hbredin committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    017c910 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2023

  1. Configuration menu
    Copy the full SHA
    cf0e3b3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f48b74f View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2023

  1. Configuration menu
    Copy the full SHA
    f393546 View commit details
    Browse the repository at this point in the history
  2. remove for loops in embedding loss computation

    as these loop could break gradient flow and to optimize
    the code
    clement-pages committed Jun 28, 2023
    Configuration menu
    Copy the full SHA
    5718593 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2023

  1. Configuration menu
    Copy the full SHA
    8036572 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2023

  1. Configuration menu
    Copy the full SHA
    aa36d7b View commit details
    Browse the repository at this point in the history
  2. fix bugs in validation part

    for now do the trick only for the diarization subtask
    clement-pages committed Jul 4, 2023
    Configuration menu
    Copy the full SHA
    6617c9c View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2023

  1. Configuration menu
    Copy the full SHA
    60d5543 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2023

  1. Configuration menu
    Copy the full SHA
    2834d3e View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2023

  1. Configuration menu
    Copy the full SHA
    35be745 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2023

  1. fix size issue in collate_y when building embedding ref

    There was an issue when the number of speakers in a chunk was
    greater than the maximum number per chunk set for the task.
    clement-pages committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    5628b48 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2023

  1. Configuration menu
    Copy the full SHA
    c4988f4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    75467f0 View commit details
    Browse the repository at this point in the history
  3. add missing docstrings

    clement-pages committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    78b5b04 View commit details
    Browse the repository at this point in the history
  4. remove redefinitions of collate_X and collate_meta

    these two methods were identical to the methods inherited from the
    `SegmentationTaskMixin` class
    clement-pages committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    bdf3567 View commit details
    Browse the repository at this point in the history
  5. add missing dia_loss assignment

    and fix issue with the loss type during training
    clement-pages committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    aae90a0 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2023

  1. Configuration menu
    Copy the full SHA
    d3b3efc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4289ea9 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2023

  1. add V2 of SpeakerEndToEndDiarization

    this version replace `StatsPool` by a concatenation of the last
    outputs of TDNN (for the embedding part) and LSTM (for the diarization
    part) and a LSTM layer
    clement-pages committed Jul 19, 2023
    7 Configuration menu
    Copy the full SHA
    e9f40a3 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2023

  1. Configuration menu
    Copy the full SHA
    3f7cb8a View commit details
    Browse the repository at this point in the history
  2. update LSTM encoder in SPEED V2

    Now, this LSTM is bidirectionnal and has a hidden size of 1500, so
    the outputs shape of this encoder is (b, s, 1500*2). This will allow
    comparing with `StatsPool` version of the SPEED model
    clement-pages committed Jul 26, 2023
    Configuration menu
    Copy the full SHA
    0f1577d View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2023

  1. add prepare_data method in Task class

    The goal of this method is to generate the data needed by the task
    and save it on disk for future uses, for example by the `setup` method.
    The objective is to avoid systematically recreating data on each process
    at the beginning of a training
    clement-pages committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    933a660 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2023

  1. Configuration menu
    Copy the full SHA
    5257145 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2023

  1. modify organisation of pyannote segmentation tasks

    Now all the segmentations tasks in `pyannote` inherit the `SegmentationTask`
    (previously `SegmentationTaskMixin`), which inherits the `Task` class. This
    commit also adds a `prepared_data` attribute  to the `Task` class. That
    attribute is a dict which contains all the prepared data by the `prepare_data`
    method.
    clement-pages committed Nov 2, 2023
    Configuration menu
    Copy the full SHA
    8829574 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'feat/data_preparation' of github.com:clement-pages/pyan…

    …note-audio into feat/data_preparation
    clement-pages committed Nov 2, 2023
    Configuration menu
    Copy the full SHA
    fa63c8a View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. add two training tests

    One for the test of the `MultiLabelSegmentation` task, and
    the other for the test of the `SupervisedRepresentationLearningWithArcFace`
    task.
    clement-pages committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    be6f7ec View commit details
    Browse the repository at this point in the history
  2. assign data directly to task in main process, in prepare_data

    This eliminates the need to reload pickle data in setup when in the main process
    clement-pages committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    f447bb6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    930deda View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2023

  1. handle call to Task.prepare_data and Task.setup under different s…

    …cenarios
    clement-pages committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    05ccc30 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'feat/data_preparation' of github.com:clement-pages/pyan…

    …note-audio into feat/data_preparation
    clement-pages committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    44a01fe View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2023

  1. add training tests using task caches

    clement-pages committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    4b8e8a2 View commit details
    Browse the repository at this point in the history
  2. update cache_path type and docstrings

    clement-pages committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    45918bd View commit details
    Browse the repository at this point in the history
  3. fix classes variable used before assigment

    This issue occured when a list of classes was  specified during `MultiLabelSegmentation`
    instanciation.
    clement-pages committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    980414e View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2023

  1. Configuration menu
    Copy the full SHA
    a9ea07f View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2023

  1. Merge branch 'feat/joint-diarization-and-embedding' into feat/joint-d…

    …iarization-and-embedding-with-prepared-data
    clement-pages committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    51a36f9 View commit details
    Browse the repository at this point in the history
  2. fix: fix residual merge problems

    clement-pages committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    c1fbb81 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2023

  1. Configuration menu
    Copy the full SHA
    797a8a4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a17c2d0 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. improve code readability

    clement-pages committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    987e702 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2023

  1. improve: use numpy method for w/r task cache instead pickle (#1)

    * use npz archive instead pickle to save task data
    
    * improve code readability
    
    * improve(task): update numpy array dtypes
    
    In order to use types whose size better machtes the contents of the arrays
    
    * remove `end` entry from `annotated_regions` numpy array
    
    This entry was redundant with the start and duration entries,
    since `end` = `start` + `duration`.
    
    * fix: allow data preparation to be finished when task has no validation
    
    * improve: clear data lists after assignation to `self.prepared_data`
    
    This is to avoid data redundancy in the `prepare_data` method
    
    ---------
    
    Co-authored-by: clement-pages <[email protected]>
    clement-pages and clement-pages committed Nov 27, 2023
    Configuration menu
    Copy the full SHA
    042dc43 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5358986 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2023

  1. improve: remove complete redefinition of setup in joint task

    Now the joint task uses `prepare_data` and `setup` from core `Task` and
    `SpeakerDiarization` task.
    clement-pages committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    0011870 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'feat/joint-diarization-and-embedding-with-prepared-data…

    …' of github.com:clement-pages/pyannote-audio into feat/joint-diarization-and-embedding-with-prepared-data
    clement-pages committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    68763dc View commit details
    Browse the repository at this point in the history
  3. Merge branch 'feat/data-preparation' into feat/joint-diarization-and-…

    …embedding-with-prepared-data
    clement-pages committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    7d78548 View commit details
    Browse the repository at this point in the history
  4. improve: remove duplicated attributes in `JointSpeakerDiarizationAndE…

    …mbedding`
    clement-pages committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    6e6b62d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e60873c View commit details
    Browse the repository at this point in the history
  6. improve: handle multi-speaker embeddings in example_output

    clement-pages committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    40cc903 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2023

  1. feat: add new end-to-end model for joint speaker diarization and embe…

    …ddins
    
    This new model is based on a `WeSpeakerResnet34` for the speaker embeddings
    extraction part, and on `PyanNet` for (local) segmentation.
    clement-pages committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    30ae9fb View commit details
    Browse the repository at this point in the history
  2. fix: fix empty dict issue for metadata_unique_values in `prepared_d…

    …ata`
    clement-pages committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    72f9916 View commit details
    Browse the repository at this point in the history
  3. improve: add dynamic typing for np array in prepare_data

    clement-pages committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    ecd2cb4 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'feat/data-preparation' into feat/joint-diarization-and-…

    …embedding-with-prepared-data
    clement-pages committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    5e1abad View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2023

  1. improve: check matching bewteen task current protocol and cached prot…

    …ocol
    clement-pages committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    fb6d540 View commit details
    Browse the repository at this point in the history
  2. remove: remove unused argument stage in Task.setup

    clement-pages committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    3810308 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'feat/data-preparation' into feat/joint-diarization-and-…

    …embedding-with-prepared-data
    clement-pages committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    f916db5 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. Configuration menu
    Copy the full SHA
    e7da160 View commit details
    Browse the repository at this point in the history
  2. wip: attempt to fix issues encountered during training

    clement-pages committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    77ac89f View commit details
    Browse the repository at this point in the history
  3. update: use all the pyannet pretrained model

    clement-pages committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    ea6d06d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    185798d View commit details
    Browse the repository at this point in the history

Commits on May 14, 2024

  1. Configuration menu
    Copy the full SHA
    3fef4f5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9d13697 View commit details
    Browse the repository at this point in the history
  3. update the way batches are generated in the joint task

    Now, the first `num_dia_samples` samples in a batch  are dedicated to the diarization
    substak, and the remaining sample are for the embedding subtask
    clement-pages committed May 14, 2024
    Configuration menu
    Copy the full SHA
    6c67fc6 View commit details
    Browse the repository at this point in the history
  4. fix random generators

    clement-pages committed May 14, 2024
    Configuration menu
    Copy the full SHA
    519db89 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    106bfc5 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2024

  1. update joint task training_step

    ... and fix some bugs
    clement-pages committed May 15, 2024
    Configuration menu
    Copy the full SHA
    d3326b1 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. Configuration menu
    Copy the full SHA
    a36420d View commit details
    Browse the repository at this point in the history
  2. Merge branch 'develop' into feat/joint-diarization-and-embedding-with…

    …-prepared-data
    clement-pages committed May 27, 2024
    Configuration menu
    Copy the full SHA
    101f1d3 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. update(joint task): filter out inactive speaker embeddings from loss …

    …computation
    clement-pages committed May 28, 2024
    Configuration menu
    Copy the full SHA
    62fad78 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2024

  1. allow to only compute mean or std in StatsPool

    clement-pages committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    8349818 View commit details
    Browse the repository at this point in the history
  2. update diarization + embeddings joint task

    clement-pages committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    0858227 View commit details
    Browse the repository at this point in the history
  3. wip: update joint model

    clement-pages committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    ad9e435 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    aeb147f View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. Configuration menu
    Copy the full SHA
    f484033 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. Configuration menu
    Copy the full SHA
    8608a1c View commit details
    Browse the repository at this point in the history