code: def unsqueeze(x, x_mask=None, num_sqz=2):
      """GlowTTS unsqueeze operation
  
      Note:
          each 's' is a n-dimensional vector.
          [[s1, s3, s5], [s2, s4, s6]] --> [[s1, s3, s5], [s2, s4, s6]]
      """
      b, c, t = x.size()
  
      x_unsqz = x.view(b, num_sqz, c // num_sqz, t)
      x_unsqz = (
          x_unsqz.permute(0, 2, 3, 1)
          .contiguous()
          .view(b, c // num_sqz, t * num_sqz)
      )
  
      if x_mask is not None:
          x_mask = (
              x_mask.unsqueeze(-1)
              .repeat(1, 1, 1, num_sqz)
              .view(b, 1, t * num_sqz)
          )
      else:
          x_mask = torch.ones(b, 1, t * num_sqz).to(
              device=x.device, dtype=x.dtype
          )
      return x_unsqz * x_mask, x_mask
  
file_path: TTS/TTS/tts/layers/glow_tts/decoder.py
imports: import torch
  from torch import nn
  from TTS.tts.layers.glow_tts.glow import InvConvNear, CouplingBlock
  from TTS.tts.layers.generic.normalization import ActNorm
label_desc: Use image node_id 2 for calling a global function with example usage: unsqueeze(x, x_mask, num_sqz) and returns: unknown,  x_mask