class_docstr: Decorates an existing kernel object with an output scale, i.e.
  
  .. math::
  
     \begin{equation*}
        K_{\text{scaled}} = \theta_\text{scale} K_{\text{orig}}
     \end{equation*}
  
  where :math:`\theta_\text{scale}` is the `outputscale` parameter.
  
  In batch-mode (i.e. when :math:`x_1` and :math:`x_2` are batches of input matrices), each
  batch of data can have its own `outputscale` parameter by setting the `batch_shape`
  keyword argument to the appropriate number of batches.
  
  .. note::
      The outputscale parameter is parameterized on a log scale to constrain it to be positive.
      You can set a prior on this parameter using the outputscale_prior argument.
  
  Args:
      base_kernel (Kernel):
          The base kernel to be scaled.
      batch_shape (int, optional):
          Set this if you want a separate outputscale for each batch of input data. It should be `b`
          if x1 is a `b x n x d` tensor. Default: `torch.Size([])`
      outputscale_prior (Prior, optional): Set this if you want to apply a prior to the outputscale
          parameter.  Default: `None`
      outputscale_constraint (Constraint, optional): Set this if you want to apply a constraint to the
          outputscale parameter. Default: `Positive`.
  
  Attributes:
      base_kernel (Kernel):
          The kernel module to be scaled.
      outputscale (Tensor):
          The outputscale parameter. Size/shape of parameter depends on the batch_shape arguments.
  
  Example:
      >>> x = torch.randn(10, 5)
      >>> base_covar_module = gpytorch.kernels.RBFKernel()
      >>> scaled_covar_module = gpytorch.kernels.ScaleKernel(base_covar_module)
      >>> covar = scaled_covar_module(x)  # Output: LinearOperator of size (10 x 10)
class_docstr_tok: ["Decorates","an","existing","kernel","object","with","an","output","scale",",","i.e",".","..","math",":",":","\\begin","{","equation","*","}","K_","{","\\text","{","scaled","}","}","=","\\theta_\\text","{","scale","}","K_","{","\\text","{","orig","}","}","\\end","{","equation","*","}","where",":","math",":","`","\\theta_\\text","{","scale","}","`","is","the","`","outputscale","`","parameter",".","In","batch-mode","(","i.e",".","when",":","math",":","`","x_1","`","and",":","math",":","`","x_2","`","are","batches","of","input","matrices",")",",","each","batch","of","data","can","have","its","own","`","outputscale","`","parameter","by","setting","the","`","batch_shape","`","keyword","argument","to","the","appropriate","number","of","batches",".","..","note",":",":","The","outputscale","parameter","is","parameterized","on","a","log","scale","to","constrain","it","to","be","positive",".","You","can","set","a","prior","on","this","parameter","using","the","outputscale_prior","argument",".","Args",":","base_kernel","(","Kernel",")",":","The","base","kernel","to","be","scaled",".","batch_shape","(","int",",","optional",")",":","Set","this","if","you","want","a","separate","outputscale","for","each","batch","of","input","data",".","It","should","be","`","b","`","if","x1","is","a","`","b","x","n","x","d","`","tensor",".","Default",":","`","torch.Size","(","[","]",")","`","outputscale_prior","(","Prior",",","optional",")",":","Set","this","if","you","want","to","apply","a","prior","to","the","outputscale","parameter",".","Default",":","`","None","`","outputscale_constraint","(","Constraint",",","optional",")",":","Set","this","if","you","want","to","apply","a","constraint","to","the","outputscale","parameter",".","Default",":","`","Positive","`",".","Attributes",":","base_kernel","(","Kernel",")",":","The","kernel","module","to","be","scaled",".","outputscale","(","Tensor",")",":","The","outputscale","parameter",".","Size\/shape","of","parameter","depends","on","the","batch_shape","arguments",".","Example",":",">",">",">","x","=","torch.randn","(","10",",","5",")",">",">",">","base_covar_module","=","gpytorch.kernels.RBFKernel","(",")",">",">",">","scaled_covar_module","=","gpytorch.kernels.ScaleKernel","(","base_covar_module",")",">",">",">","covar","=","scaled_covar_module","(","x",")","#","Output",":","LinearOperator","of","size","(","10","x","10",")"]
code: def prediction_strategy(
      self, train_inputs, train_prior_dist, train_labels, likelihood
  ):
      return self.base_kernel.prediction_strategy(
          train_inputs, train_prior_dist, train_labels, likelihood
      )
  
file_path: gpytorch/gpytorch/kernels/scale_kernel.py
imports: from typing import Optional
  import torch
  from linear_operator.operators import to_dense
  from ..constraints import Interval, Positive
  from ..priors import Prior
  from .kernel import Kernel
label_desc: Use image node_id 10 for calling the ScaleKernel obj's underlying member method code with example usage: obj.prediction_strategy(train_inputs, train_prior_dist, train_labels, likelihood) and returns: self