Views
No views yet
TextMotionCLIP): a Transformer MotionEncoder + a frozen CLIP
text encoder with a trainable projection, trained with symmetric contrastive loss.state_dict (+ epoch/step meta) is kept;
the Lightning optimizer/callback/loop state was stripped (1.3 GB → 0.78 GB). Fully load-compatible.1import torch
2from omegaconf import OmegaConf
3from multimodal_tokenizers.models.text_motion_clip import TextMotionCLIP
4
5cfg = OmegaConf.load("configs/evaluator/question_motion_clip_v3_body.yaml")
6model = TextMotionCLIP(cfg)
7ckpt = torch.load("question_motion_clip_v3_best.ckpt", map_location="cpu", weights_only=False)
8model.load_state_dict(ckpt["state_dict"], strict=True)
9model.to("cuda").eval()model_files/pretrained_cpt/evaluator/question_motion_clip_v3_best.ckpt in the ViBES repo,
then run scripts/eval_vibes_body_q2m.py. See docs/4-evaluation.md in the repo for the full protocol
(balanced R-Precision, 20 replications, R_SIZE=32, EMB_SCALE=6.0, etc.).