class_docstr: PhotoRestoreModel
  
  Args:
      load_checkpoint(str): Checkpoint save path, default is None.
      visualization (bool): Whether to save the estimation result. Default is True.
code: def run_image(
      self,
      input,
      model_select: list = ["Colorization", "SuperResolution"],
      save_path: str = "photo_restoration",
  ):
      self.models = []
      for model in model_select:
          print("\n {} model proccess start..".format(model))
          if model == "Colorization":
              self.deoldify.eval()
              self.models.append(self.deoldify)
          if model == "SuperResolution":
              self.realsr.eval()
              self.models.append(self.realsr)
  
      for model in self.models:
          output = model.run_image(input)
          input = output
      if self.visualization:
          if not os.path.exists(save_path):
              os.mkdir(save_path)
          img_name = str(time.time()) + ".png"
          save_img = os.path.join(save_path, img_name)
          cv2.imwrite(save_img, output)
          print("save result at: ", save_img)
  
      return output
  
file_path: PaddleHub/modules/image/Image_editing/colorization/photo_restoration/module.py
imports: import os
  import time
  import cv2
  import paddle.nn
  import paddlehub
  from paddlehub.module.module import moduleinfo, serving
  from .None import utils
label_desc: Use image node_id 2 for calling the PhotoRestoreModel obj's underlying member method code with example usage: obj.run_image(input, model_select, save_path) and returns: output