docs: def _build(self, inputs):
      """Connects the SliceByDim module into the graph.
  
      Args:
        inputs: `Tensor` to slice. Its rank must be greater than the maximum
            dimension specified in `dims` (plus one as python is 0 indexed).
  
      Returns:
        The sliced tensor.
  
      Raises:
        ValueError: If `inputs` tensor has insufficient rank.
      """
      shape_inputs = inputs.get_shape().as_list()
      rank = len(shape_inputs)
  
      # Checks that the rank of the tensor.
      max_dim = np.max(self._dims) + 1
      if rank < max_dim:
        raise ValueError("Rank of inputs must be at least {}.".format(max_dim))
  
      # Builds default lists for begin and size to pass to `tf.slice`.
      full_begin = [0] * rank
      full_size = [-1] * rank
  
      # Updates lists with what the user provided.
      for dim, begin, size in zip(self._dims, self._begin, self._size):
        full_begin[dim] = begin
        full_size[dim] = size
  
      return tf.slice(inputs, begin=full_begin, size=full_size)