      def __init__(self, model_path, allow_growth, exclude_gpus):
          super().__init__("MTCNN-PNet",
                           model_path,
                           allow_growth=allow_growth,
                           exclude_gpus=exclude_gpus)
          self.define_model(self.model_definition)
          self.load_model_weights()
  
      @staticmethod
      def model_definition():
 
</s> remove                          exclude_gpus=exclude_gpus)
 </s> add                          exclude_gpus=exclude_gpus,
                         cpu_mode=cpu_mode) </s> remove     """ Keras P-Net model for MTCNN """
    def __init__(self, model_path, allow_growth, exclude_gpus):
 </s> add     """ Keras P-Net model for MTCNN

    Parameters
    ----------
    model_path: str
        The path to the keras model file
    allow_growth: bool, optional
        Enable the Tensorflow GPU allow_growth configuration option. This option prevents
        Tensorflow from allocating all of the GPU VRAM, but can lead to higher fragmentation and
        slower performance. Default: ``False``
    exclude_gpus: list, optional
        A list of indices correlating to connected GPUs that Tensorflow should not use. Pass
        ``None`` to not exclude any GPUs. Default: ``None``
    cpu_mode: bool, optional
        ``True`` run the model on CPU. Default: ``False``
    input_size: int
        The input size of the model
    minsize: int, optional
        The minimum size of a face to accept as a detection. Default: `20`
    threshold: list, optional
        Threshold for P-Net
    """
    def __init__(self,
                 model_path: str,
                 allow_growth: bool,
                 exclude_gpus: List[int],
                 cpu_mode: bool,
                 input_size: int,
                 min_size: int,
                 factor: float,
                 threshold: float) -> None: </s> remove     """ Keras R-Net model for MTCNN """
    def __init__(self, model_path, allow_growth, exclude_gpus):
 </s> add     """ Keras R-Net model Definition for MTCNN

    Parameters
    ----------
    model_path: str
        The path to the keras model file
    allow_growth: bool, optional
        Enable the Tensorflow GPU allow_growth configuration option. This option prevents
        Tensorflow from allocating all of the GPU VRAM, but can lead to higher fragmentation and
        slower performance. Default: ``False``
    exclude_gpus: list, optional
        A list of indices correlating to connected GPUs that Tensorflow should not use. Pass
        ``None`` to not exclude any GPUs. Default: ``None``
    cpu_mode: bool, optional
        ``True`` run the model on CPU. Default: ``False``
    input_size: int
        The input size of the model
    threshold: list, optional
        Threshold for R-Net

    """
    def __init__(self,
                 model_path: str,
                 allow_growth: bool,
                 exclude_gpus: List[int],
                 cpu_mode: bool,
                 input_size: int,
                 threshold: float) -> None:
                         exclude_gpus=exclude_gpus,
                         cpu_mode=cpu_mode)

      def __init__(self, model_path, allow_growth, exclude_gpus):
          super().__init__("MTCNN-PNet",
                           model_path,
                           allow_growth=allow_growth,
                         exclude_gpus=exclude_gpus,
                         cpu_mode=cpu_mode)

          self.define_model(self.model_definition)
          self.load_model_weights()
  
      @staticmethod
      def model_definition():
keep keep keep keep replace keep keep keep keep keep
 Add CPU option to BiSeNet and MTCNN
  - Add CPU option to KSession
  - MTCNN optimizations
  - Update docs for bisenet + mtcnn 
plugins/extract/detect/mtcnn.py