  
      def compute_output_shape(self, input_shape):
          """Computes the output shape of the layer.
  
          Assumes that the layer will be built to match that input shape provided.
  
          Parameters
          ----------
          input_shape: tuple or list of tuples
              Shape tuple (tuple of integers) or list of shape tuples (one per output tensor of the
 
</s> remove         Assumes that the layer will be built to match that input shape provided.
 </s> add     def call(self, inputs):
        """ Call the L2 Normalization Layer. </s> remove         Assumes that the layer will be built to match that input shape provided.
 </s> add     @classmethod
    def conv_block(cls, inputs, filters, idx, recursions):
        """ First round convolutions with zero padding added. </s> remove         input_shape: tuple or list of tuples
            Shape tuple (tuple of integers) or list of shape tuples (one per output tensor of the
            layer). Shape tuples can include ``None`` for free dimensions, instead of an integer.
 </s> add         inputs: tensor
            The input to the L2 Normalization Layer </s> remove         Parameters
        ----------
        input_shape: tuple or list of tuples
            Shape tuple (tuple of integers) or list of shape tuples (one per output tensor of the
            layer). Shape tuples can include ``None`` for free dimensions, instead of an integer.
 </s> add     def model_definition(self):
        """ Keras S3FD Model Definition, adapted from FAN pytorch implementation. """
        input_ = Input(shape=(640, 640, 3))
        var_x = self.conv_block(input_, 64, 1, 2)
        var_x = MaxPooling2D(pool_size=2, strides=2)(var_x) </s> remove         input_shape: tuple or list of tuples
            Shape tuple (tuple of integers) or list of shape tuples (one per output tensor of the
            layer). Shape tuples can include ``None`` for free dimensions, instead of an integer.
            This is unused for a constant layer
 </s> add         inputs: tensor
            The input tensor to the convolution block
        filters: int
            The number of filters
        idx: int
            The layer index for naming
        recursions: int
            The number of recursions of the block to perform
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__)
  
      def compute_output_shape(self, input_shape):
          """Computes the output shape of the layer.
  
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__)
  
          Parameters
          ----------
          input_shape: tuple or list of tuples
              Shape tuple (tuple of integers) or list of shape tuples (one per output tensor of the
keep keep keep keep replace keep keep keep keep keep
 extract: S3FD - Convert to re-enable CPU 
plugins/extract/detect/s3fd.py