class_docstr: Arguments:
      threshold (float): Threshold for classifier confidence score
class_docstr_tok: ["Arguments",":","threshold","(","float",")",":","Threshold","for","classifier","confidence","score"]
docstr: Performs predictions on input frames
  Arguments:
      frames (np.ndarray): Frames on which predictions need
      to be performed
  Returns:
      face boxes (List[List[BoundingBox]])
docstr_tok: ["Performs","predictions","on","input","frames","Arguments",":","frames","(","np.ndarray",")",":","Frames","on","which","predictions","need","to","be","performed","Returns",":","face","boxes","(","List","[","List","[","BoundingBox","]","]",")"]
code: def forward(self, frames: pd.DataFrame) -> pd.DataFrame:
      """
      Performs predictions on input frames
      Arguments:
          frames (np.ndarray): Frames on which predictions need
          to be performed
      Returns:
          face boxes (List[List[BoundingBox]])
      """
  
      frames_list = frames.transpose().values.tolist()[0]
      frames = np.asarray(frames_list)
      detections = self.model.detect(frames)
      boxes, scores = detections
      outcome = []
      for frame_boxes, frame_scores in zip(boxes, scores):
          pred_boxes = []
          pred_scores = []
          if frame_boxes is not None and frame_scores is not None:
              if not np.isnan(pred_boxes):
                  pred_boxes = np.asarray(frame_boxes, dtype="int")
                  pred_scores = frame_scores
              else:
                  logger.warn(f"Nan entry in box {frame_boxes}")
          outcome.append(
              {"bboxes": pred_boxes, "scores": pred_scores},
          )
  
      return pd.DataFrame(outcome, columns=["bboxes", "scores"])
  
file_path: evadb/evadb/functions/face_detector.py
imports: from typing import List
  import numpy
  import pandas
  from evadb.functions.abstract.abstract_function import AbstractClassifierFunction
  from evadb.functions.gpu_compatible import GPUCompatible
  from evadb.utils.generic_utils import try_to_import_facenet_pytorch, try_to_import_torch, try_to_import_torchvision
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 5 for calling the FaceDetector obj's underlying member method code with example usage: obj.forward(frames) and returns: pd