Valutare le prestazioni della generazione video
Puoi valutare le prestazioni delle tue pipeline di generazione video usando un modello CLIP multi-modale, che misura la somiglianza tra ogni frame del video e il prompt. Userai questo approccio per capire quanto il video generato nell’esercizio precedente corrisponda al prompt.
La funzione load_video() è stata importata da diffusers.utils per te. Il modulo clip_score è stato inoltre importato da torchmetrics.
Questo esercizio fa parte del corso
Modelli multi-modali con Hugging Face
Istruzioni dell'esercizio
- Imposta una funzione di scoring CLIP chiamata
clip_score_fn()a partire dalla metricaclip_score(). - Calcola il CLIP score tra ciascun tensore di frame in
frame_tensorse ilprompt.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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}")