1. 05 Oct, 2021 1 commit
  2. 01 Oct, 2021 1 commit
    • moto's avatar
      Fix HuBERT xlarge configuration and test (#1811) · 13b2349a
      moto authored
      1. Fix the HuBERT xlarge model config
      2. In the 48 transformer layers of HuBERT xlarge model, very few elements deviate from the equivalent model of fairseq, and exceeds the default atol 1e-5. This commit relax it to 3e-5 for the specific test.
      13b2349a
  3. 30 Sep, 2021 1 commit
  4. 29 Sep, 2021 2 commits
    • moto's avatar
      Rename factory functions `wav2vec2_asr_ARCH` to `wav2vec2_ft_ARCH` (#1804) · 5c01c25f
      moto authored
      * Rename factory functions `wav2vec2_asr_ARCH` to `wav2vec2_ft_ARCH`
      
      In #1783, we split the factory functions of wav2vec2 into ones for pretraining models
      and ones for fine-tuning models (pretraining model + extra Linear module).
      
      I picked the name scheme `wav2vec2_asr_ARCH` for factory functions of fine-tuning models,
      but did not feel right, because the architecture code is more generic.
      Even though the resulting model architecture was used for  ASR fine-tuning in the paper, 
      it does not have to be ASR.
      This became more evident as we add pre-trained parameters support, such as #1799.
      It matters more for the weight files that for which task and on which dataset it was
      trained on. For factory function, ASR task is not relevant.
      
      Therefore renaming the functions by replacing `_asr_` to `_ft_` fine-tuning.
      
      Note: Since the new functions are not release yet, this PR itself is not BC-breaking.
      5c01c25f
    • moto's avatar
      Skip hubert_asr_xlarge TS test on Windows (#1800) · a7bdedae
      moto authored
      a7bdedae
  5. 28 Sep, 2021 1 commit
    • moto's avatar
      Add HuBERT model architectures (#1769) · a7854f33
      moto authored
      This commit adds the following HuBERT model architectures
      
       - `base` (pre-training)
       - `large` (pre-training / fine-tuning)
       - `xlarge` (pre-training / fine-tuning)
      
      Since the internal components are same as `Wav2Vec2Model`, it reuses the existing modules..
      With these models, it is possible to 
      - import the pre-trained model published by `fairseq` and TorchScript it.
      - fine-tune the existing model for downstream task.
      a7854f33
  6. 24 Sep, 2021 1 commit
    • moto's avatar
      [BC-Breaking] Split pretraining and finetuning factory functions (#1783) · b2e9f1e4
      moto authored
      * [BC-Breaking] Split pretraining and finetuning factory functions
      
      Previously, factory functions of wav2vec2 only generated the architecture
      for the fine-tuning architecture used in wav2ve2 paper for ASR task.
      That is, pre-training architecture + Linear module, and it did not
      provide a straightforward way to generate architectures for pre-training.
      
      The goal of the original implementation was to allow the inference of
      wav2vec2 in non-Python environment via TorchScript. Now we would like to
      expand it to pre-training/fine-tuning and HuBERT model as well.
      
      Therefore, we need to have factory functions for both pre-training and
      fine-tuning. This commit introduces new factory functions and separate
      functions for pre-training and fine-tuning.
      
      1. New functions for ASR fine-tuning.
      
      We introdcue `wav2vec2_asr_XXX` functions which generates the architecture
      used for the fine-tuning task in wav2vec2 paper. *1
      
      2. Re-purpse the old functions
      
      The existing functions, `wav2vec2_XXX`, now generates the architecture with
      pre-trainig module only. (no Linear module)
      
      Note
      *1 This architecture is just one way to define architecture for fine-tuning
      and it is not universal definition. The new `wav2vec2_asr_XXX` functions are
      designed to provide these specific fine-tuning configuration and they are not
      meant to support generic architecture for downstream task.
      b2e9f1e4
  7. 22 Sep, 2021 3 commits
    • moto's avatar
      [BC-Breaking] Move fine-tune specific module out of wav2vec2 encoder (#1782) · 40f2a085
      moto authored
      Previously, the Linear module (called `readout`, which is used only for an ASR fine-tuning
      task) was placed in encoder module. Conceptually, the encoder has nothing to
      do with a module specific to fine-tuning / downstream task.
      
      The problems here are that;
      1. encoder can be also used in pre-training phase, in which such a module should
      not present
      2. The choice of Linear module is arbitral, and it is inconvenient for users
      to have hard-coded module structure in encoder.
      
      Therefore, this commit moves the Linear module out the encoder, and places it
      as `aux` attribute of `Wav2Vec2Model`. (as a result `Wav2Vec2Model` has
      `feature_extractor`, `encoder` and `aux` attributes.)
      
      An alternative approach is to define another module and place `Wav2Vec2Model`
      and aux module along each other. But that will introduce a new class we need
      to maintain.
      The expected use of `aux` is only  for 1. loading the pre-trained parameters 
      published by `fairseq` (and it's variations from HF) and 2. creating the same model 
      architectures for comparison experiment.
      The newly introduced class will not be general enough for downstream adaptations, 
      where there will be a bunch of different more complicated models. (i.e. s3prl)
      
      Therefore, based on the minimalistic approach, we put them inside of `Wav2Vec2Model`.
      40f2a085
    • moto's avatar
      Fix HF model integration (#1781) · e9cab8f8
      moto authored
      * Fix HF model integration
      
      Previously, when testing wav2vec models from HF transformers, all the model were
      instantiated as `Wav2Vec2ForCTC` class, while some of them were supposed to be
      `Wav2Vec2Model`.
      
      Fixing this revealed that model importer cannot correctly handle `Wav2Vec2Model` import.
      
      This PR fixes these issues.
      e9cab8f8
    • moto's avatar
      Update reference from master to main elsewhere (#1784) · 1b4b82e0
      moto authored
      
      
      Summary: Update fairseq reference from master to main elsewhere
      
      Reviewed By: alexeib
      
      Differential Revision: D30938472
      
      fbshipit-source-id: 243b98550207f241c9d3265bf3d4060350aaf0a8
      Co-authored-by: default avatarDiana Liskovich <dianaml@fb.com>
      1b4b82e0
  8. 21 Sep, 2021 1 commit
  9. 20 Sep, 2021 2 commits
  10. 17 Sep, 2021 1 commit
  11. 02 Sep, 2021 1 commit
  12. 27 Aug, 2021 2 commits
  13. 26 Aug, 2021 2 commits
  14. 23 Aug, 2021 1 commit
  15. 20 Aug, 2021 1 commit
  16. 19 Aug, 2021 1 commit
  17. 18 Aug, 2021 1 commit
  18. 17 Aug, 2021 1 commit
  19. 12 Aug, 2021 1 commit
    • hwangjeff's avatar
      [Fbsync] Update pitch shift batch consistency test (#1700) · 1a64530d
      hwangjeff authored
      
      
      * Reduce length of waveform in pitch_shift batch_consistency test
      
      Summary: To address the test failure in T96406395
      
      Reviewed By: carolineechen
      
      Differential Revision: D30163741
      
      fbshipit-source-id: f88d86b3da7b1ee52518934567b0b0a62700ee58
      
      * Fix batch consistency test in transforms
      
      Summary: The stress test still fails. Add n_fft to address it.
      
      Reviewed By: mthrok
      
      Differential Revision: D30218279
      
      fbshipit-source-id: 7858efd3e5ac0073193a7883fd314486efc73814
      Co-authored-by: default avatarZhaoheng Ni <zni@fb.com>
      1a64530d
  20. 11 Aug, 2021 1 commit
  21. 10 Aug, 2021 2 commits
  22. 04 Aug, 2021 1 commit
  23. 03 Aug, 2021 2 commits
  24. 02 Aug, 2021 2 commits
  25. 29 Jul, 2021 1 commit
  26. 28 Jul, 2021 1 commit
  27. 26 Jul, 2021 2 commits
  28. 22 Jul, 2021 1 commit
  29. 21 Jul, 2021 1 commit
  30. 20 Jul, 2021 1 commit