Elle McFarlane
add placeholder huggingface space app, gradio version == 4.15.0
fa0aa6d
# get git root
ROOT_DIR:=$(shell git rev-parse --show-toplevel)/text2motion
PYTHON_BIN:=python3
EXP:=motiondiffuse
SEED = 42
MODEL_DIR:=checkpoints/grab/demo
# MODEL_DIR:=checkpoints/grab/md_fulem_2g_excl_196_seed42
EPOCH:=latest
PROMPT:=a person walking happily
# PROMPT:=happiness airplane pass
GT_FILE=s2/cubesmall_lift # ground-truth
FRAMES=60
MEAN_EMOTION=surprise
# to push changes to space, run 'git push space main'
# make sure to do 'git remote add space https://huggingface.co/spaces/ellemac/Text2EMotionDiffuse'
huggingface:
cd ${ROOT_DIR} && ${PYTHON_BIN} -m app
mean-mesh:
cd $(ROOT_DIR) && vglrun ${PYTHON_BIN} -m datasets.mean_mesh \
--emotion ${MEAN_EMOTION} \
--file train.txt \
expl-train:
cd ${ROOT_DIR} && ${PYTHON_BIN} -m datasets.train_explorer \
eval:
cd ${ROOT_DIR} && ${PYTHON_BIN} -m tools.evaluation ${MODEL_DIR}/opt.txt \
# TODO (elmc): increase batch_size from 1 when not debugging!!
train: w_stats
echo "experiment name md_${EXP}_seed${SEED}"
cd ${ROOT_DIR} && ${PYTHON_BIN} -m tools.train \
--name md_${EXP}_seed${SEED} \
--batch_size 128 \
--times 50 \
--num_epochs 50 \
--dataset_name grab \
--num_layers 8 \
--diffusion_steps 1000 \
--data_parallel \
--gpu_id 0 1 \
--wandb_user "elles" \
--experiment_name md_${EXP}_seed${SEED} \
--log_every 50 \
--seed ${SEED} \
--use_wandb \
# get-npy makes model generate seq according to text and writes result to npy file
gen-npy:
cd ${ROOT_DIR} && ${PYTHON_BIN} -m tools.inference \
--opt_path ${MODEL_DIR}/opt.txt \
--which_epoch ${EPOCH} \
--text "${PROMPT}" \
--npy_path ${MODEL_DIR}/outputs \
--seed 42 \
--motion_length ${FRAMES} \
# put the model your trained in MODEL_DIR (set at top of file) and generate poses with it conditioned on prompt
# smpl-x model then displays poses as meshes
# WARNING: make sure to run 'make gen' first to generate the npy files for make gen
play-gen-gif:
echo "make sure to run on hpc dtu gui with graphics support and that you use 'vglrun' before python3 call!"
echo "WARNING: run 'make gen' first to generate the npy files for make gen"
cd $(ROOT_DIR) && vglrun ${PYTHON_BIN} -m datasets.motionx_explorer \
--model_path ${MODEL_DIR} \
--which_epoch ${EPOCH} \
--prompt "${PROMPT}" \
--display_mesh \
--save_gif \
--max_t ${FRAMES} \
play-gen-gui:
echo "make sure to run on hpc dtu gui with graphics support and that you use 'vglrun' before python3 call!"
echo "WARNING: run 'make infer' first to generate the npy files for make gen"
cd $(ROOT_DIR) && ${PYTHON_BIN} -m datasets.motionx_explorer \
--model_path ${MODEL_DIR} \
--which_epoch ${EPOCH} \
--prompt "${PROMPT}" \
--display_mesh \
--max_t ${FRAMES} \
# smpl-x displays poses from seq_file as meshes
play-gt-gif:
cd $(ROOT_DIR) && vglrun ${PYTHON_BIN} -m datasets.motionx_explorer \
--seq_file ${GT_FILE} \
--display_mesh \
--save_gif \
--max_t ${FRAMES} \
play-gt-gui:
cd $(ROOT_DIR) && vglrun ${PYTHON_BIN} -m datasets.motionx_explorer \
--seq_file ${GT_FILE} \
--display_mesh \
--max_t ${FRAMES} \
gen: gen-npy play-gen-gif
aug:
cd $(ROOT_DIR) && ${PYTHON_BIN} -m Motion-X.mocap-dataset-process.face_motion_augmentation \
print-data:
cd $(ROOT_DIR) && ${PYTHON_BIN} -m datasets.motionx_explorer \
queue:
cd ${ROOT_DIR} && bsub < jobscript.sh
w_stats:
cd ${ROOT_DIR} && ${PYTHON_BIN} -m datasets.statistics_writer \
w_custom:
cd ${ROOT_DIR} && ${PYTHON_BIN} -m datasets.custom_data_writer \
stat:
@err_file=$$(ls -v gpu_*.err | tail -n 1); \
out_file=$$(ls -v gpu_*.out | tail -n 1); \
echo "Latest .err file: $$err_file"; \
echo "Latest .out file: $$out_file"; \
# checks gpu utilization of latest job
gpu:
@err_file=$$(ls -v gpu_*.err | tail -n 1); \
err_number=$$(echo $$err_file | grep -oP 'gpu_\K\d+(?=\.err)'); \
echo "Latest .err file: $$err_file with number $$err_number"; \
bnvtop $$err_number; \
space:
getquota_work3.sh
hog:
du -h --max-depth=1 --apparent /work3/s222376/
env_setup:
@echo "module load cuda/10.1 cudnn/v7.6.5.32-prod-cuda-10.1 gcc/5.4.0"