From 29834f7a271af2d4fdc5ec9c5fbb060fdd1718be Mon Sep 17 00:00:00 2001 From: dohe0342 Date: Fri, 9 Jun 2023 16:16:36 +0900 Subject: [PATCH] from local --- egs/tedlium3/ASR/.lora.sh.swp | Bin 12288 -> 12288 bytes .../.asr_datamodule.py.swp | Bin 24576 -> 36864 bytes .../.asr_datamodule_libri.py.swp | Bin 0 -> 16384 bytes .../.train_tta.py.swp | Bin 16384 -> 81920 bytes .../asr_datamodule.py | 33 ++++++++++++++---- .../train_tta.py | 26 ++------------ 6 files changed, 30 insertions(+), 29 deletions(-) create mode 100644 egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/.asr_datamodule_libri.py.swp diff --git a/egs/tedlium3/ASR/.lora.sh.swp b/egs/tedlium3/ASR/.lora.sh.swp index 02c4383328872f70c50ce5f0641d453b2ace52dd..debe70d267cbb46f68c27ea439f6a0c04c87ef12 100644 GIT binary patch delta 87 zcmZojXh;xEG6?hZRj|}EU;qLE28N?&n^InE6urgF7`pibvjPvJ%Vt4=&-}cH*%=t# jb3oJpg%r3MIllq9pMd!NW>v*g?33?ncx*P;Jjn(CFvl42 delta 98 zcmZojXh;xEG6?hZRj|}EU;qLE28Qitn^F#L6urgF$gueXvjPvJ>t;cL&-}dW*%=t_ vb3oJpg%r3MIh8mW7@h%z9&J`tJjFiwzlH@@K~ZX2W`#moe#K@(>#k56l~W diff --git a/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/.asr_datamodule.py.swp b/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/.asr_datamodule.py.swp index e86a6fce2e98a182b140636d655c02278d848b48..41504430cf3edf158b5a0cbc4eda23a9b6fd338d 100644 GIT binary patch delta 2772 zcmbW(drVVT9Ki8gTcFe;G){0DrBENO3WCh>bczuszIeD1Q5<$s9kT_;V-AOu88e(y z6FF+4dnj%ynk|S|UDRQw@ojvuAZ9U}bEt_5L#NUCz}qQM8}B%hou$bRdvQr2pNJ2JhH0$o?xCqVcQ00(#ZF{G zCNRjO(O*$k!;Y!QKnQ$sv4^76L&Z*fh-@Uo0&m>(QZ~3xAOBL)eNh@Hu892~h~dUGjYd8?XlDSOh1=qc`r6ZdnI4 z`UL(MleH*DGFr)d3oc2so9aG&k(1b3z1qMk_z(uy+){^l2bSyX5C5;@a*SB=s6)liUalz}XP ziK=OgR^xuk{(iv;Y=#T7Fax787$!XAYx1jCa2Q{r0DbT>?((ObumTRm!G!CS`7W$O zB}y?5@rctZ7RA8i4)uN(TOgl<2>eX_pTi-IFh#$lo=ObSi9X|uV&+tT(LPWwj03DP z=wW%eBGF>;d-e?2h>@^Q>S=lY5iu7On$rp$vkP3Lz>(Yae29Z7K|MmBzcI9GU|{e+ z;~g3n){(ieuFUa!uc{+nZ_xY63fl!4PqQ$kx!w0XSAJt$i3${AEP~KX*~y;t6*gfZ zMnkqGS&p&{S7HX@AzM^1WGU988crl43M1eH*_x`nc*s^UnTA*lf)>}v!*^JPN_>ob zxG)4Z$XwkZ6=zY4w=fBjh`?h~(uhr1fDp8jp37*!2Jj1wCY}!%8(Bil3+k1tK5qv$ig6a;{gl1fjw9X zC!%4Lud;Sl_XG|23^S1p3v{^6s?VSfi;;~Cq$3tFkgY<#!Y*Mq)?*=Tkgeh|Ie&y> zkpIHCFcunpZ{p9+7a$L^SI9_QmkB@LnedYdJwsmfW*85!K1JoTE PrQZML-IFHDvKIaY2s!*p delta 1332 zcmXZbeMnPL7{~E5-CV29`BFwnWl0q6mYS7?R`Ug=B6SggW0sZEQqz1XP?8Oynh2F1 zDJY^@Mi`OUMJkGl!vCULDuonAMi?1LWfq0@y|oLUan2o_d!FBUj@KXJeWZ)om$+-o z_P7nJ5(Q6$5Mxi9iVv>ni5at6^}@ru5bY11av2#h*QEbH5v9_>%n+QpWGl1K;4DWC zL?l>S-xamR=`BgT{H5cEwOJyr#Zx~^2nX`95(;dv!iaY>h3LQ@; zXHkP{EJqv`;mZsm2GEbkI1VQij2NluoRLMLU_!Hbf&j%Nq1;3nijWnm@KFXvjFIgXRHGEzumVxgGW)4(4J51H60b@6 zY)V94<<0}{?27tq_ujfAHSSuq*OsUEd}0TSsXz-jCwKybRv|8<9TNMn74t9^F2r|y z!+l)DNfaXo3c~QmBE)Zu;5|CvM;S6P8xPFH*V8_xAEj-mqPaALiQzMaY77KhsdKN^vX2~ruyFnZ90#YR=9 z|7?)n60_Wpk}TWT&CwsJb=S!5bp`(i&r=qvN{UM_htq6w$kC+^r}c$Mmov7_uD7sd z@g&&IrD~)-ROgw`s?&6c);aC)p#jCn#8QlNMjtSOK3u|K#9}@s=#yoshAZi;>9<*PD8;T1Yjk9dqz_InIK si@*;dS_h;5HN?#w3F?qz$S5D3w#!34v-EF{mi8T$GPgicyPXchUl~c@JOBUy diff --git a/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/.asr_datamodule_libri.py.swp b/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/.asr_datamodule_libri.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..2b4a8325e8905eb20a93838ec9cb90bc735a538e GIT binary patch literal 16384 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
  • *+@ki-r9b4I1-}xu{7; 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 G?f(a5!zULM<a29o0 zt`lTIFJJ^+r7Y~q`=W?2>ZS|5i{4;p*^60yXFFYZ%^y2#V* zKYH-6+}+?83`K~C&(B9ZJEuIaESY&*akczX7szOoL>s5 z-mI=`eI~F$xF^6Xu$3^If zqXQw-!G+~gA>QE)CNPF!3?YIR1YyI1Q-~Ls#C43~G&-Ghcs~<6K0AbXf=9TCQJg{t znotc3K9vaZ8Z)?u3EaVL+`<)%Ac+V%u@|-YU>D*&<}izCJAe2AlS|OC4-$5KvH)}7E~KptN$MF({? zq9tVJMs=XIt0&ddNTu*@AQ@GA^+3!2#mQ7Sky4|2yyxU<&1m1{sZiCk@kA`5Cbglc zY-VdiX1u2I-?vhUu-4b0pQ9>#@_^B{w7GQ;U0Zv=CjWX4DAyiv{pYc*ZZ%5l14VV& JWA*np{RMmBBy9iy diff --git a/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/asr_datamodule.py b/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/asr_datamodule.py index 387be7bca..4d3e0f93e 100644 --- a/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/asr_datamodule.py +++ b/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/asr_datamodule.py @@ -31,7 +31,10 @@ from lhotse.dataset import ( SingleCutSampler, SpecAugment, ) -from lhotse.dataset.input_strategies import OnTheFlyFeatures +from lhotse.dataset.input_strategies import ( + OnTheFlyFeatures, + AudioSamples, +) from torch.utils.data import DataLoader from icefall.utils import str2bool @@ -168,6 +171,18 @@ class TedLiumAsrDataModule: help="When enabled, select noise from MUSAN and mix it" "with training dataset.", ) + group.add_argument( + "--input-strategy", + type=str, + default="AudioSamples", + help="AudioSamples or PrecomputedFeatures", + ) + + group.add_argument( + "--spk-id", + type=int, + default=0, + ) def train_dataloaders( self, cuts_train: CutSet, sampler_state_dict: Optional[Dict[str, Any]] = None @@ -238,13 +253,15 @@ class TedLiumAsrDataModule: # Drop feats to be on the safe side. train = K2SpeechRecognitionDataset( cut_transforms=transforms, - input_strategy=OnTheFlyFeatures(Fbank(FbankConfig(num_mel_bins=80))), + #input_strategy=OnTheFlyFeatures(Fbank(FbankConfig(num_mel_bins=80))), + input_strategy=eval(self.args.input_strategy)(), input_transforms=input_transforms, return_cuts=self.args.return_cuts, ) else: train = K2SpeechRecognitionDataset( cut_transforms=transforms, + input_strategy=eval(self.args.input_strategy)(), input_transforms=input_transforms, return_cuts=self.args.return_cuts, ) @@ -295,12 +312,14 @@ class TedLiumAsrDataModule: if self.args.on_the_fly_feats: validate = K2SpeechRecognitionDataset( cut_transforms=transforms, - input_strategy=OnTheFlyFeatures(Fbank(FbankConfig(num_mel_bins=80))), + input_strategy=eval(self.args.input_strategy)(), + #input_strategy=OnTheFlyFeatures(Fbank(FbankConfig(num_mel_bins=80))), return_cuts=self.args.return_cuts, ) else: validate = K2SpeechRecognitionDataset( cut_transforms=transforms, + input_strategy=eval(self.args.input_strategy)(), return_cuts=self.args.return_cuts, ) @@ -326,11 +345,13 @@ class TedLiumAsrDataModule: logging.debug("About to create test dataset") if self.args.on_the_fly_feats: test = K2SpeechRecognitionDataset( - input_strategy=OnTheFlyFeatures(Fbank(FbankConfig(num_mel_bins=80))), + #input_strategy=OnTheFlyFeatures(Fbank(FbankConfig(num_mel_bins=80))), + input_strategy=eval(self.args.input_strategy)(), return_cuts=self.args.return_cuts, ) else: test = K2SpeechRecognitionDataset( + input_strategy=eval(self.args.input_strategy)(), return_cuts=self.args.return_cuts, ) @@ -368,6 +389,6 @@ class TedLiumAsrDataModule: return load_manifest_lazy(self.args.manifest_dir / "tedlium_cuts_test.jsonl.gz") @lru_cache() - def user_test_cuts(self, user) -> CutSet: + def user_test_cuts(self, spk_id) -> CutSet: logging.info("About to get test cuts") - return load_manifest_lazy(self.args.manifest_dir / f"tedlium_cuts_test_{user}.jsonl.gz") + return load_manifest_lazy(self.args.manifest_dir / f"tedlium_cuts_test_{spk_id}.jsonl.gz") diff --git a/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/train_tta.py b/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/train_tta.py index 88b5617fd..143a23f09 100755 --- a/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/train_tta.py +++ b/egs/tedlium3/ASR/pruned_transducer_stateless_d2v_v2/train_tta.py @@ -20,27 +20,6 @@ """ Usage: -export CUDA_VISIBLE_DEVICES="0,1,2,3" - -./pruned_transducer_stateless7_ctc/train.py \ - --world-size 4 \ - --num-epochs 30 \ - --start-epoch 1 \ - --exp-dir pruned_transducer_stateless7_ctc/exp \ - --full-libri 1 \ - --max-duration 300 - -# For mix precision training: - -./pruned_transducer_stateless7_ctc/train.py \ - --world-size 4 \ - --num-epochs 30 \ - --start-epoch 1 \ - --use-fp16 1 \ - --exp-dir pruned_transducer_stateless7_ctc/exp \ - --full-libri 1 \ - --max-duration 550 - # For d2v-T training: export CUDA_VISIBLE_DEVICES="0,1,2,3,4,5,6,7" @@ -87,7 +66,7 @@ import sentencepiece as spm import torch import torch.multiprocessing as mp import torch.nn as nn -from asr_datamodule import LibriSpeechAsrDataModule +from asr_datamodule import TedLiumAsrDataModule from decoder import Decoder from joiner import Joiner from lhotse.cut import Cut @@ -1365,7 +1344,8 @@ def run(rank, world_size, args, wb=None): if params.inf_check: register_inf_check_hooks(model) - librispeech = LibriSpeechAsrDataModule(args) + #librispeech = LibriSpeechAsrDataModule(args) + ted = TedLiumAsrDataModule(args) train_cuts = librispeech.train_clean_100_cuts() if params.full_libri: