code: def squeeze(x, x_mask=None, num_sqz=2):
      """GlowTTS squeeze operation
      Increase number of channels and reduce number of time steps
      by the same factor.
  
      Note:
          each 's' is a n-dimensional vector.
          [s1,s2,s3,s4,s5,s6] --> [[s1, s3, s5], [s2, s4, s6]]"""
      b, c, t = x.size()
  
      t = (t // num_sqz) * num_sqz
      x = x[:, :, :t]
      x_sqz = x.view(b, c, t // num_sqz, num_sqz)
      x_sqz = (
          x_sqz.permute(0, 3, 1, 2)
          .contiguous()
          .view(b, c * num_sqz, t // num_sqz)
      )
  
      if x_mask is not None:
          x_mask = x_mask[:, :, num_sqz - 1 :: num_sqz]
      else:
          x_mask = torch.ones(b, 1, t // num_sqz).to(
              device=x.device, dtype=x.dtype
          )
      return x_sqz * 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 1 for calling a global function with example usage: squeeze(x, x_mask, num_sqz) and returns: unknown,  x_mask