class_docstr: Implementation of RationalQuadratic kernel:
  
      :math:`k(x, z) = \sigma^2 \left(1 + 0.5 \times \frac{|x-z|^2}{\alpha l^2}
      \right)^{-\alpha}.`
  
  :param torch.Tensor scale_mixture: Scale mixture (:math:`\alpha`) parameter of this
      kernel. Should have size 1.
code: def forward(self, X, Z=None, diag=False):
      if diag:
          return self._diag(X)
  
      r2 = self._square_scaled_dist(X, Z)
      return self.variance * (1 + (0.5 / self.scale_mixture) * r2).pow(
          -self.scale_mixture
      )
  
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 RationalQuadratic obj's underlying member method code with example usage: obj.forward(X, Z, diag) and returns: unknown, self