class_docstr: Expands dims along a particular axis.
  
  Args:
      axis: Axis to expand.  A new dim is added before this axis. May be a
        negative value.  Must not be a tensor.
  
  Input shape:
      `(batch_size,) + shape`
  
  Output shape:
      `(batch_size,) + shape + [1]`, if `axis == -1`.
  
      `(batch_size,) + shape[:axis + 1] + [1] + shape[axis + 1:]`,
      if `axis < -1`.
  
      `(batch_size,) + shape[:axis] + [1] + shape[axis:]`, if `axis >= 0`.
code: def compute_output_shape(self, input_shape):
      input_shape = tf.TensorShape(input_shape)
      if input_shape.rank is None:
          return input_shape
      input_shape = input_shape.as_list()
      if self.axis == -1:
          output_shape = input_shape + [1]
      elif self.axis < 0:
          output_shape = (
              input_shape[: self.axis + 1]
              + [1]
              + input_shape[self.axis + 1 :]
          )
      else:
          output_shape = (
              input_shape[: self.axis] + [1] + input_shape[self.axis :]
          )
      return tf.TensorShape(output_shape)
  
file_path: agents/tf_agents/networks/expand_dims_layer.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
label_desc: Use image node_id 2 for calling the ExpandDims obj's underlying member method code with example usage: obj.compute_output_shape(input_shape) and returns: tf, input_shape