          self.vram = 320
          self.vram_warnings = 64  # Will run at this with warnings
          self.vram_per_batch = 32
          self.batchsize = self.config["batch-size"]
          self.kwargs = self.validate_kwargs()
          self.color_format = "RGB"
  
      def validate_kwargs(self):
          """ Validate that config options are correct. If not reset to default """
          valid = True
 
</s> remove     def validate_kwargs(self):
 </s> add     def _validate_kwargs(self) -> Dict[str, Union[int, float, List[float]]]: </s> remove         self.vram = 320
        self.vram_warnings = 64  # Will run at this with warnings
        self.vram_per_batch = 32
 </s> add         self.vram = 320 if not self.config["cpu"] else 0
        self.vram_warnings = 64 if not self.config["cpu"] else 0  # Will run at this with warnings
        self.vram_per_batch = 32 if not self.config["cpu"] else 0 </s> remove             kwargs = {"minsize": 20,  # minimum size of face
                      "threshold": [0.6, 0.7, 0.7],  # three steps threshold
                      "factor": 0.709}               # scale factor
 </s> add             kwargs = {} </s> remove     def init_model(self):
        """ Initialize S3FD Model"""
 </s> add     def init_model(self) -> None:
        """ Initialize MTCNN Model. """
        self.kwargs = self._validate_kwargs()
          self.vram = 320
          self.vram_warnings = 64  # Will run at this with warnings
          self.vram_per_batch = 32
          self.batchsize = self.config["batch-size"]
        self.kwargs = self._validate_kwargs()
          self.color_format = "RGB"
  
      def validate_kwargs(self):
          """ Validate that config options are correct. If not reset to default """
          valid = True
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