def METHOD_NAME(self, summary):
    if self.report_type == 'json':
        out_path = self.out_dir / self.report_file
        new_file = not out_path.exists()
        if not new_file:
            with open(str(out_path), 'r', encoding='utf-8') as f:
                out_dict = json.load(f)
        else:
            out_dict = {
                'processing_info': {
                    'model': self.model_name,
                    'dataset': self.dataset,
                    'framework': self.framework,
                    'device': self.device,
                    'tags': self.tags
                },
                'report': list(self.storage.values()),
                'report_type': self.__provider__,
                'dataset_meta': self.dataset_meta,
            }
        out_dict.update(summary)
        with open(str(out_path), 'w', encoding='utf-8') as f:
            json.dump(out_dict, f)