          -------
          A tensor or list/tuple of tensors.
              The layer output
          """
          return inputs[0] / inputs[1]
  
  
  class S3fd(KSession):
      """ Keras Network """
      def __init__(self, model_path, model_kwargs, allow_growth, exclude_gpus, confidence):
          logger.debug("Initializing: %s: (model_path: '%s', model_kwargs: %s, allow_growth: %s, "
                       "exclude_gpus: %s, confidence: %s)", self.__class__.__name__, model_path,
                       model_kwargs, allow_growth, exclude_gpus, confidence)
          super().__init__("S3FD",
                           model_path,
                           model_kwargs=model_kwargs,
                           allow_growth=allow_growth,
                           exclude_gpus=exclude_gpus)
          self.load_model()
          self.confidence = confidence
          self.average_img = np.array([104.0, 117.0, 123.0])
          logger.debug("Initialized: %s", self.__class__.__name__)
  
      def prepare_batch(self, batch):
          """ Prepare a batch for prediction """
          batch = batch - self.average_img
          batch = batch.transpose(0, 3, 1, 2)
          return batch
  
      def finalize_predictions(self, bounding_boxes_scales):
 
</s> remove         Assumes that the layer will be built to match that input shape provided.
 </s> add class S3fd(KSession):
    """ Keras Network """
    def __init__(self, model_path, model_kwargs, allow_growth, exclude_gpus, confidence):
        logger.debug("Initializing: %s: (model_path: '%s', model_kwargs: %s, allow_growth: %s, "
                     "exclude_gpus: %s, confidence: %s)", self.__class__.__name__, model_path,
                     model_kwargs, allow_growth, exclude_gpus, confidence)
        super().__init__("S3FD",
                         model_path,
                         model_kwargs=model_kwargs,
                         allow_growth=allow_growth,
                         exclude_gpus=exclude_gpus)
        self.define_model(self.model_definition)
        self.load_model_weights()
        self.confidence = confidence
        self.average_img = np.array([104.0, 117.0, 123.0])
        logger.debug("Initialized: %s", self.__class__.__name__) </s> remove         batch = batch.transpose(0, 3, 1, 2)
 </s> add  </s> remove         """ Detect faces """
 </s> add         """ Process the output from the model to obtain faces

        Parameters
        ----------
        bounding_boxes_scales: list
            The output predictions from the S3FD model
        """ </s> remove         model_kwargs = dict(custom_objects=dict(O2K_Add=AddO2K,
                                                O2K_Slice=SliceO2K,
                                                O2K_Sum=SumO2K,
                                                O2K_Sqrt=SqrtO2K,
                                                O2K_Pow=PowO2K,
                                                O2K_ConstantLayer=ConstantLayerO2K,
                                                O2K_Div=DivO2K))
 </s> add         model_kwargs = dict(custom_objects=dict(L2Norm=L2Norm, SliceO2K=SliceO2K))
          -------
          A tensor or list/tuple of tensors.
              The layer output
          """





















          batch = batch - self.average_img
          batch = batch.transpose(0, 3, 1, 2)
          return batch
  
      def finalize_predictions(self, bounding_boxes_scales):
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 extract: S3FD - Convert to re-enable CPU 
plugins/extract/detect/s3fd.py