code: def test_batched_eval(self):
      train_x = torch.rand(10, 2)
      train_y = torch.randn(10)
      non_batch_model = ExactGPModel(train_x, train_y)
      mll = ExactMarginalLogLikelihood(
          non_batch_model.likelihood, non_batch_model
      )
      output = non_batch_model(train_x)
      non_batch_mll_eval = mll(output, train_y)
  
      train_x = train_x.expand(10, -1, -1)
      train_y = train_y.expand(10, -1)
      batch_model = ExactGPModel(train_x, train_y)
      mll = ExactMarginalLogLikelihood(
          batch_model.likelihood, batch_model
      )
      output = batch_model(train_x)
      batch_mll_eval = mll(output, train_y)
  
      self.assertEqual(non_batch_mll_eval.shape, torch.Size())
      self.assertEqual(batch_mll_eval.shape, torch.Size([10]))
      self.assertTrue(
          torch.allclose(non_batch_mll_eval.expand(10), batch_mll_eval)
      )
  
file_path: gpytorch/test/mlls/test_exact_marginal_log_likelihood.py
imports: import unittest
  import torch
  from gpytorch.constraints.constraints import GreaterThan
  from gpytorch.distributions.multivariate_normal import MultivariateNormal
  from gpytorch.kernels.matern_kernel import MaternKernel
  from gpytorch.kernels.scale_kernel import ScaleKernel
  from gpytorch.likelihoods.gaussian_likelihood import GaussianLikelihood
  from gpytorch.means.constant_mean import ConstantMean
  from gpytorch.mlls.exact_marginal_log_likelihood import ExactMarginalLogLikelihood
  from gpytorch.models.exact_gp import ExactGP
  from gpytorch.priors.torch_priors import GammaPrior
label_desc: Use image node_id 1 for calling the TestExactMarginalLogLikelihood obj's underlying member method code with example usage: obj.test_batched_eval() without return types