class_docstr: VC Transformer module.
  
  This is a module of the Voice Transformer Network
  (a.k.a. VTN or Transformer-VC) described in
  `Voice Transformer Network: Sequence-to-Sequence
  Voice Conversion Using Transformer with
  Text-to-Speech Pretraining`_,
  which convert the sequence of acoustic features
  into the sequence of acoustic features.
  
  .. _`Voice Transformer Network: Sequence-to-Sequence
      Voice Conversion Using Transformer with
      Text-to-Speech Pretraining`:
      https://arxiv.org/pdf/1912.06813.pdf
class_docstr_tok: ["VC","Transformer","module",".","This","is","a","module","of","the","Voice","Transformer","Network","(","a.k.a",".","VTN","or","Transformer-VC",")","described","in","`","Voice","Transformer","Network",":","Sequence-to-Sequence","Voice","Conversion","Using","Transformer","with","Text-to-Speech","Pretraining","`","_",",","which","convert","the","sequence","of","acoustic","features","into","the","sequence","of","acoustic","features",".","..","_","`","Voice","Transformer","Network",":","Sequence-to-Sequence","Voice","Conversion","Using","Transformer","with","Text-to-Speech","Pretraining","`",":","https",":","\/\/arxiv.org\/pdf\/1912.06813.pdf"]
docstr: Make masks for self-attention.
  
  Args:
      ilens (LongTensor or List): Batch of lengths (B,).
  
  Returns:
      Tensor: Mask tensor for self-attention.
              dtype=torch.uint8 in PyTorch 1.2-
              dtype=torch.bool in PyTorch 1.2+ (including 1.2)
  
  Examples:
      >>> ilens = [5, 3]
      >>> self._source_mask(ilens)
      tensor([[[1, 1, 1, 1, 1],
              [[1, 1, 1, 0, 0]]], dtype=torch.uint8)
docstr_tok: ["Make","masks","for","self-attention",".","Args",":","ilens","(","LongTensor","or","List",")",":","Batch","of","lengths","(","B",",",")",".","Returns",":","Tensor",":","Mask","tensor","for","self-attention",".","dtype=torch.uint8","in","PyTorch","1.2-","dtype=torch.bool","in","PyTorch","1.2+","(","including","1.2",")","Examples",":",">",">",">","ilens","=","[","5",",","3","]",">",">",">","self._source_mask","(","ilens",")","tensor","(","[","[","[","1",",","1",",","1",",","1",",","1","]",",","[","[","1",",","1",",","1",",","0",",","0","]","]","]",",","dtype=torch.uint8",")"]
code: def _source_mask(self, ilens):
      """Make masks for self-attention.
  
      Args:
          ilens (LongTensor or List): Batch of lengths (B,).
  
      Returns:
          Tensor: Mask tensor for self-attention.
                  dtype=torch.uint8 in PyTorch 1.2-
                  dtype=torch.bool in PyTorch 1.2+ (including 1.2)
  
      Examples:
          >>> ilens = [5, 3]
          >>> self._source_mask(ilens)
          tensor([[[1, 1, 1, 1, 1],
                  [[1, 1, 1, 0, 0]]], dtype=torch.uint8)
  
      """
      x_masks = make_non_pad_mask(ilens)
      return x_masks.unsqueeze(-2)
  
imports: import logging
  import torch
  import torch.nn.functional
  from espnet.nets.pytorch_backend.e2e_asr_transformer import subsequent_mask
  from espnet.nets.pytorch_backend.e2e_tts_tacotron2 import Tacotron2Loss
  from espnet.nets.pytorch_backend.e2e_tts_transformer import TTSPlot
  from espnet.nets.pytorch_backend.e2e_tts_transformer import GuidedMultiHeadAttentionLoss
  from espnet.nets.pytorch_backend.nets_utils import make_non_pad_mask
  from espnet.nets.pytorch_backend.tacotron2.decoder import Postnet
  from espnet.nets.pytorch_backend.tacotron2.decoder import Prenet
  from espnet.nets.pytorch_backend.tacotron2.encoder import Encoder
  from espnet.nets.pytorch_backend.transformer.attention import MultiHeadedAttention
  from espnet.nets.pytorch_backend.transformer.decoder import Decoder
  from espnet.nets.pytorch_backend.transformer.embedding import PositionalEncoding, ScaledPositionalEncoding
  from espnet.nets.pytorch_backend.transformer.encoder import Encoder
  from espnet.nets.pytorch_backend.transformer.initializer import initialize
  from espnet.nets.tts_interface import TTSInterface
  from espnet.utils.cli_utils import strtobool
  from espnet.utils.fill_missing_args import fill_missing_args
label_desc: Use image node_id 10 for calling the Transformer obj's underlying member method code with example usage: obj._source_mask(ilens) and returns: x_masks