          elif not 0.0 < kwargs['factor'] < 1.0:
              valid = False
  
          if not valid:
              kwargs = {"minsize": 20,  # minimum size of face
                        "threshold": [0.6, 0.7, 0.7],  # three steps threshold
                        "factor": 0.709}               # scale factor
              logger.warning("Invalid MTCNN options in config. Running with defaults")
          logger.debug("Using mtcnn kwargs: %s", kwargs)
          return kwargs
  
      def init_model(self):
 
</s> remove     def init_model(self):
        """ Initialize S3FD Model"""
 </s> add     def init_model(self) -> None:
        """ Initialize MTCNN Model. """ </s> remove                   "factor": self.config["scalefactor"]}
 </s> add                   "factor": self.config["scalefactor"],
                  "input_size": self.input_size} </s> remove         self.kwargs = self.validate_kwargs()
 </s> add         self.kwargs = self._validate_kwargs() </s> remove     def validate_kwargs(self):
 </s> add     def _validate_kwargs(self) -> Dict[str, Union[int, float, List[float]]]: </s> remove             return
 </s> add             return retval
            kwargs = {}
          elif not 0.0 < kwargs['factor'] < 1.0:
              valid = False
  
          if not valid:
            kwargs = {}
            kwargs = {}
            kwargs = {}
              logger.warning("Invalid MTCNN options in config. Running with defaults")
          logger.debug("Using mtcnn kwargs: %s", kwargs)
          return kwargs
  
      def init_model(self):
keep keep keep keep replace replace 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