def METHOD_NAME(self, inputs, metadata=None, **kwargs):
    results = []
    with self._torch.no_grad():
        for batch_input in inputs:
            outputs = list(self.module(*batch_input.values()))
            result_dict = {
                output_name: res.data.cpu().numpy() if self.cuda else res.data.numpy()
                for output_name, res in zip(self.output_names, outputs)
            }
            results.append(result_dict)
            for meta_ in metadata:
                meta_['input_shape'] = {key: list(data.shape) for key, data in batch_input.items()}
    return results