code: def run_train_loop(self):
      self.begin_training()
  
      for _ in self.yield_train_step():
          if self.should_save_model():
              self.save_model()
  
          if self.should_save_checkpoint():
              self.save_checkpoint()
  
          if self.should_eval_model():
              self.eval_model()
  
          if self.should_break_training():
              break
  
      self.eval_model()
      self.done_training()
  
      return self.returned_result()
  
file_path: jiant/jiant/shared/metarunner.py
label_desc: Use image node_id 12 for calling the AbstractMetarunner obj's underlying member method code with example usage: obj.run_train_loop() and returns: self