def METHOD_NAME(self, inputs):
    if self.data_format == 'NHWC':
        image = inputs['image']
        inputs['image'] = paddle.transpose(image, [0, 2, 3, 1])
    if self.fuse_norm:
        image = inputs['image']
        self.inputs['image'] = image * self.scale + self.bias
        self.inputs['im_shape'] = inputs['im_shape']
        self.inputs['scale_factor'] = inputs['scale_factor']
    else:
        self.inputs = inputs
    self.model_arch()
    if self.training:
        out = self.get_loss()
    else:
        inputs_list = []
        # multi-scale input
        if not isinstance(inputs, typing.Sequence):
            inputs_list.append(inputs)
        else:
            inputs_list.extend(inputs)
        outs = []
        for inp in inputs_list:
            if self.fuse_norm:
                self.inputs['image'] = inp['image'] * self.scale + self.bias
                self.inputs['im_shape'] = inp['im_shape']
                self.inputs['scale_factor'] = inp['scale_factor']
            else:
                self.inputs = inp
            outs.append(self.get_pred())
        # multi-scale test
        if len(outs) > 1:
            out = self.merge_multi_scale_predictions(outs)
        else:
            out = outs[0]
    return out