Wojtekb30/HumanML3D-500ms-FPP-descriptions-CoTs-1
Viewer • Updated • 78.9k • 11
This model uses Residual Vector Quantization (RVQ) to reconstruct motion represented as 263-dimensional frame vectors.
It is a custom PyTorch model (not a Transformers AutoModel) and is loaded from safetensors with rvq_model.py.
(T, 263) per sequence (frame-major)motion_rvq_weights.safetensors - main published checkpointconfig.json - model configuration metadatarvq_model.py - model architecture (MotionRVQ_VAE)TestRVQ.py - inference + 3-panel visualizationTrainRVQ.py - training scriptrvq_humanml_dataset.py - training dataset loaderMean.npy, Std.npy - normalization statistics000001.npy, 000012.npy - sample motion filesmotion_rvq_weights.pth can be treated as a legacy artifact; code uses motion_rvq_weights.safetensors.
pip install torch safetensors numpy matplotlib
Run the provided visualization script:
python TestRVQ.py
By default, TestRVQ.py uses 000001.npy. You can change FILE_TO_TEST in TestRVQ.py to another sequence.
Minimal loading example:
from pathlib import Path
import torch
from safetensors.torch import load_file
from rvq_model import MotionRVQ_VAE
base = Path(".")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = MotionRVQ_VAE().to(device)
state_dict = load_file(str(base / "motion_rvq_weights.safetensors"), device=str(device))
model.load_state_dict(state_dict)
model.eval()
Expected layout:
rvq/
TrainRVQ.py
rvq_model.py
rvq_humanml_dataset.py
Mean.npy
Std.npy
new_joint_vecs/
*.npy
Run training:
python TrainRVQ.py
Output checkpoint:
motion_rvq_weights.safetensors