code: def _make_empty_queue_for(k, element):
      """Creates a `tf.Tensor` suitable to hold `k` element-shaped tensors.
  
      For example:
  
      ```python
        element = tf.constant([[0., 1., 2., 3., 4.],
                               [5., 6., 7., 8., 9.]])
  
        # A queue capable of holding 3 elements.
        _make_empty_queue_for(3, element)
        # => [[[ 0.,  0.,  0.,  0.,  0.],
        #      [ 0.,  0.,  0.,  0.,  0.]],
        #
        #     [[ 0.,  0.,  0.,  0.,  0.],
        #      [ 0.,  0.,  0.,  0.,  0.]],
        #
        #     [[ 0.,  0.,  0.,  0.,  0.],
        #      [ 0.,  0.,  0.,  0.,  0.]]]
      ```
  
      Args:
        k: A positive scalar integer, number of elements that each queue will hold.
        element: A `tf.Tensor`, only its shape and dtype information are relevant.
  
      Returns:
        A zero-filed `tf.Tensor` of shape `(k,) + tf.shape(element)` and same dtype
        as `element`.
      """
      queue_shape = ps.concat([[k], ps.shape(element)], axis=0)
      return tf.zeros(
          queue_shape, dtype=dtype_util.base_dtype(element.dtype)
      )
  
file_path: probability/tensorflow_probability/python/optimizer/lbfgs.py
imports: import collections
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.optimizer import bfgs_utils
label_desc: Use image node_id 4 for calling a global function with example usage: _make_empty_queue_for(k, element) and returns: tf