class_docstr: SV2P with specific changes for atari pipeline.
class_docstr_tok: ["SV2P","with","specific","changes","for","atari","pipeline","."]
code: def init_internal_states(self):
      # Hardcoded LSTM-CONV shapes.
      # These sizes are calculated based on original atari frames.
      # TODO(mbz): find a cleaner way of doing this maybe?!
      batch_size = self.hparams.batch_size
      shapes = [
          (batch_size, 53, 40, 8),
          (batch_size, 53, 40, 8),
          (batch_size, 27, 20, 16),
          (batch_size, 27, 20, 16),
          (batch_size, 53, 40, 8),
      ]
  
      with tf.variable_scope("clean_scope"):
          # Initialize conv-lstm states with zeros
          init = tf.zeros_initializer()
          states = []
          for i, shape in enumerate(shapes):
              # every lstm-conv state has two variables named c and h.
              c = tf.get_variable(
                  "c%d" % i, shape, trainable=False, initializer=init
              )
              h = tf.get_variable(
                  "h%d" % i, shape, trainable=False, initializer=init
              )
              states.append((c, h))
          return states
  
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 1 for calling the NextFrameSv2pAtari obj's underlying member method code with example usage: obj.init_internal_states() and returns: states