class_docstr: Abstract base class for all Variational Distributions.
  
  :ivar torch.dtype dtype: The dtype of the VariationalDistribution parameters
  :ivar torch.dtype device: The device of the VariationalDistribution parameters
class_docstr_tok: ["Abstract","base","class","for","all","Variational","Distributions",".",":","ivar","torch.dtype","dtype",":","The","dtype","of","the","VariationalDistribution","parameters",":","ivar","torch.dtype","device",":","The","device","of","the","VariationalDistribution","parameters"]
code: def __init__(
      self,
      num_inducing_points: int,
      batch_shape: torch.Size = torch.Size([]),
      mean_init_std: float = 1e-3,
  ):
      super().__init__()
      self.num_inducing_points = num_inducing_points
      self.batch_shape = batch_shape
      self.mean_init_std = mean_init_std
  
file_path: gpytorch/gpytorch/variational/_variational_distribution.py
imports: from abc import ABC, abstractmethod
  import torch
  from ..distributions import Distribution, MultivariateNormal
  from ..module import Module
label_desc: Use image node_id 1 to create a new _VariationalDistribution object from inherited base classes: Module, ABC with example: obj = _VariationalDistribution(num_inducing_points, batch_shape, mean_init_std)