Download custom_nodes/dolphin_nodes/dataset_builder/README.md from bjooo/tutorials: direct link, hf CLI and curl.
- Browser
- Download file 4.77 kB
-
https://huggingface.co/bjooo/tutorials/resolve/main/custom_nodes/dolphin_nodes/dataset_builder/README.md
- Command line
-
hf download hf://bjooo/tutorials/custom_nodes/dolphin_nodes/dataset_builder/README.md
-
curl -L -o README.md https://huggingface.co/bjooo/tutorials/resolve/main/custom_nodes/dolphin_nodes/dataset_builder/README.md
Wan 2.2 LoRA Dataset Builder
์์์ ์ด๋ฏธ์ง/์์ ํด๋๋ฅผ ๋ฃ์ผ๋ฉด ํผ์ฌ์ฒด ์ค์ฌ์ผ๋ก ํฌ๋กญํ๊ณ ๋ก์ปฌ VLM์ผ๋ก ์บก์
์ ๋ฌ์,
LoRA ํ์ต ์คํฌ๋ฆฝํธ(musubi-tuner ๋ฑ)์ ๋ฐ๋ก ๋ฃ์ ์ ์๋ images/, videos/,
.txt ์บก์
, dataset.toml ์ด์์ ์์ฑํ๋ ๋
๋ฆฝ CLI ๋๊ตฌ.
ComfyUI ๋
ธ๋๊ฐ ์๋ โ __init__.py์์ importํ์ง ์์ผ๋ฏ๋ก ComfyUI ๋
ธ๋ ๋ก๋ฉ์
๊ด์ฌํ์ง ์๊ณ , python_embeded\python.exe๋ก ์ง์ ์คํํ๋ค.
์ฌ์ฉ ์ ์ : ํ์ต ๋์ ์ธ๋ฌผ/์บ๋ฆญํฐ๊ฐ ๋ช ๋ฐฑํ ์ฑ์ธ์ด์ด์ผ ํจ. ๋์ด๊ฐ ๋ถ๋ช ํํ๊ฑฐ๋ ์ณ๋ผ ๋ณด์ด๋ ์ธ๋ฌผ์ ์ฑ์ ์ฝํ ์ธ ๋ฐ์ดํฐ์ ๊ตฌ์ถ์๋ ์ด ๋๊ตฌ๋ฅผ ์ฐ์ง ๋ง ๊ฒ.
์ฌ์ฉ๋ฒ
D:\SD\ComfyUI_windows_portable\python_embeded\python.exe ^
dataset_builder\build.py ^
--input "D:\raw_media" ^
--output "D:\wan_lora_dataset" ^
--trigger "ohwx man" ^
--captioner joycaption
--input ํด๋๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์ค์บํด ์ด๋ฏธ์ง(jpg/png/webp/bmp)์ ์์(mp4/mov/mkv/avi/webm)์
์๋ ๋ถ๋ฅํ์ฌ ์ฒ๋ฆฌํ๋ค.
ํ์ดํ๋ผ์ธ
- ํผ์ฌ์ฒด ๊ฐ์ง: mediapipe ์ผ๊ตด ๊ฒ์ถ โ (์คํจ ์) OpenCV Haar cascade ์ผ๊ตด ๊ฒ์ถ โ (๊ทธ๋๋ ์คํจ ์) ultralytics YOLOv8n ์ฌ๋ ๊ฒ์ถ โ (๊ทธ๋๋ ์์ผ๋ฉด) ์ ์ฒด ํ๋ ์ ๊ทธ๋๋ก ์ฌ์ฉ. ์ฌ๋์ด ์๋ ์ฌ๋ฌผ/์ฅ๋ฉด LoRA๋ ์์ฐ์ค๋ฝ๊ฒ "์ ์ฒด ํ๋ ์" ๊ฒฝ๋ก๋ก ๋น ์ง๋ค.
- ๋ฒํท ๋งค์นญ + ํฌ๋กญ: ๊ฐ์ง๋ bbox๋ฅผ ์ผ๊ตด 2.2๋ฐฐ / ์ฌ๋ 1.3๋ฐฐ๋ก ํจ๋ฉํ ๋ค, Wan
480p/720p/1080p ร (๊ฐ๋ก/์ธ๋ก/์ ์ฌ๊ฐ) ๋ฒํท ์ค ์ข
ํก๋น๊ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฒ์ ๊ณจ๋ผ
๊ทธ ํด์๋๋ก ํฌ๋กญ+๋ฆฌ์ฌ์ด์ฆ(16 ๋ฐฐ์ ์ ๋ ฌ). ์๋ณธ ํด์๋๋ณด๋ค ์ปค์ง๋(์
์ค์ผ์ผ) ๋ฒํท์
์๋์ผ๋ก ๊ฑด๋๋ด๋ค โ
--max-tier๋ก ์ํ๋ง ์ง์ . - ์์ ์ฌ ๋ถํ : OpenCV ํ์คํ ๊ทธ๋จ ์ฐจ๋ถ์ผ๋ก ์ปท ์ง์ ์ ์ฐพ๊ณ ,
--clip-min-sec~--clip-max-sec๋ฒ์๋ก ํด๋ฆฝ์ ๋๋๋ค. ํด๋ฆฝ๋ง๋ค ๋ํ ํ๋ ์ ๋ช ์ฅ์ bbox ์ค์๊ฐ์ผ๋ก ํฌ๋กญ์ ๊ณ ์ ํ๊ณ (ํ๋ ์ ํ๋ค๋ฆผ ๋ฐฉ์ง),--video-fps๋ก ๋ฆฌ์ํ, 4n+1 ํ๋ ์ ์๋ก ํธ๋ฆฌ๋ฐ, optical flow ํ๊ท ํฌ๊ธฐ๋ก "static/subtle/moderate/fast motion" ํ๊ทธ๋ฅผ ์บก์ ์ ๋ง๋ถ์ธ๋ค. - ์บก์
๋ (
--captioner):joycaption(๊ธฐ๋ณธ) โfancyfeast/llama-joycaption-beta-one-hf-llava. ์ฃผ์: HuggingFace ๋ชจ๋ธ ์นด๋์ "ํ์ต์ฉ ์บก์ " ์ ์ฉ ํ๋กฌํํธ ๋ฌธ์์ด์ด ๊ณต์ ๋ฌธ์ํ๋์ด ์์ง ์์, ์ฌ๊ธฐ ์ฐ์ธ ์ง์๋ฌธ(caption.py์DEFAULT_PROMPT)์ ์์ฒด ์์ฑํ ๊ธฐ๋ณธ๊ฐ์ด๋ค. ์ํ๋ ์คํ์ผ์ด ์์ผ๋ฉด--caption-prompt๋ก ๋ฐ๊ฟ๋ผ.florence2โmicrosoft/Florence-2-large, ๊ฐ๋ณ๊ณ ๋น ๋ฆ(~0.77B).wd14โSmilingWolf/wd-vit-tagger-v3(onnx), booru ํ๊ทธ ์คํ์ผ.- ๊ณตํต:
--trigger๋ก ๋๊ธด ํธ๋ฆฌ๊ฑฐ ์๋๋ฅผ ์บก์ ๋งจ ์์ ์๋ ์ฝ์ .
์ถ๋ ฅ
output_dir/
images/0001.jpg, 0001.txt, ...
videos/0001.mp4, 0001.txt, ...
dataset.toml # musubi-tuner ์คํ์ผ ์ด์ โ ์ค์ ํธ๋ ์ด๋ ๋ฒ์ ๋ฌธ์์ ๋์กฐ ํ ์ฌ์ฉ
๋ชจ๋ธ ๋ค์ด๋ก๋ / VRAM ์ฐธ๊ณ
- ์ต์ด ์คํ ์ HuggingFace์์ ์บก์
๋ ๊ฐ์ค์น(JoyCaption
16GB, Florence-2-large ~1.5GB, WD14 ~์๋ฐฑMB)์ ultralytics6MB)๋ฅผ ์๋ ๋ค์ด๋ก๋ํ๋ค. ๋คํธ์ํฌ/๋์คํฌ ์ฉ๋ ํ์ธ ํ ์คํํ ๊ฒ.yolov8n.pt( - RTX 5090 32GB ๊ธฐ์ค, ComfyUI๊ฐ ์ด๋ฏธ VRAM์ ์ ์ ์ค์ด๋ฉด JoyCaption(8B, bf16 ๊ธฐ์ค
~16GB)์ด ๋ถ์กฑํ ์ ์๋ค. ์ด ๊ฒฝ์ฐ
--load-in-4bit(bitsandbytes)๋ก ์ค์ด๊ฑฐ๋, ComfyUI ์๋ฒ๋ฅผ ์ ์ ๋ด๋ ค๋๊ณ ์คํํ ๊ฒ.
์๋ ค์ง ํ๊ฒฝ ํน์ด์ฌํญ
- ์ด embedded Python ํ๊ฒฝ์
import torch๋ง ํด๋ ์ธํฐํ๋ฆฌํฐ ์ข ๋ฃ ์ ๋น์ ์ ์ข ๋ฃ ์ฝ๋(์:-1073740791)๋ฅผ ๋ธ๋ค.dataset_builder์ ๋ฌด๊ดํ ๊ธฐ์กด ํ๊ฒฝ ์ด์์ด๋ฉฐ, ์ค์ ์์ (ํ์ผ ์ ์ฅ)์ ๊ทธ ์ ์ ์ด๋ฏธ ๋๋ ๋ค ๋ฐ์ํ๋ ์ข ๋ฃ ์์ ํฌ๋์๋ผ ๊ฒฐ๊ณผ๋ฌผ์๋ ์ํฅ ์์. ๋ฐฐ์น ์คํฌ๋ฆฝํธ์์ ์ข ๋ฃ ์ฝ๋๋ก ์ฑ๊ณต/์คํจ๋ฅผ ํ๋จํ์ง ๋ง๊ณ ์ฝ์ ๋ก๊ทธ์Done.์ค๋ก ํ์ธํ ๊ฒ.
๊ฒ์ฆ๋ ๊ฒ / ์ ๋ ๊ฒ
crop_resize.py(๋ฒํท ๋งค์นญ ์ํ),detect.py(๋ค๋จ๊ณ ํด๋ฐฑ),scene_split.py(์ฌ ์ปท + ํด๋ฆฝ ์ถ์ถ + 4n+1 ํธ๋ฆฌ๋ฐ + ๋ชจ์ ํ๊ทธ)๋ ์ค์ ์ํ ์ด๋ฏธ์ง/์์์ผ๋ก ์ค๋ชจํฌ ํ ์คํธ ์๋ฃ.caption.py(JoyCaption/Florence-2/WD14 ์ค์ ์ถ๋ก ํธ์ถ)๋ ๋ชจ๋ธ ๊ฐ์ค์น ๋ค์ด๋ก๋๊ฐ ์ปค์ ์ด๋ฒ ์ธ์ ์์ end-to-end๋ก ๋๋ ค๋ณด์ง ์์๋ค. ํด๋์ค/์ ์ฒ๋ฆฌ๋ ๊ฐ ๋ชจ๋ธ์ ๊ณต์ ๋ฌธ์(HF ๋ชจ๋ธ ์นด๋, wd-tagger Space ์์ค)๋ฅผ ๋์กฐํด ์์ฑํ์ง๋ง, ์ฒ์ ์คํํ ๋ ์บก์ ๋ ์ชฝ ์๋ฌ๊ฐ ๋๋ฉด ๊ทธ ๋ถ๋ถ๋ถํฐ ํ์ธํ ๊ฒ.