MCPcopy Create free account
hub / github.com/Paper2Poster/Paper2Poster / compare_folders_with_clip

Function compare_folders_with_clip

utils/poster_eval_utils.py:384–411  ·  view source on GitHub ↗

Loads a CLIP model from Hugging Face, gets embeddings for each folder, and computes both average L2 distance and average cosine similarity.

(folder1, folder2)

Source from the content-addressed store, hash-verified

382 return np.mean(similarities) if similarities else float('nan')
383
384def compare_folders_with_clip(folder1, folder2):
385 """
386 Loads a CLIP model from Hugging Face,
387 gets embeddings for each folder,
388 and computes both average L2 distance and average cosine similarity.
389 """
390 device = "cuda" if torch.cuda.is_available() else "cpu"
391
392 model_name="openai/clip-vit-base-patch32"
393 model_name = "BAAI/AltCLIP"
394 model = AltCLIPModel.from_pretrained(model_name).to('cuda')
395 processor = AltCLIPProcessor.from_pretrained(model_name)
396
397 # Compute embeddings
398 emb1 = compute_clip_embeddings(folder1, model, processor, device)
399 emb2 = compute_clip_embeddings(folder2, model, processor, device)
400
401 if emb1.size == 0 or emb2.size == 0:
402 print("One of the folders had no valid images. Comparison not possible.")
403 return None, None
404
405 # Average L2 Distance
406 avg_l2 = compute_average_l2_distance(emb1, emb2)
407
408 # Average Cosine Similarity
409 avg_cos_sim = compute_average_cosine_similarity(emb1, emb2)
410
411 return avg_l2, avg_cos_sim
412
413def convert_folder_to_grayscale(input_folder, output_folder):
414 os.makedirs(output_folder, exist_ok=True)

Callers 3

compute_fidFunction · 0.70

Tested by

no test coverage detected