class_docstr: Extend Glow for video.
docstr: Model the prior over z_{t} as a function of X_{t-1}.
  
  Returns:
    objective: float, log-likelihood.
    dist: instance of tfp.distributions.Normal.
  
  Raises:
    ValueError: If input_height is not equal to input_width, not even
                 or if the image width is smaller than the latent width.
code: def get_squeeze_prior(self):
      """Model the prior over z_{t} as a function of X_{t-1}.
  
      Returns:
        objective: float, log-likelihood.
        dist: instance of tfp.distributions.Normal.
  
      Raises:
        ValueError: If input_height is not equal to input_width, not even
                     or if the image width is smaller than the latent width.
      """
      _, prior_height, _, prior_channels = self.z_top_shape
      _, input_height, input_width, _ = common_layers.shape_list(
          self.input_frame
      )
  
      if input_height != input_width:
          raise ValueError(
              "input height should be equal to input width"
          )
      if input_height % 2 != 0:
          raise ValueError("input height should be even")
      if input_height < prior_height:
          raise ValueError("input should be larger than the prior.")
  
      # mean, log_std = NN(X_0)
      # Reduce the spatial dimension by a factor of "squeeze_factor".
      # and convolve with a stride of 2
      squeeze_factor = input_height // (2 * prior_height)
      x = glow_ops.squeeze(
          "prior_squeeze",
          self.input_frame,
          factor=squeeze_factor,
          reverse=False,
      )
      mean_and_log_std = glow_ops.conv(
          "prior_conv",
          x,
          2 * prior_channels,
          stride=[2, 2],
          apply_actnorm=False,
          conv_init="zeros",
      )
      mean, log_scale = tf.split(
          mean_and_log_std, num_or_size_splits=2, axis=-1
      )
      return tfp.distributions.Normal(mean, tf.exp(log_scale))
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import numpy
  from six.moves import range
  from tensor2tensor.layers import common_layers
  from tensor2tensor.layers import common_video
  from tensor2tensor.layers import modalities
  from tensor2tensor.models.research import glow
  from tensor2tensor.models.research import glow_ops
  from tensor2tensor.utils import contrib
  from tensor2tensor.utils import registry
  import tensorflow.compat.v1
  import tensorflow_probability
label_desc: Use image node_id 5 for calling the NextFrameGlow obj's underlying member method code with example usage: obj.get_squeeze_prior() and returns: tfp