비디오 생성 성능 평가하기
멀티모달 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}")