Prestaties van videogeneratie beoordelen
Je kunt de prestaties van je videogeneratie-pijplijnen beoordelen met een multi-modale CLIP-model, dat de overeenkomst test tussen elk videoframe en de prompt. Je gebruikt dit om te bepalen hoe goed je gegenereerde video uit de vorige oefening aansluit op de prompt.
De functie load_video() is voor je geïmporteerd uit diffusers.utils. De module clip_score is ook geïmporteerd uit torchmetrics.
Deze oefening maakt deel uit van de cursus
Multi-modale modellen met Hugging Face
Oefeninstructies
- Stel een CLIP-scoringsfunctie in met de naam
clip_score_fn()op basis van declip_score()-metriek. - Bereken de CLIP-score tussen elke frame-tensor in
frame_tensorsenprompt.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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}")