class_docstr: Base class for all Gaussian Process estimators.
  
  Most notably, a GPyTorch compatible criterion and likelihood should be
  provided.
class_docstr_tok: ["Base","class","for","all","Gaussian","Process","estimators",".","Most","notably",",","a","GPyTorch","compatible","criterion","and","likelihood","should","be","provided","."]
docstr: Perform a forward step to produce the output used for
  prediction and scoring.
  
  Therefore, the module is set to evaluation mode by default
  beforehand which can be overridden to re-enable features
  like dropout by setting ``training=True``.
  
  Parameters
  ----------
  batch
    A single batch returned by the data loader.
  
  training : bool (default=False)
    Whether to set the module to train mode or not.
  
  Returns
  -------
  y_infer
    The prediction generated by the module.
docstr_tok: ["Perform","a","forward","step","to","produce","the","output","used","for","prediction","and","scoring",".","Therefore",",","the","module","is","set","to","evaluation","mode","by","default","beforehand","which","can","be","overridden","to","re-enable","features","like","dropout","by","setting","``","training=True","``",".","Parameters","--","--","--","--","--","batch","A","single","batch","returned","by","the","data","loader",".","training",":","bool","(","default=False",")","Whether","to","set","the","module","to","train","mode","or","not",".","Returns","--","--","--","-","y_infer","The","prediction","generated","by","the","module","."]
code: def evaluation_step(self, batch, training=False):
      """Perform a forward step to produce the output used for
      prediction and scoring.
  
      Therefore, the module is set to evaluation mode by default
      beforehand which can be overridden to re-enable features
      like dropout by setting ``training=True``.
  
      Parameters
      ----------
      batch
        A single batch returned by the data loader.
  
      training : bool (default=False)
        Whether to set the module to train mode or not.
  
      Returns
      -------
      y_infer
        The prediction generated by the module.
  
      """
      self.check_is_fitted()
      Xi, _ = unpack_data(batch)
      with torch.set_grad_enabled(
          training
      ), gpytorch.settings.fast_pred_var():
          self.module_.train(training)
          y_infer = self.infer(Xi)
          if isinstance(y_infer, tuple):  # multiple outputs:
              return (self.likelihood_(y_infer[0]),) + y_infer[1:]
          return self.likelihood_(y_infer)
  
imports: import pickle
  import re
  import gpytorch
  import numpy
  import torch
  from skorch.net import NeuralNet
  from skorch.dataset import ValidSplit
  from skorch.dataset import unpack_data
  from skorch.callbacks import EpochScoring
  from skorch.callbacks import EpochTimer
  from skorch.callbacks import PassthroughScoring
  from skorch.callbacks import PrintLog
  from skorch.utils import check_is_fitted
  from skorch.utils import get_dim
  from skorch.utils import is_dataset
  from skorch.utils import to_numpy
  from skorch.utils import to_tensor
label_desc: Use image node_id 7 for calling the GPBase obj's underlying member method code with example usage: obj.evaluation_step(batch, training) and returns: self, unknown