def METHOD_NAME(self, encoding, predictors, train_loader):
    zc_scores = {}
    if self.zc_api is not None:
        zc_results = self.zc_api[str(encoding)]
    for idx, predictor in enumerate(predictors):
        zc_name = predictor.method_type
        if self.zc_api is not None and zc_name in zc_results:
            score = zc_results[zc_name]['score']
            if float("-inf") == score:
                score = -1e9
            elif float("inf") == score:
                score = 1e9
        else:
            raise KeyError(f"key not found")
            graph = self.search_space.clone()
            graph.set_spec(encoding)
            graph.parse()
            score = predictor.query(graph, train_loader)
            del graph
        zc_scores[zc_name] = score
    return zc_scores