Ocena jakości generowania wideo
Jakość działania potoków generowania wideo możesz ocenić za pomocą multimodalnego modelu CLIP, który sprawdza podobieństwo między każdą klatką wideo a promptem. Użyjesz tego podejścia, aby sprawdzić, jak dobrze wygenerowane wideo z poprzedniego ćwiczenia odpowiada podanemu promptowi.
Funkcja load_video() została już zaimportowana z diffusers.utils. Moduł clip_score został również zaimportowany z torchmetrics.
To ćwiczenie jest częścią kursu
Modele multimodalne z Hugging Face
Instrukcje do ćwiczenia
- Skonfiguruj funkcję oceny CLIP o nazwie
clip_score_fn()na podstawie metrykiclip_score(). - Oblicz wynik CLIP między każdym tensorem klatki w
frame_tensorsaprompt.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Setup CLIP scoring
clip_score_fn = partial(____, model_name_or_path="openai/clip-vit-base-patch32")
frame_tensors = []
for frame in frames:
frame = np.array(frame)
frame_int = (frame * 255).astype("uint8")
frame_tensor = torch.from_numpy(frame_int).permute(2, 0, 1)
frame_tensors.append(frame_tensor)
# Pass a list of CHW tensors as expected by clip_score
scores = clip_score_fn(____, [____] * len(frame_tensors)).detach().cpu().numpy()
avg_clip_score = round(np.mean(scores), 4)
print(f"Average CLIP score: {avg_clip_score}")