class_docstr: SV2P with discrete latent.
class_docstr_tok: ["SV2P","with","discrete","latent","."]
docstr: Simple multi conv ln relu.
docstr_tok: ["Simple","multi","conv","ln","relu","."]
code: def basic_conv_net(self, images, conv_size, scope):
      """Simple multi conv ln relu."""
      conv_size = self.tinyify(conv_size)
      with tf.variable_scope(scope, reuse=tf.AUTO_REUSE):
          x = images
          for i, c in enumerate(conv_size):
              if i > 0:
                  x = tf.nn.relu(x)
              x = common_layers.make_even_size(x)
              x = tfl.conv2d(
                  x,
                  c,
                  [3, 3],
                  strides=(2, 2),
                  activation=None,
                  padding="SAME",
                  name="conv%d" % i,
              )
              x = tfcl.layer_norm(x)
      return x
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from tensor2tensor.layers import common_layers
  from tensor2tensor.layers import common_video
  from tensor2tensor.layers import discretization
  from tensor2tensor.models.video import base
  from tensor2tensor.models.video import base_vae
  from tensor2tensor.utils import contrib
  from tensor2tensor.utils import registry
  import tensorflow.compat.v1
label_desc: Use image node_id 2 for calling the NextFrameSv2pDiscrete obj's underlying member method code with example usage: obj.basic_conv_net(images, conv_size, scope) and returns: x