|
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
4.77 kB
| # 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)์ | |
| ์๋ ๋ถ๋ฅํ์ฌ ์ฒ๋ฆฌํ๋ค. | |
| ## ํ์ดํ๋ผ์ธ | |
| 1. **ํผ์ฌ์ฒด ๊ฐ์ง**: mediapipe ์ผ๊ตด ๊ฒ์ถ โ (์คํจ ์) OpenCV Haar cascade ์ผ๊ตด ๊ฒ์ถ โ | |
| (๊ทธ๋๋ ์คํจ ์) ultralytics YOLOv8n ์ฌ๋ ๊ฒ์ถ โ (๊ทธ๋๋ ์์ผ๋ฉด) ์ ์ฒด ํ๋ ์ | |
| ๊ทธ๋๋ก ์ฌ์ฉ. ์ฌ๋์ด ์๋ ์ฌ๋ฌผ/์ฅ๋ฉด LoRA๋ ์์ฐ์ค๋ฝ๊ฒ "์ ์ฒด ํ๋ ์" ๊ฒฝ๋ก๋ก ๋น ์ง๋ค. | |
| 2. **๋ฒํท ๋งค์นญ + ํฌ๋กญ**: ๊ฐ์ง๋ bbox๋ฅผ ์ผ๊ตด 2.2๋ฐฐ / ์ฌ๋ 1.3๋ฐฐ๋ก ํจ๋ฉํ ๋ค, Wan | |
| 480p/720p/1080p ร (๊ฐ๋ก/์ธ๋ก/์ ์ฌ๊ฐ) ๋ฒํท ์ค ์ข ํก๋น๊ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฒ์ ๊ณจ๋ผ | |
| ๊ทธ ํด์๋๋ก ํฌ๋กญ+๋ฆฌ์ฌ์ด์ฆ(16 ๋ฐฐ์ ์ ๋ ฌ). ์๋ณธ ํด์๋๋ณด๋ค ์ปค์ง๋(์ ์ค์ผ์ผ) ๋ฒํท์ | |
| ์๋์ผ๋ก ๊ฑด๋๋ด๋ค โ `--max-tier`๋ก ์ํ๋ง ์ง์ . | |
| 3. **์์ ์ฌ ๋ถํ **: OpenCV ํ์คํ ๊ทธ๋จ ์ฐจ๋ถ์ผ๋ก ์ปท ์ง์ ์ ์ฐพ๊ณ , `--clip-min-sec` | |
| ~ `--clip-max-sec` ๋ฒ์๋ก ํด๋ฆฝ์ ๋๋๋ค. ํด๋ฆฝ๋ง๋ค ๋ํ ํ๋ ์ ๋ช ์ฅ์ bbox | |
| ์ค์๊ฐ์ผ๋ก ํฌ๋กญ์ ๊ณ ์ ํ๊ณ (ํ๋ ์ ํ๋ค๋ฆผ ๋ฐฉ์ง), `--video-fps`๋ก ๋ฆฌ์ํ, 4n+1 | |
| ํ๋ ์ ์๋ก ํธ๋ฆฌ๋ฐ, optical flow ํ๊ท ํฌ๊ธฐ๋ก "static/subtle/moderate/fast | |
| motion" ํ๊ทธ๋ฅผ ์บก์ ์ ๋ง๋ถ์ธ๋ค. | |
| 4. **์บก์ ๋** (`--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)์ ultralytics `yolov8n.pt`(~6MB)๋ฅผ ์๋ ๋ค์ด๋ก๋ํ๋ค. | |
| ๋คํธ์ํฌ/๋์คํฌ ์ฉ๋ ํ์ธ ํ ์คํํ ๊ฒ. | |
| - 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 ์์ค)๋ฅผ ๋์กฐํด ์์ฑํ์ง๋ง, ์ฒ์ | |
| ์คํํ ๋ ์บก์ ๋ ์ชฝ ์๋ฌ๊ฐ ๋๋ฉด ๊ทธ ๋ถ๋ถ๋ถํฐ ํ์ธํ ๊ฒ. | |