code: def make_non_pad_mask(lengths, xs=None, length_dim=-1):
      """Make mask tensor containing indices of non-padded part.
  
      Args:
          lengths (LongTensor or List): Batch of lengths (B,).
          xs (Tensor, optional): The reference tensor.
              If set, masks will be the same shape as this tensor.
          length_dim (int, optional): Dimension indicator of the above tensor.
              See the example.
  
      Returns:
          ByteTensor: mask tensor containing indices of padded part.
                      dtype=torch.uint8 in PyTorch 1.2-
                      dtype=torch.bool in PyTorch 1.2+ (including 1.2)
  
      Examples:
          With only lengths.
  
          >>> lengths = [5, 3, 2]
          >>> make_non_pad_mask(lengths)
          masks = [[1, 1, 1, 1 ,1],
                   [1, 1, 1, 0, 0],
                   [1, 1, 0, 0, 0]]
  
          With the reference tensor.
  
          >>> xs = torch.zeros((3, 2, 4))
          >>> make_non_pad_mask(lengths, xs)
          tensor([[[1, 1, 1, 1],
                   [1, 1, 1, 1]],
                  [[1, 1, 1, 0],
                   [1, 1, 1, 0]],
                  [[1, 1, 0, 0],
                   [1, 1, 0, 0]]], dtype=torch.uint8)
          >>> xs = torch.zeros((3, 2, 6))
          >>> make_non_pad_mask(lengths, xs)
          tensor([[[1, 1, 1, 1, 1, 0],
                   [1, 1, 1, 1, 1, 0]],
                  [[1, 1, 1, 0, 0, 0],
                   [1, 1, 1, 0, 0, 0]],
                  [[1, 1, 0, 0, 0, 0],
                   [1, 1, 0, 0, 0, 0]]], dtype=torch.uint8)
  
          With the reference tensor and dimension indicator.
  
          >>> xs = torch.zeros((3, 6, 6))
          >>> make_non_pad_mask(lengths, xs, 1)
          tensor([[[1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1],
                   [0, 0, 0, 0, 0, 0]],
                  [[1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1],
                   [0, 0, 0, 0, 0, 0],
                   [0, 0, 0, 0, 0, 0],
                   [0, 0, 0, 0, 0, 0]],
                  [[1, 1, 1, 1, 1, 1],
                   [1, 1, 1, 1, 1, 1],
                   [0, 0, 0, 0, 0, 0],
                   [0, 0, 0, 0, 0, 0],
                   [0, 0, 0, 0, 0, 0],
                   [0, 0, 0, 0, 0, 0]]], dtype=torch.uint8)
          >>> make_non_pad_mask(lengths, xs, 2)
          tensor([[[1, 1, 1, 1, 1, 0],
                   [1, 1, 1, 1, 1, 0],
                   [1, 1, 1, 1, 1, 0],
                   [1, 1, 1, 1, 1, 0],
                   [1, 1, 1, 1, 1, 0],
                   [1, 1, 1, 1, 1, 0]],
                  [[1, 1, 1, 0, 0, 0],
                   [1, 1, 1, 0, 0, 0],
                   [1, 1, 1, 0, 0, 0],
                   [1, 1, 1, 0, 0, 0],
                   [1, 1, 1, 0, 0, 0],
                   [1, 1, 1, 0, 0, 0]],
                  [[1, 1, 0, 0, 0, 0],
                   [1, 1, 0, 0, 0, 0],
                   [1, 1, 0, 0, 0, 0],
                   [1, 1, 0, 0, 0, 0],
                   [1, 1, 0, 0, 0, 0],
                   [1, 1, 0, 0, 0, 0]]], dtype=torch.uint8)
  
      """
      return ~make_pad_mask(lengths, xs, length_dim)
  
file_path: espnet/espnet/nets/pytorch_backend/nets_utils.py
imports: import logging
  from typing import Dict
  import numpy
  import torch
label_desc: Use image node_id 7 for calling a global function with example usage: make_non_pad_mask(lengths, xs, length_dim) and returns: unknown