Views
No views yet
@article{li2025remomask,
title={ReMoMask: Retrieval-Augmented Masked Motion Generation},
author={Li, Zhengdao and Wang, Siheng and Zhang, Zeyu and Tang, Hao},
journal={arXiv preprint arXiv:2508.02605},
year={2025}
}1conda create -n remomask python=3.10
2pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu118
3pip install -r requirements.txt
4conda activate remomaskremomask_models.zip
├── checkpoints/ # Evaluation Models and Gloves
├── Part_TMR/
│ └── checkpoints/ # RAG pretrained checkpoints
├── logs/ # T2M pretrained checkpoints
├── database/ # RAG database
└── ViT-B-32.pt # CLIP model./dataset/HumanML3D.1python demo.py \
2 --gpu_id 0 \
3 --ext exp_demo \
4 --text_prompt "A person is playing the drum set." \
5 --checkpoints_dir logs \
6 --dataset_name humanml3d \
7 --mtrans_name pretrain_mtrans \
8 --rtrans_name pretrain_rtrans
9# change pretrain_mtrans and pretrain_rtrans to your mtrans and rtrans after your training done--repeat_times: number of replications for generation, default 1.--motion_length: specify the number of poses for generation../outputs/1python Part_TMR/scripts/train.py \
2 device=cuda:0 \
3 train=train \
4 dataset.train_split_filename=train.txt \
5 exp_name=exp \
6 train.optimizer.motion_lr=1.0e-05 \
7 train.optimizer.text_lr=1.0e-05 \
8 train.optimizer.head_lr=1.0e-05
9# change the exp_name to your rag name1python build_rag_database.py \
2 --config-name=config \
3 device=cuda:0 \
4 train=train \
5 dataset.train_split_filename=train.txt \
6 exp_name=exp_for_mtrans./database1bash run_rvq.sh \
2 vq \
3 0 \
4 humanml3d \
5 --batch_size 256 \
6 --num_quantizers 6 \
7 --max_epoch 50 \
8 --quantize_dropout_prob 0.2 \
9 --gamma 0.1 \
10 --code_dim2d 1024 \
11 --nb_code2d 256
12# vq means the save dir
13# 0 means gpu_0
14# humanml3d means dataset
15# change the vq_name to your vq name1bash run_mtrans.sh \
2 mtrans \
3 1 \
4 0 \
5 11247 \
6 humanml3d \
7 --vq_name pretrain_vq \
8 --batch_size 64 \
9 --max_epoch 2000 \
10 --attnj \
11 --attnt \
12 --latent_dim 512 \
13 --n_heads 8 \
14 --train_split train.txt \
15 --val_split val.txt
16# 1 means using one gpu
17# 0 means using gpu_0
18# 11247 means ddp master port
19# change the mtrans to your mtrans name1bash run_rtrans.sh \
2 rtrans \
3 2 \
4 humanml3d \
5 --batch_size 64 \
6 --vq_name pretrain_vq \
7 --cond_drop_prob 0.01 \
8 --share_weight \
9 --max_epoch 2000 \
10 --attnj \
11 --attnt
12# here, 2 means cuda:0,1
13# --vq_name: the vq model you want to use
14# change the rtrans to your vq rtrans1python Part_TMR/scripts/test.py \
2 device=cuda:0 \
3 train=train \
4 exp_name=exp_pretrain
5# change exp_pretrain to your rag model1python eval_vq.py \
2--gpu_id 0 \
3--name pretrain_vq \
4--dataset_name humanml3d \
5--ext eval \
6--which_epoch net_best_fid.tar
7# change pretrain_vq to your vq1python eval_mask.py \
2 --dataset_name humanml3d \
3 --mtrans_name pretrain_mtrans \
4 --gpu_id 0 \
5 --cond_scale 4 \
6 --time_steps 10 \
7 --ext eval \
8 --repeat_times 1 \
9 --which_epoch net_best_fid.tar
10# change pretrain_mtrans to your mtrans1python eval_res.py \
2 --gpu_id 0 \
3 --dataset_name humanml3d \
4 --mtrans_name pretrain_mtrans \
5 --rtrans_name pretrain_rtrans \
6 --cond_scale 4 \
7 --time_steps 10 \
8 --ext eval \
9 --which_ckpt net_best_fid.tar \
10 --which_epoch fid \
11 --traverse_res
12# change pretrain_mtrans and pretrain_rtrans to your mtrans and rtrans1cd blender-2.93.18-linux-x64
2./blender --background --versionBlender 2.93.18 (hash cb886axxxx built 2023-05-22 23:33:27)./blender --background --python-expr "import sys; import os; print('\nThe version of python is ' + sys.version.split(' ')[0])"The version of python is 3.9.2./blender --background --python-expr "import sys; import os; print('\nThe path to the installation of python is\n' + sys.executable)" The path to the installation of python is /xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9s1/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m ensurepip --upgrade
2/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install --upgrade pip1/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install numpy==2.0.2
2/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install matplotlib==3.9.4
3/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install hydra-core==1.3.2
4/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install hydra_colorlog==1.2.0
5/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install moviepy==1.0.3
6/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install shortuuid==1.0.13
7/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install natsort==8.4.0
8/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install pytest-shutil==1.8.1
9/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install tqdm==4.67.1
10/xxx/blender-2.93.18-linux-x64/2.93/python/bin/python3.9 -m pip install tqdm==1.17.0python -m fit --dir new_test_npy --save_folder new_temp_npy --cuda cuda:0/xxx/blender-2.93.18-linux-x64/blender --background --python render.py -- --cfg=./configs/render_mld.yaml --dir=test_npy --mode=video --joint_type=HumanML3D--mode=video: render to mp4 video--mode=sequence: render to a png image, calle sequence.