              stride = 2 ** (i + 2)    # 4,8,16,32,64,128
              poss = zip(*np.where(ocls[:, 1, :, :] > 0.05))
              for _, hindex, windex in poss:
                  axc, ayc = stride / 2 + windex * stride, stride / 2 + hindex * stride
                  score = ocls[0, 1, hindex, windex]
                  if score >= self.confidence:
                      loc = np.ascontiguousarray(oreg[0, :, hindex, windex]).reshape((1, 4))
                      priors = np.array([[axc / 1.0, ayc / 1.0, stride * 4 / 1.0, stride * 4 / 1.0]])
                      box = self.decode(loc, priors)
                      x_1, y_1, x_2, y_2 = box[0] * 1.0
 
</s> remove                     loc = np.ascontiguousarray(oreg[0, :, hindex, windex]).reshape((1, 4))
 </s> add                     loc = np.ascontiguousarray(oreg[0, hindex, windex, :]).reshape((1, 4)) </s> remove             poss = zip(*np.where(ocls[:, 1, :, :] > 0.05))
 </s> add             poss = zip(*np.where(ocls[:, :, :, 1] > 0.05)) </s> remove             bboxlist[i * 2] = self.softmax(bboxlist[i * 2], axis=1)
 </s> add             bboxlist[i * 2] = self.softmax(bboxlist[i * 2], axis=3) </s> remove         # TODO: do this nicer
        ldims = len(input_shape[0])
        rdims = len(input_shape[1])
        if ldims > rdims:
            return input_shape[0]
        if rdims > ldims:
            return input_shape[1]
        lprod = np.prod(list(filter(bool, input_shape[0])))
        rprod = np.prod(list(filter(bool, input_shape[1])))
        return input_shape[0 if lprod > rprod else 1]


class AddO2K(ElementwiseLayerO2K):
    """ Custom Keras Add layer generated by onnx2keras. """
    def call(self, inputs, **kwargs):  # pylint:disable=unused-argument
        """This is where the layer's logic lives.
 </s> add         norm = K.sqrt(K.sum(K.pow(inputs, 2), axis=-1, keepdims=True)) + 1e-10
        var_x = inputs / norm * self.w
        return var_x

    def get_config(self):
        """ Returns the config of the layer. </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))
                score = ocls[0, hindex, windex, 1]
              stride = 2 ** (i + 2)    # 4,8,16,32,64,128
              poss = zip(*np.where(ocls[:, 1, :, :] > 0.05))
              for _, hindex, windex in poss:
                  axc, ayc = stride / 2 + windex * stride, stride / 2 + hindex * stride
                score = ocls[0, hindex, windex, 1]
                  if score >= self.confidence:
                      loc = np.ascontiguousarray(oreg[0, :, hindex, windex]).reshape((1, 4))
                      priors = np.array([[axc / 1.0, ayc / 1.0, stride * 4 / 1.0, stride * 4 / 1.0]])
                      box = self.decode(loc, priors)
                      x_1, y_1, x_2, y_2 = box[0] * 1.0
keep keep keep keep replace keep keep keep keep keep
 extract: S3FD - Convert to re-enable CPU 
plugins/extract/detect/s3fd.py