  """ MTCNN Face detection plugin """
  
  from __future__ import absolute_import, division, print_function
  
  import cv2
  import numpy as np
  
  from lib.model.session import KSession
  from lib.utils import get_backend
 
</s> remove from typing import Callable, List, Optional, Union
 </s> add from typing import Callable, ContextManager, List, Optional, Union </s> remove     """ MTCNN detector for face recognition """
    def __init__(self, **kwargs):
 </s> add     """ MTCNN detector for face recognition. """
    def __init__(self, **kwargs) -> None: </s> remove         self._model = k_load_model(self._model_path, compile=False, **self._model_kwargs)
        if self._backend != "amd":
            self._model.make_predict_function()
 </s> add         with self._context:
            self._model = k_load_model(self._model_path, compile=False, **self._model_kwargs)
            if self._backend != "amd":
                self._model.make_predict_function() </s> remove     def process_input(self, batch):
        """ Compile the detection image(s) for prediction """
 </s> add     def process_input(self, batch: dict) -> dict:
        """ Compile the detection image(s) for prediction

        Parameters
        ----------
        batch: dict
            Contains the batch that is currently being passed through the plugin process

        Returns
        -------
        dict
            The batch with input processed

        """
from typing import Dict, List, Optional, Tuple, Union
  """ MTCNN Face detection plugin """
  
  from __future__ import absolute_import, division, print_function
from typing import Dict, List, Optional, Tuple, Union
  
  import cv2
  import numpy as np
  
  from lib.model.session import KSession
  from lib.utils import get_backend
keep keep add keep 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