Wenet模型流程梳理

2022/4/13 6:14:47

本文主要是介绍Wenet模型流程梳理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

asr_model

  • encoder

    input:
    speech(16,80,183)# 183属于batch中最大元素决定 speech_length
    text (16,6)# 6由batch最大值决定 text_length
    
    • make_pad_mask

      mask :(16,183)
      
    • subsampling

      input(speech,mask)
      
      • conv(speech)
        torch.nn.Conv2d(1, odim, 3, 2),
        torch.nn.ReLU(),
        torch.nn.Conv2d(odim, odim, 3, 2),
        torch.nn.ReLU()
        # output (16,256,45,19)
        
      • self.out: linear
        torch.nn.Linear(odim * (((idim - 1) // 2 - 1) // 2), odim))
        # output (16,45,256)
        
      • self.pos_enc
        pos_emb (1,45,256) 
        # output  
        # speech = torch.nn.Dropout(speech)  (16,45,256)
        # pos_emb = torch.nn.Dropout(pos_emb) (1,45,256) 
        
    • $subsampling

      #output: speech , pos_emb , mask(16,1,45)  #x_mask[:, :, :-2:2][:, :, :-2:2]
      
    • add_optional_chunk_mask

      add_optional_chunk_mask
      


这篇关于Wenet模型流程梳理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程