code: def conv_lstm_2d(
      inputs,
      state,
      output_channels,
      kernel_size=5,
      name=None,
      spatial_dims=None,
  ):
      """2D Convolutional LSTM."""
      input_shape = common_layers.shape_list(inputs)
      batch_size, input_channels = input_shape[0], input_shape[-1]
      if spatial_dims is None:
          input_shape = input_shape[1:]
      else:
          input_shape = spatial_dims + [input_channels]
  
      cell = contrib.rnn().ConvLSTMCell(
          2,
          input_shape,
          output_channels,
          [kernel_size, kernel_size],
          name=name,
      )
      if state is None:
          state = cell.zero_state(batch_size, tf.float32)
      outputs, new_state = cell(inputs, state)
      return outputs, new_state
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import numpy
  from tensor2tensor.layers import common_layers
  from tensor2tensor.utils import contrib
  import tensorflow.compat.v1
  from tensorflow.python.ops import summary_op_util
label_desc: Use image node_id 6 for calling a global function with example usage: conv_lstm_2d(inputs, state, output_channels, kernel_size, name, spatial_dims) and returns: outputs,  new_state