code: def negative_log_predictive_density(
      pred_dist: MultivariateNormal,
      test_y: torch.Tensor,
  ):
      """Negative log predictive density.
  
      Computes the negative predictive log density normalized by the size of the test data.
      """
      combine_dim = (
          -2
          if isinstance(pred_dist, MultitaskMultivariateNormal)
          else -1
      )
      return -pred_dist.log_prob(test_y) / test_y.shape[combine_dim]
  
file_path: gpytorch/gpytorch/metrics/metrics.py
imports: from math import pi
  from typing import Optional
  import torch
  from ..distributions import MultitaskMultivariateNormal, MultivariateNormal
label_desc: Use image node_id 4 for calling a global function with example usage: negative_log_predictive_density(pred_dist, test_y) and returns: unknown