class_docstr: Runs MMLU eval multiple times with different sandbagging targets. args and
  kwargs pass initialization vars to the MMLU class
class_docstr_tok: ["Runs","MMLU","eval","multiple","times","with","different","sandbagging","targets",".","args","and","kwargs","pass","initialization","vars","to","the","MMLU","class"]
code: def __init__(
      self,
      valid_samples: Sequence[Any],
      target_accuracies: Sequence[int],
      use_difficulty: bool,
      mae_max_target: float,
      skip_mae: bool = False,
      *args,
      **kwargs,
  ):
      self.valid_samples = valid_samples
      self.target_accuracies = target_accuracies
      self.use_difficulty = use_difficulty
      self.mae_max_target = mae_max_target
      self.skip_mae = skip_mae
  
      # Define all evals we will be sandbagging in
      self.evals = []
      for _ in target_accuracies:
          mmlu_eval = MMLU(*args, **kwargs)
          self.mmlu_eval_sample = mmlu_eval.eval_sample
  
          self.evals.append(mmlu_eval)
  
file_path: evals/evals/elsuite/sandbagging/sandbagging_eval.py
imports: import random
  from typing import Any, Dict, Sequence
  import evals.metrics
  from evals.api import DummyCompletionFn
  from evals.elsuite.sandbagging.mmlu_eval import MMLU
  from evals.elsuite.sandbagging.utils import compute_sandbagging_score, get_difficulty, get_violation_events
  from evals.eval import SolverEval
  from evals.solvers.solver import Solver
label_desc: Use image node_id 1 to create a new Sandbagging object from inherited base classes: SolverEval with example: obj = Sandbagging(valid_samples, target_accuracies, use_difficulty, mae_max_target, skip_mae)