in src/lighteval/metrics/imports/summac.py [0:0]
def score_one(self, original, generated):
image = self.imager.build_image(original, generated)
ent_scores = np.max(image[0], axis=0)
co_scores = np.max(image[1], axis=0)
if self.op1 == "mean":
ent_scores = np.mean(image[0], axis=0)
co_scores = np.mean(image[1], axis=0)
elif self.op1 == "min":
ent_scores = np.min(image[0], axis=0)
co_scores = np.min(image[1], axis=0)
if self.use_ent and self.use_con:
scores = ent_scores - co_scores
elif self.use_ent:
scores = ent_scores
elif self.use_con:
scores = 1.0 - co_scores
final_score = np.mean(scores)
if self.op2 == "min":
final_score = np.min(scores)
elif self.op2 == "max":
final_score = np.max(scores)
return {"score": final_score, "image": image}