class_docstr: Analyzer.
  
  Given a run_id, we can do lots of fun things!
class_docstr_tok: ["Analyzer",".","Given","a","run_id",",","we","can","do","lots","of","fun","things","!"]
code: def _load_pairing_files(self):
      df = self.dataframe
      if not os.path.exists(self.pairings_filepath):
          print(
              "No valid pairings filepath was passed in: will extract likely path."
          )
          self.pairings_filepath = get_hashed_combo_path(
              root_dir=self.root_dir,
              subdir="pairings_files",
              task=self.task,
              combos=self.combos,
          )
      if not os.path.exists(self.pairings_filepath):
          print(
              f"WARNING: Pairings filepath {self.pairings_filepath} could not be found."
          )
          self.pairings_filepath = os.path.join(
              self.root_dir,
              "pairings_files",
              hashlib.sha1(
                  "___vs___".join(
                      [
                          f"{m}.{'q'.replace(':', '_')}"
                          for m in self.models
                      ]
                  ).encode("utf-8")
              ).hexdigest()[:10],
          )
      if not os.path.exists(self.pairings_filepath):
          # For backward compatibility
          print(
              f"WARNING: Pairings filepath {self.pairings_filepath} could not be found."
          )
          self.pairings_filepath = os.path.join(
              self.root_dir,
              "pairings_files",
              "___vs___".join(
                  [
                      f"{m}.{self.task.replace(':', '_')}"
                      for m in self.models
                  ]
              ),
          )
      if not os.path.exists(self.pairings_filepath):
          print(
              f"NOTE: Pairings filepath {self.pairings_filepath} could not be found!"
          )
          return
      self.pairings = []
      with open(self.pairings_filepath, "r") as f:
          for line in f:
              pair = json.loads(line)
              model1, model2 = pair["speakers_to_eval"]
              pair[model1] = pair["dialogue_dicts"][0]
              pair[model2] = pair["dialogue_dicts"][1]
              del pair["dialogue_dicts"]
              self.pairings.append(pair)
      self.pairs_to_eval = [
          self.pairings[i] for i in df.pairing_id.values.tolist()
      ]
      # Build dialogue_ids => dialogue mappings
  
      winner_dialogues = []
      loser_dialogues = []
      for i, (_, row) in enumerate(df.iterrows()):
          winner = row["winner"]
          loser = row["loser"]
          winner_dialogues.append(self.pairs_to_eval[i][winner])
          loser_dialogues.append(self.pairs_to_eval[i][loser])
      df["pairs_to_eval"] = pd.Series(
          self.pairs_to_eval, index=df.index
      )
      df["winner_dialogue"] = pd.Series(
          winner_dialogues, index=df.index
      )
      df["loser_dialogue"] = pd.Series(loser_dialogues, index=df.index)
      self.dataframe = df
  
imports: import hashlib
  import json
  import os
  from copy import deepcopy
  from datetime import datetime
  from typing import Dict, Any, List, Optional
  import numpy
  import pandas
  from IPython.core.display import HTML
  from mephisto.tools.data_browser import DataBrowser
  from mephisto.abstractions.databases.local_database import LocalMephistoDB
  from mephisto.data_model.unit import Unit
  from mephisto.data_model.worker import Worker
  from scipy.stats import binom_test
  from parlai.core.params import ParlaiParser
  from parlai.crowdsourcing.tasks.acute_eval.acute_eval_blueprint import BLUEPRINT_TYPE
  from parlai.crowdsourcing.tasks.acute_eval.fast_acute_blueprint import FAST_ACUTE_BLUEPRINT_TYPE
  from parlai.crowdsourcing.tasks.acute_eval.util import get_hashed_combo_path
label_desc: Use image node_id 7 for calling the AcuteAnalyzer obj's underlying member method code with example usage: obj._load_pairing_files() without return types