class_docstr: Implements Gauss-Hermite quadrature for integrating a function with respect to several 1D Gaussian distributions
  in batch mode. Within GPyTorch, this is useful primarily for computing expected log likelihoods for variational
  inference.
  
  This is implemented as a Module because Gauss-Hermite quadrature has a set of locations and weights that it
  should initialize one time, but that should obey parent calls to .cuda(), .double() etc.
class_docstr_tok: ["Implements","Gauss-Hermite","quadrature","for","integrating","a","function","with","respect","to","several","1D","Gaussian","distributions","in","batch","mode",".","Within","GPyTorch",",","this","is","useful","primarily","for","computing","expected","log","likelihoods","for","variational","inference",".","This","is","implemented","as","a","Module","because","Gauss-Hermite","quadrature","has","a","set","of","locations","and","weights","that","it","should","initialize","one","time",",","but","that","should","obey","parent","calls","to",".cuda","(",")",",",".double","(",")","etc","."]
code: def __init__(self, num_locs=None):
      super().__init__()
      if num_locs is None:
          num_locs = settings.num_gauss_hermite_locs.value()
      self.num_locs = num_locs
  
      locations, weights = self._locs_and_weights(num_locs)
  
      self.locations = locations
      self.weights = weights
  
file_path: gpytorch/gpytorch/utils/quadrature.py
imports: import math
  import numpy
  import torch
  from torch.nn import Module
  from ..None import settings
label_desc: Use image node_id 1 to create a new GaussHermiteQuadrature1D object from inherited base classes: Module with example: obj = GaussHermiteQuadrature1D(num_locs)