class_docstr: The Constant (aka Bias) kernel. Functions drawn from a GP with this kernel
  are constant, i.e. f(x) = c, with c ~ N(0, σ^2). The kernel equation is
  
      k(x, y) = σ²
  
  where:
  σ²  is the variance parameter.
code: def K(
      self, X: TensorType, X2: Optional[TensorType] = None
  ) -> tf.Tensor:
      if X2 is None:
          shape = tf.concat(
              [
                  tf.shape(X)[:-2],
                  tf.reshape(tf.shape(X)[-2], [1]),
                  tf.reshape(tf.shape(X)[-2], [1]),
              ],
              axis=0,
          )
      else:
          shape = tf.concat(
              [tf.shape(X)[:-1], tf.shape(X2)[:-1]], axis=0
          )
  
      return tf.fill(shape, tf.squeeze(self.variance))
  
file_path: GPflow/gpflow/kernels/statics.py
imports: from typing import Optional
  import tensorflow
  from check_shapes import check_shapes, inherit_check_shapes
  from ..base import Parameter, TensorType
  from ..utilities import positive
  from .base import ActiveDims, Kernel
label_desc: Use image node_id 1 for calling the Constant obj's underlying member method code with example usage: obj.K(X, X2) and returns: tf