code: def with_rank(x, rank):  # pylint: disable=redefined-outer-name
      """Returns a shape based on `x` with the given `rank`.
  
      This method promotes a completely unknown shape to one with a known rank.
  
      For more details, see `help(tf.TensorShape.with_rank)`.
  
      Args:
        x: object representing a shape; convertible to `tf.TensorShape`.
        rank: An `int` representing the rank of `x`, or else an assertion is raised.
  
      Returns:
        shape: a shape having `type(x)` but guaranteed to have given rank (or else
               an assertion was raised).
  
      Raises:
        ValueError: If `x` does not represent a shape with the given `rank`.
      """
      return _cast_tensorshape(
          tf.TensorShape(x).with_rank(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 14 for calling a global function with example usage: with_rank(x, rank) and returns: _cast_tensorshape