评估视频生成性能
您可以使用多模态 CLIP 模型来评估视频生成流水线的表现。该模型会测试每一帧图像与提示词之间的相似度。您将用它来评估上一个练习中生成的视频与提示词的匹配程度。
diffusers.utils 中的 load_video() 函数已为您导入。来自 torchmetrics 的 clip_score 模块也已导入。
本练习是课程的一部分
使用 Hugging Face 的多模态模型
练习说明
- 使用
clip_score()指标创建名为clip_score_fn()的 CLIP 评分函数。 - 计算
frame_tensors中每个帧张量与prompt之间的 CLIP 分数。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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}")