class_docstr: Implementation of Linear kernel:
  
      :math:`k(x, z) = \sigma^2 x \cdot z.`
  
  Doing Gaussian Process regression with linear kernel is equivalent to doing a
  linear regression.
  
  .. note:: Here we implement the homogeneous version. To use the inhomogeneous
      version, consider using :class:`Polynomial` kernel with ``degree=1`` or making
      a :class:`.Sum` with a :class:`.Constant` kernel.
code: def forward(self, X, Z=None, diag=False):
      return self.variance * self._dot_product(X, Z, diag)
  
file_path: pyro/pyro/contrib/gp/kernels/dot_product.py
imports: import torch
  from torch.distributions import constraints
  from pyro.contrib.gp.kernels.kernel import Kernel
  from pyro.nn.module import PyroParam
label_desc: Use image node_id 2 for calling the Linear obj's underlying member method code with example usage: obj.forward(X, Z, diag) and returns: unknown