code: def ei_over_hypers(self, comp, pend, cand, vals, durs):
      overall_ei = np.zeros((cand.shape[0], self.mcmc_iters))
      for mcmc_iter in range(self.mcmc_iters):
          hyper = self.hyper_samples[mcmc_iter]
          time_hyper = self.time_hyper_samples[mcmc_iter]
          self.mean = hyper[0]
          self.noise = hyper[1]
          self.amp2 = hyper[2]
          self.ls = hyper[3]
  
          self.time_mean = time_hyper[0]
          self.time_noise = time_hyper[1]
          self.time_amp2 = time_hyper[2]
          self.time_ls = time_hyper[3]
  
          overall_ei[:, mcmc_iter] = self.compute_ei_per_s(
              comp, pend, cand, vals, durs.squeeze()
          )
  
          return overall_ei
  
imports: import os
  from ..None import gp
  import sys
  from ..None import util
  import tempfile
  import numpy
  import numpy.random
  import scipy.linalg
  import scipy.stats
  import scipy.optimize
  import pickle
  from ..helpers import *
  from ..Locker import *
  import logging
label_desc: Use image node_id 6 for calling the GPEIperSecChooser obj's underlying member method code with example usage: obj.ei_over_hypers(comp, pend, cand, vals, durs) and returns: overall_ei