From df06031141123780f3ee45f9cbd0790096f865b0 Mon Sep 17 00:00:00 2001 From: Vincent Quenneville-Belair Date: Wed, 21 Oct 2020 16:18:19 -0400 Subject: [PATCH] add image for specaugment. --- docs/source/_static/img/specaugment-freq.jpg | Bin 0 -> 25123 bytes docs/source/_static/img/specaugment-time.jpg | Bin 0 -> 26135 bytes torchaudio/transforms.py | 6 ++++++ 3 files changed, 6 insertions(+) create mode 100644 docs/source/_static/img/specaugment-freq.jpg create mode 100644 docs/source/_static/img/specaugment-time.jpg diff --git a/docs/source/_static/img/specaugment-freq.jpg b/docs/source/_static/img/specaugment-freq.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6bd15a2c327d6e6cc25b51939c8ea0192eb9cb72 GIT binary patch literal 25123 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Ċ@X`Te|>Hj>LzNMEf`yg~xwZIFfh0_Vx3n@wY_L+v zP~WZRPdw>-hI#cg8|ZMH>ClitC;%V54LBu(xKB$b{ROeF@GzjGbXaH^O?hjKuU_WD zy{*%Wg$f@V@}wUt)k%xT-u63t(t$Xn@xC~ z@0G=?gNi_!EFhbIuE4m|Yp}`9-KLOA_?%B;C}j~I8;Grg)1?Z*sANE!uv|PjiF;N| z)o8TjF)GWh5;J_#9CrL;l#3silfp;D>cRf|yFi{qEN9vj#%bIx!;H7{1e|trpf0p0 zNh>wKq^k(_L{@b_6w2NGrofs6aSMIsG(>8;Lvqh&7;W@xYjikHt?s6@)BMW~DG7K- zaNRF|;!-3)%Ynyb=0v9liWgLeyhiLDnC<2SX83biAJr@wjk+D0&3ed3CpUG^`mPKn;Xtm34BXquDb0U4Y3@UxdeQnGo6RZ7Jdx}TE?Dh34DcT zi{3$kX>Sj2|BzuBPpJE4vbvu0f zyefxzA0~<^=!To0=U@T(f*?*|V!$dgcLJs1Wx7D|+Sp)7i$^ZcVPP>sZ2OT-$L< z3l)l<Q(;;uo8Lhpq-M-8Yg}qBTN-ic# zeY1W$^28oCpd5^rn4AF(^^7YjWZoC=dV|mOP?ngrD>|0e=&i2buiE>jY*S`(W7yXG z<8v-)uLyVjGugb;ACJ2P@Uezzi9;LR)}6f%b-o=6-Y7>&-KRQKl9Cj4hcw*E=$FR+ zoI0%)B%^eAI6P^;TjHaH2&f+v-$Hu(IM?Uch9z9wDtLwbhtg)6qn|eg`wykxEs5AL zv}FZadt~!ZZe#VRD`mGa=(V7_p;eWWvck0C8^=#@xk;8!?B_d`7o}FO6X;x7oeok| z5wsC?d|i>MZbxP0izlEgNrG!RVm2u;JU^$2G8Y?1L~BHDwR}o8)vWt2a@RbW`zC>u zLX&{uk(?+l1In2!suUp@!ihp!00YT*WL>DqpgpSD=!b0EMEQ-fFESN{O5NX#6pg%O z7L%&nwp?QMJHoWWDTG)r4O?QRdbiCzKScS@&Ok45JC!UEHoIg3hwA$uf|Zq(Nfl3( zEtWatd(QE`)_xbydMr#8bVkAC9+RUQW~{wIC8g~w-H9UC;TY*4IJBb}K!%^Oq3e$- zp%zeoDpf2-)8UN~OprK6uHv=Ob=rNmlI2Ea|DQKMMQ3=sy9O!pbbm)A4LhXW5#$y zx2g|dyY{q?RL34Iap2w+NzNFE!L`6C+g%L}S64CI!;&Lw0fvT^%3}w7nPVZj*)qTG zZgup!y?_eqv!C-ah5^A%xr+?vhes>nm{%PXshJ;NJD{#EbvW=0?-&_OnBsG!N8WT= zFT;`E=c}VKPwCxp3tE7Gm;w=$%VpodwcAz z>k+*l)FnKgu$`LfN}HOx!C!LkH9aa;c4Lj{_di;*Z+kskGDCze16-p-(8e?v@z!{Y zEpg!3%0X#VopN=~Z_n#Vt$8(5w!9BqGm%%#bhpS4)|*e>5FY<-b79^8@CMy;><@He zifGw|jCK&FMTVSd#;slux@$gLL^J?gfPj!C)C zTR*VYjkx;}v|V|DanhO^NJ2*a!A(jLOQTwpoGDB2AuXX<6i#={OIC7B4jjk$CUum# zs2)pf;CVVeRzsZ2U6&P0k$<3%8OI$P#m?omGmB9rVuFY%oV46dhQP2FS_Offli}a^ u>3%Tm&UK~m&)_E~4`wb%OWtDjdZ0G+O;jwS#C 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 YesR)0qx$W-|4M=6|M*Q5On-m;KgTYZHUIzs literal 0 HcmV?d00001 diff --git a/torchaudio/transforms.py b/torchaudio/transforms.py index 2e7e4f37ee..6e515fa666 100644 --- a/torchaudio/transforms.py +++ b/torchaudio/transforms.py @@ -821,6 +821,9 @@ def forward(self, specgram: Tensor, mask_value: float = 0.) -> Tensor: class FrequencyMasking(_AxisMasking): r"""Apply masking to a spectrogram in the frequency domain. + In the image below, a frequency band has been masked on a spectrogram. + .. image:: _static/img/specaugment-freq.jpg + Args: freq_mask_param (int): maximum possible length of the mask. Indices uniformly sampled from [0, freq_mask_param). @@ -835,6 +838,9 @@ def __init__(self, freq_mask_param: int, iid_masks: bool = False) -> None: class TimeMasking(_AxisMasking): r"""Apply masking to a spectrogram in the time domain. + In the image below, a time band has been masked on a spectrogram. + .. image:: _static/img/specaugment-time.jpg + Args: time_mask_param (int): maximum possible length of the mask. Indices uniformly sampled from [0, time_mask_param).