code: def with_rank_at_least(
      x, rank
  ):  # pylint: disable=redefined-outer-name
      """Returns a shape based on `x` with at least the given `rank`.
  
      For more details, see `help(tf.TensorShape.with_rank_at_least)`.
  
      Args:
        x: object representing a shape; convertible to `tf.TensorShape`.
        rank: An `int` representing the minimum rank of `x` or else an assertion is
          raised.
  
      Returns:
        shape: a shape having `type(x)` but guaranteed to have at least the given
          rank (or else an assertion was raised).
  
      Raises:
        ValueError: If `x` does not represent a shape with at least the given
          `rank`.
      """
      return _cast_tensorshape(
          tf.TensorShape(x).with_rank_at_least(rank), type(x)
      )
  
file_path: probability/tensorflow_probability/python/internal/tensorshape_util.py
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import tensor_util
label_desc: Use image node_id 15 for calling a global function with example usage: with_rank_at_least(x, rank) and returns: _cast_tensorshape