# function to create new evaluator given data split def create_recall_evaluator(set_name, k=1): """ Create triplet evaluator for "train", "valid", or "test" split """ return ImageTextRetrievalEvaluator( images=dataset[f"{set_name}"]["anchor"], texts=dataset[f"{set_name}"]["positive"], name=f"yt-title-thumbnail-{set_name}", k=k ) # Create new evaluator with Recall@k evaluator_recall_train = create_recall_evaluator("train", k=1) evaluator_recall_valid = create_recall_evaluator("valid", k=1) print("Train:", evaluator_recall_train(model)) print("Valid:", evaluator_recall_valid(model)) # >> Train: {'yt-title-thumbnail-train_Recall@1': 0.660377358490566} # >> Valid: {'yt-title-thumbnail-valid_Recall@1': 0.6363636363636364}