code: def predict_images(self, input):
      results = self.modules.run(input)
  
      if self.save:
          logger.info(
              "Save prediction to {}".format(
                  osp.join(self.output_dir, "output.json")
              )
          )
          with open(osp.join(self.output_dir, "output.json"), "w") as f:
              json.dump(results, f, indent=2)
  
      if self.visualize:
          logger.info(
              "visualize prediction to {}".format(
                  osp.join(self.output_dir, "show")
              )
          )
          show_result(results, osp.join(self.output_dir, "show"))
      return results
  
file_path: PaddleSeg/contrib/QualityInspector/qinspector/apis/pipeline.py
imports: import glob
  import json
  import os
  import os.path
  from qinspector.cvlib.configs import ConfigParser
  from qinspector.cvlib.framework import Builder
  from qinspector.utils.logger import setup_logger
  from qinspector.utils.visualizer import show_result
label_desc: Use image node_id 3 for calling the Pipeline obj's underlying member method code with example usage: obj.predict_images(input) and returns: results