class_docstr: This is the Sparse Variational GP (SVGP).
  
  The key reference is :cite:t:`hensman2014scalable`.
  
  This class provides a posterior() method that enables caching for faster subsequent predictions.
class_docstr_tok: ["This","is","the","Sparse","Variational","GP","(","SVGP",")",".","The","key","reference","is",":","cite",":","t",":","`","hensman2014scalable","`",".","This","class","provides","a","posterior","(",")","method","that","enables","caching","for","faster","subsequent","predictions","."]
docstr: Create the Posterior object which contains precomputed matrices for
  faster prediction.
  
  precompute_cache has three settings:
  
  - `PrecomputeCacheType.TENSOR` (or `"tensor"`): Precomputes the cached
    quantities and stores them as tensors (which allows differentiating
    through the prediction). This is the default.
  - `PrecomputeCacheType.VARIABLE` (or `"variable"`): Precomputes the cached
    quantities and stores them as variables, which allows for updating
    their values without changing the compute graph (relevant for AOT
    compilation).
  - `PrecomputeCacheType.NOCACHE` (or `"nocache"` or `None`): Avoids
    immediate cache computation. This is useful for avoiding extraneous
    computations when you only want to call the posterior's
    `fused_predict_f` method.
docstr_tok: ["Create","the","Posterior","object","which","contains","precomputed","matrices","for","faster","prediction",".","precompute_cache","has","three","settings",":","-","`","PrecomputeCacheType.TENSOR","`","(","or","`","``","tensor","''","`",")",":","Precomputes","the","cached","quantities","and","stores","them","as","tensors","(","which","allows","differentiating","through","the","prediction",")",".","This","is","the","default",".","-","`","PrecomputeCacheType.VARIABLE","`","(","or","`","``","variable","''","`",")",":","Precomputes","the","cached","quantities","and","stores","them","as","variables",",","which","allows","for","updating","their","values","without","changing","the","compute","graph","(","relevant","for","AOT","compilation",")",".","-","`","PrecomputeCacheType.NOCACHE","`","(","or","`","``","nocache","''","`","or","`","None","`",")",":","Avoids","immediate","cache","computation",".","This","is","useful","for","avoiding","extraneous","computations","when","you","only","want","to","call","the","posterior's","`","fused_predict_f","`","method","."]
code: def posterior(
      self,
      precompute_cache: posteriors.PrecomputeCacheType = posteriors.PrecomputeCacheType.TENSOR,
  ) -> posteriors.BasePosterior:
      """
      Create the Posterior object which contains precomputed matrices for
      faster prediction.
  
      precompute_cache has three settings:
  
      - `PrecomputeCacheType.TENSOR` (or `"tensor"`): Precomputes the cached
        quantities and stores them as tensors (which allows differentiating
        through the prediction). This is the default.
      - `PrecomputeCacheType.VARIABLE` (or `"variable"`): Precomputes the cached
        quantities and stores them as variables, which allows for updating
        their values without changing the compute graph (relevant for AOT
        compilation).
      - `PrecomputeCacheType.NOCACHE` (or `"nocache"` or `None`): Avoids
        immediate cache computation. This is useful for avoiding extraneous
        computations when you only want to call the posterior's
        `fused_predict_f` method.
      """
      return posteriors.create_posterior(
          self.kernel,
          self.inducing_variable,
          self.q_mu,
          self.q_sqrt,
          whiten=self.whiten,
          mean_function=self.mean_function,
          precompute_cache=precompute_cache,
      )
  
imports: from typing import Optional
  import numpy
  import tensorflow
  from check_shapes import check_shapes, inherit_check_shapes
  from ..None import kullback_leiblers, posteriors
  from ..base import AnyNDArray, InputData, MeanAndVariance, Parameter, RegressionData
  from ..conditionals import conditional
  from ..config import default_float
  from ..inducing_variables import InducingVariables
  from ..kernels import Kernel
  from ..likelihoods import Likelihood
  from ..mean_functions import MeanFunction
  from ..utilities import positive, triangular
  from .model import GPModel
  from .training_mixins import ExternalDataTrainingLossMixin
  from .util import InducingVariablesLike, inducingpoint_wrapper
label_desc: Use image node_id 1 for calling the SVGP_with_posterior obj's underlying member method code with example usage: obj.posterior(precompute_cache) and returns: posteriors