Views
No views yet
train_joint.py. Folder names match the
official 3D-CustomBench subject ids exactly.1subjects.json # trigger phrase + metadata for all 30 subjects
2<subject_id>/
3├── subject_adapter/pytorch_lora_weights.safetensors # 3DreamBooth identity LoRA
4├── tdapter/pytorch_lora_weights.safetensors # subject-specific 3Dapter LoRA
5└── training_config.json # training args for this subjectrhs followed by a class word that differs per
subject — rhs bear, rhs mug, rhs bust, and so on. This phrase is what carries the
learned identity, so it must appear verbatim in your inference prompt and be marked as the
LoRA span. Using the wrong class word (e.g. rhs plushie for a checkpoint trained on
rhs bear) will not activate the subject identity.subjects.json is the machine-readable source for this:1import json
2from huggingface_hub import hf_hub_download
3
4meta = json.load(open(hf_hub_download(
5 "lanikoworld/3DreamBooth-CustomBench", "subjects.json")))
6spans = {s["subject_id"]: s["lora_span"] for s in meta["subjects"]}
7print(spans["graduation_bear"]) # "rhs bear"subject_id, lora_span, identifier, class_word, the exact
train_prompt used, and the subject's benchmark_prompt from 3D-CustomBench.| Subject id | LoRA span | Training prompt |
|---|---|---|
bear_keychain | rhs plushie | A video of a [rhs plushie]. |
black_gold_mug | rhs mug | A video of a [rhs mug]. |
black_handbag | rhs handbag | A video of a [rhs handbag]. |
blue_label_pill_bottle | rhs bottle | A video of a [rhs bottle]. |
blue_pig_mug | rhs mug | A video of a [rhs mug]. |
cat_figurine | rhs figurine | A video of a [rhs figurine]. |
ceramic_bust | rhs bust | A video of a [rhs bust]. |
covered_motorcycle | rhs motorbike | A video of a [rhs motorbike]. |
deer_flowerpot | rhs pot | A video of a [rhs pot]. |
drawstring_pants | rhs sweatpants | A video of a [rhs sweatpants]. |
floral_mug | rhs mug | A video of a [rhs mug]. |
gaming_headset | rhs headset | A video of a [rhs headset]. |
graduation_bear | rhs bear | A video of a [rhs bear]. |
hand_cream | rhs tube | A video of a [rhs tube]. |
headband_bust | rhs bust | A video of a [rhs bust]. |
lavender_pitcher | rhs pitcher | A video of a [rhs pitcher]. |
lotion_bottle | rhs bottle | A video of a [rhs bottle]. |
milk_carton | rhs carton | A video of a [rhs carton]. |
moose_plush | rhs plush | A video of a [rhs plush]. |
multifunction_printer | rhs printer | A video of a [rhs printer]. |
office_chair | rhs chair | A video of a [rhs chair]. |
pink_plush | rhs plush | A video of a [rhs plush]. |
pink_rubber_duck | rhs duck | A video of a [rhs duck]. |
rattan_light_bulb | rhs bulb | A video of a [rhs bulb]. |
small_pill_bottle | rhs bottle | A video of a [rhs bottle]. |
textured_rock | rhs rock | A video of a [rhs rock]. |
toy_toilet | rhs toilet | A video of a [rhs toilet]. |
wafer_bag | rhs bag | A video of a [rhs bag]. |
white_light_bulb | rhs bulb | A video of a [rhs bulb]. |
yogurt_drink | rhs bottle | A video of a [rhs bottle]. |
subjects.json also records each subject's legacy_id — the internal name used during
development — matching the legacy_id field in the dataset's
manifest.json.training_config.json, filesystem paths (pretrained_model_root,
instance_data_root, reference_path, tdapter_path, output_dir) were rewritten from
their original development locations to the public layout documented in the
3DreamBooth README. All
hyperparameters and prompts are unmodified.1hf download lanikoworld/3DreamBooth-CustomBench \
2 --local-dir ./checkpoints/custombench --include "graduation_bear/*"validate_joint.py:1python validate_joint.py \
2 --pretrained_model_root ./checkpoints/hunyuanvideo-1.5 \
3 --pretrained_transformer_version 720p_t2v \
4 --subject_adapter_path ./checkpoints/custombench/graduation_bear/subject_adapter/pytorch_lora_weights.safetensors \
5 --tdapter_path ./checkpoints/custombench/graduation_bear/tdapter/pytorch_lora_weights.safetensors \
6 --reference_path ./datasets/3d-custombench/subjects/graduation_bear/references \
7 --prompt "A video of a rhs bear on a beach." \
8 --text_lora_spans "rhs bear" \
9 --video_length 81scripts/run.py interface, and how the [rhs ...] bracket span format works).1@misc{ko20263dreambooth,
2 title = {3DreamBooth: High-Fidelity 3D Subject-Driven Video Generation Model},
3 author = {Hyun-kyu Ko and Jihyeon Park and Younghyun Kim and Dongheok Park and Eunbyung Park},
4 year = {2026},
5 eprint = {2603.18524},
6 archivePrefix = {arXiv},
7 primaryClass = {cs.CV},
8 url = {https://arxiv.org/abs/2603.18524}
9}