code: def restore_original_dimensions(obs, obs_space, tensorlib=tf):
      
  
      if hasattr(obs_space, "original_space"):
          return _unpack_obs(obs, obs_space.original_space, tensorlib=tensorlib)
      else:
          return obs
docs: Unpacks Dict and Tuple space observations into their original form.
  
      This is needed since we flatten Dict and Tuple observations in transit.
      Before sending them to the model though, we should unflatten them into
      Dicts or Tuples of tensors.
  
      Arguments:
          obs: The flattened observation tensor.
          obs_space: The flattened obs space. If this has the `original_space`
              attribute, we will unflatten the tensor to that shape.
          tensorlib: The library used to unflatten (reshape) the array/tensor.
  
      Returns:
          single tensor or dict / tuple of tensors matching the original
          observation space.