class_docstr: Pairwise likelihood base class for pairwise preference GP (e.g., PairwiseGP).
  
  :meta private:
docstr: Given the difference in (estimated) utility util_diff = f(v) - f(u),
  return a Bernoulli distribution object representing the likelihood of
  the user prefer v over u.
  
  Note that this is not used by the `PairwiseGP` model,
docstr_tok: ["Given","the","difference","in","(","estimated",")","utility","util_diff","=","f","(","v",")","-","f","(","u",")",",","return","a","Bernoulli","distribution","object","representing","the","likelihood","of","the","user","prefer","v","over","u",".","Note","that","this","is","not","used","by","the","`","PairwiseGP","`","model",","]
code: def forward(
      self, utility: Tensor, D: Tensor, **kwargs: Any
  ) -> Bernoulli:
      """Given the difference in (estimated) utility util_diff = f(v) - f(u),
      return a Bernoulli distribution object representing the likelihood of
      the user prefer v over u.
  
      Note that this is not used by the `PairwiseGP` model,
      """
      return Bernoulli(probs=self.p(utility=utility, D=D))
  
imports: from __future__ import annotations
  import math
  from abc import ABC, abstractmethod
  from typing import Any, Tuple
  import torch
  from botorch.utils.probability.utils import log_ndtr, log_phi, standard_normal_log_hazard
  from gpytorch.likelihoods import Likelihood
  from torch import Tensor
  from torch.distributions import Bernoulli
label_desc: Use image node_id 2 for calling the PairwiseLikelihood obj's underlying member method code with example usage: obj.forward(utility, D) and returns: Bernoulli