code: def fit(
      model, train_dataloader, val_dataloader, loss_func, optimizer
  ):
      best_score = 0.0
      for epoch in range(5):
          train_loss = train_epoch(
              model, train_dataloader, loss_func, optimizer
          )
          score = evaluate(model, val_dataloader)
          if score > best_score:
              best_score = score
          print(
              f"Epoch {epoch+1}: Train loss={train_loss}, Eval score={score}"
          )
      return best_score
  
imports: from openprompt.data_utils.text_classification_dataset import SST2Processor
  from openprompt.plms import load_plm
  from openprompt.prompts import ManualVerbalizer, ManualTemplate
  from openprompt.prompts.prompt_generator import LMBFFTemplateGenerationTemplate
  from openprompt.plms import load_plm
  from openprompt.prompts.prompt_generator import T5TemplateGenerator
  from openprompt.pipeline_base import PromptDataLoader, PromptForClassification
  from openprompt.prompts import ManualTemplate
  from openprompt.trainer import ClassificationRunner
  import copy
  import torch
  from transformers import AdamW, get_linear_schedule_with_warmup
  import numpy
  from tqdm import tqdm
  from openprompt.prompts.prompt_generator import RobertaVerbalizerGenerator
label_desc: Use image node_id 1 for calling a global function with example usage: fit(model, train_dataloader, val_dataloader, loss_func, optimizer) and returns: best_score