code: def run_epoch(exe, prog, model, feed_dict, lr):
      """Run training process of every epoch."""
      if lr is None:
          loss, predict = exe.run(
              prog,
              feed=feed_dict,
              fetch_list=[model["loss"], model["predict"]],
              return_numpy=True,
          )
          lr_ = 0
      else:
          loss, predict, lr_ = exe.run(
              prog,
              feed=feed_dict,
              fetch_list=[model["loss"], model["predict"], lr],
              return_numpy=True,
          )
  
      macro_f1 = f1_score(feed_dict["labels"], predict, average="macro")
      micro_f1 = f1_score(feed_dict["labels"], predict, average="micro")
  
      return {
          "loss": loss,
          "pred": predict,
          "lr": lr_,
          "macro_f1": macro_f1,
          "micro_f1": micro_f1,
      }
  
imports: import argparse
  import sys
  import os
  import tqdm
  import time
  import math
  import logging
  import random
  import pickle
  import numpy
  import sklearn.metrics
  from sklearn.metrics import f1_score
  import pgl
  import paddle.fluid
  import paddle.fluid.layers
  import Dataset
  from utils import *
label_desc: Use image node_id 4 for calling a global function with example usage: run_epoch(exe, prog, model, feed_dict, lr) and returns: dict