Instructions to use phylun/Komapper_SDFTPracticeCode with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use phylun/Komapper_SDFTPracticeCode with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("phylun/Komapper_SDFTPracticeCode", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
Komapper SD Fine-Tuning Practice Code
Stable Diffusion ์ค์ต ์ฝ๋์ ๋๋ค. ์ฝํฌ๋ฆฌํธ ์์ ์ฌ์ง์ ์์ฌ๋ก, ํ์ฐ ๋ชจ๋ธ์ ์๋ฆฌ๋ถํฐ LoRA ํ์ธํ๋๊ณผ ControlNet ์กฐ๊ฑด๋ถ ์์ฑ๊น์ง ๋ค๋ฃน๋๋ค.
Komapper_SDFTPracticeCode/
โโโ 01_T2I/ ํ
์คํธ โ ์ด๋ฏธ์ง, LoRA ํ์ธํ๋
โโโ 02_CtrlGen/ ๋ง์คํฌ โ ์ด๋ฏธ์ง, ControlNet ์กฐ๊ฑด๋ถ ์์ฑ (๊ฐ์ค์น ๋๋ด)
โโโ 03_Inpaint/ ์ฌ์ง ์ผ๋ถ๋ง ๋ค์ ์น ํ๊ธฐ, DreamBooth (๊ฐ์ค์น ๋๋ด)
โโโ Dataset_Dmg/ 01_T2I ยท 02_CtrlGen ์ฉ (ControlNet์ด ์์ฑํ ํฉ์ฑ ๋ฐ์ดํฐ)
โโโ Dataset_Crack/ 03_Inpaint ์ฉ (์ค์ ์ดฌ์ ์ฌ์ง)
์ค์ต์ 01_T2I โ 02_CtrlGen โ 03_Inpaint ์์์
๋๋ค. ์คํฌ๋ฆฝํธ๋ ๊ฐ์์ ํด๋ ์์์
์คํํ๋ฉฐ, ๊ฒฐ๊ณผ ๊ทธ๋ฆผ์ ๊ทธ ํด๋์ ./outputs/ ์ ์ ์ฅ๋ฉ๋๋ค.
์ธ ํด๋ ๋ชจ๋ ๊ฐ์ 4๋จ ๊ตฌ์ฑ์
๋๋ค โ 01ยท02๋ ๊ณต๊ฐ ์ด๋ฏธ์ง๋ก ์๋ฆฌ๋ฅผ ๋ณด๊ณ ,
03์์ ์ฐ๋ฆฌ ๋ฐ์ดํฐ๋ก ํ์ตํ๊ณ , 04์์ ๋ฏธ๋ฆฌ ํ์ตํด ๋ ๊ฐ์ค์น์ ๋น๊ตํฉ๋๋ค.
01_T2I โ ํ ์คํธ๋ก ์ด๋ฏธ์ง ๋ง๋ค๊ธฐ
| ํ์ผ | ๋ด์ฉ |
|---|---|
00_Ready4SD.py |
์ธ ํด๋ ์ ๋ถ์ ์ฐ์ด๋ ๋ชจ๋ธ์ ๋ฏธ๋ฆฌ ๋ด๋ ค๋ฐ์ ์บ์์ ๋ฃ์ด ๋ก๋๋ค (์ฝ 7GB, 6~10๋ถ). ํ์ต๋ ์์ฑ๋ ํ์ง ์์ต๋๋ค. |
01_noise_to_image.py |
ํ ์คํธ๋ VAE๋ ์์ด, ์์ ๋ ธ์ด์ฆ โ ์ฌ์ง. ํ์ฐ ๋ชจ๋ธ์ ์๋ฆฌ๋ง ๋ณด์ฌ ์ค๋๋ค. |
02_text_to_image.py |
ํ ์คํธ๋ก ์ด๋ฏธ์ง ์์ฑ. ํ๋กฌํํธยท์คํ ์ยทguidance scale์ ๋ฐ๊ฟ ๊ฐ๋ฉฐ ๊ฒฐ๊ณผ๋ฅผ ๋ด ๋๋ค. |
03_lora_finetune.py |
ํต์ฌ. 860M UNet์ ์ผ๋ ค ๋๊ณ LoRA(์ฝ 0.8M)๋ง ํ์ต์ํต๋๋ค. 300์คํ , GPU๋ก 2๋ถ ์ ๋. |
04_lora_inference.py |
๊ฐ์ ํ๋กฌํํธยท๊ฐ์ ์๋๋ก LoRA ์ ์ฉ ์ /ํ๋ฅผ ๋๋ํ ๋น๊ตํฉ๋๋ค. |
lora_pretrained/ |
๋ฏธ๋ฆฌ ํ์ตํด ๋ LoRA ๊ฐ์ค์น. 03์ ์ฌ๊ธฐ๋ฅผ ๊ฑด๋๋ฆฌ์ง ์์ต๋๋ค. |
lora_finetuned/ |
03์ด ๋ง๋๋ ํด๋. lora_pretrained์ ๊ตฌ์ฑ์ด ๊ฐ์ 04์์ ๊ณจ๋ผ ์ธ ์ ์์ต๋๋ค. |
03๋ง ๊ฒฐ๊ณผ ๊ทธ๋ฆผ ๋์ ๊ฐ์ค์น๋ฅผ ์ ์ฅํฉ๋๋ค.
02_CtrlGen โ ๋ง์คํฌ๋ก ์ด๋ฏธ์ง ๋ง๋ค๊ธฐ
ํ๋กฌํํธ ์์ ์กฐ๊ฑด ์ด๋ฏธ์ง๋ฅผ ํ๋ ๋ ๋ฃ์ด, ์์์ด ์ด๋์ ์๊ธธ์ง๊น์ง ์ง์ํฉ๋๋ค.
| ํ์ผ | ๋ด์ฉ |
|---|---|
01_edge_to_image.py |
๊ณต๊ฐ ์ฌ์ง์ ์ค๊ณฝ์ (Canny)์ ์กฐ๊ฑด์ผ๋ก ๋ฃ์ด ๋ค์ ๊ทธ๋ฆฝ๋๋ค. ControlNet ๋์ ๋ถ. |
02_control_strength.py |
controlnet_conditioning_scale 0 โ 1.5. ์กฐ๊ฑด์ด ๊ฒฐ๊ณผ๋ฅผ ์ผ๋ง๋ ๋ถ์ก๋๊ฐ. |
03_controlnet_finetune.py |
ํต์ฌ. UNet์ ์ผ๋ ค ๋๊ณ ControlNet(361M)๋ง ํ์ต์ํต๋๋ค. 300์คํ . |
04_controlnet_inference.py |
๊ฐ์ ์บก์ ยท๊ฐ์ ์๋๋ก ๋ง์คํฌ๋ฅผ ์ค ๊ฒฝ์ฐ์ ์ ์ค ๊ฒฝ์ฐ๋ฅผ ๋น๊ตํฉ๋๋ค. |
ctrl_pretrained/ |
๋ฏธ๋ฆฌ ํ์ตํด ๋ ControlNet (fp16, 722MB). Dataset_Dmg ์ ์ฌ์ง์ ๋ง๋ค์ด ๋ธ ๋ฐ๋ก ๊ทธ ๋ชจ๋ธ์
๋๋ค. |
01ยท02๋ ๊ณต๊ฐ ์ด๋ฏธ์ง์ ๊ณต๊ฐ ControlNet์ผ๋ก ์๋ฆฌ๋ง ๋ณด๊ณ , 03ยท04์์ Dataset_Dmg๋ก
์ง์ ํ์ตํ๊ณ ๋น๊ตํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ 02_CtrlGen/README.md๋ฅผ ๋ณด์ธ์.
03_Inpaint โ ์ฌ์ง ์ผ๋ถ๋ง ๋ค์ ์น ํ๊ธฐ
๋ฉ์ฉกํ ๋ฒฝ ์ฌ์ง์ ๊ท ์ด ๋ง์คํฌ๋ฅผ ์์ ๊ทธ ์๋ฆฌ์๋ง ๊ท ์ด์ ๊ทธ๋ ค ๋ฃ์ต๋๋ค. ๋ฐฐ๊ฒฝ์ ์ง์ง ์ฌ์ง ๊ทธ๋๋ก ๋จ๊ณ , ๋ง์คํฌ๊ฐ ๊ณง ์ ๋ต ๋ผ๋ฒจ์ด ๋ฉ๋๋ค.
| ํ์ผ | ๋ด์ฉ |
|---|---|
01_inpaint_basic.py |
๊ณต๊ฐ ์ฌ์ง์ ์ผ๋ถ๋ฅผ ๋ง์คํฌ๋ก ์ง์ฐ๊ณ ๋ค์ ์ฑ์ฐ๊ธฐ. inpainting ๋์ ๋ถ. |
02_inpaint_strength.py |
strength 0.2 โ 1.0. ๋ง์คํฌ ์์ ์ผ๋ง๋ ๋ฒ๋ฆฌ๊ณ ์๋ก ๊ทธ๋ฆด ๊ฒ์ธ๊ฐ. |
03_dreambooth_finetune.py |
ํต์ฌ. DreamBooth๋ก sks ํ ํฐ์ "์ฐ๋ฆฌ ๊ท ์ด"์ ๊ฐ์ธ. UNet ์ ์ฒด(866M)๋ฅผ ํ์ต. |
04_inpaint_inference.py |
๋ฉ์ฉกํ ๋ฒฝ + ๋ง์คํฌ โ ๊ท ์ด ์ฌ์ง. ์ /ํ ๋น๊ต. |
dreambooth_pretrained/ |
๋ฏธ๋ฆฌ ํ์ตํด ๋ DreamBooth UNet (1.7GB). ์ค์ ์ฐ๊ตฌ์ ์ด ๊ทธ ๋ชจ๋ธ์ ๋๋ค. |
์์ธํ ๋ด์ฉ์ 03_Inpaint/README.md๋ฅผ ๋ณด์ธ์.
Dataset_Crack โ 03_Inpaint ์ฉ ๋ฐ์ดํฐ
์ค์ ๋ก ์ดฌ์ํ ์ฌ์ง์
๋๋ค. Dataset_Dmg(ControlNet ์์ฑ๋ฌผ)์๋ ์ถ์ฒ๊ฐ ๋ค๋ฆ
๋๋ค.
| ํด๋ | ๋ด์ฉ |
|---|---|
CrackImages/ |
๊ท ์ด ์ฌ์ง 100์ฅ (448x448) |
CrackMasks/ |
๊ทธ ๊ท ์ด์ ๋ง์คํฌ 100์ฅ. ํ์ผ๋ช ์ด ์ฌ์ง๊ณผ ์ง์ ์ด๋ฃน๋๋ค. |
IntactImages/ |
๋ฉ์ฉกํ ์ฝํฌ๋ฆฌํธ ๋ฒฝ 100์ฅ. DreamBooth์ class ์ด๋ฏธ์ง์ด์ ์์ฑ ๋ฐฐ๊ฒฝ์ ๋๋ค. |
Dataset_Dmg โ 01_T2I ยท 02_CtrlGen ์ฉ ๋ฐ์ดํฐ
| ํด๋ | ๋ด์ฉ |
|---|---|
JPEGImages/ |
์ฝํฌ๋ฆฌํธ ์์ ์ฌ์ง 100์ฅ (1024x1024, 166MB) |
CtrlNetImages/ |
์์ ๋ถ์ ๋ง์คํฌ 100์ฅ (1024x1024). ControlNet ์กฐ๊ฑด ์ ๋ ฅ์ผ๋ก ์ฐ๋ ํด๋์ค๋ณ ์ปฌ๋ฌ ๋ง์คํฌ์ ๋๋ค. |
TextFiles/ |
์ฌ์ง๋ณ ์บก์ 100๊ฐ |
์ ๋ถ 1024px ์๋ณธ ๊ทธ๋๋ก์
๋๋ค. 01_T2I์ LoRA ํ์ต์ ๋ถ๋ฌ์ฌ ๋ 512๋ก ์ค์ฌ ์ฐ๊ณ ,
02_CtrlGen์ 1024๋ฅผ ๊ทธ๋๋ก ์๋๋ค โ ControlNet ๊ฐ์ค์น๊ฐ 1024๋ก ํ์ต๋ผ์
512๋ก ์ค์ด๋ฉด ๊ฒฐ๊ณผ๊ฐ ๋ง๊ฐ์ง๋๋ค.
์ธ ํด๋๋ ํ์ผ๋ช
์ด 1:1๋ก ์ง์ ์ด๋ฃน๋๋ค (000000_271_image โ .png / .png / .txt).
๋ง์คํฌ ์์ ํ
| ์ | RGB | ์์ |
|---|---|---|
| ํฐ์ | (255,255,255) |
Crack (๊ท ์ด) |
| ๋นจ๊ฐ | (255,0,0) |
Spalling (๋ฐ๋ฆฌ) |
| ๋ ธ๋ | (255,255,0) |
Exposed rebar (์ฒ ๊ทผ ๋ ธ์ถ) |
| ํ๋ | (0,255,255) |
Efflorescence (๋ฐฑํ) |
| ์ด๋ก | (0,255,0) |
Vegetation (์์) |
| ํ๋ | (0,0,255) |
Control point (ํ์ ) |
| ๊ฒ์ | (0,0,0) |
์์ ์์ (๋ฐฐ๊ฒฝ) |
100์ฅ ์ค 2์ฅ์ ๋ง์คํฌ๊ฐ ์ ๋ถ ๊ฒ์ ์ ๋๋ค. ์บก์ ๋ "no visible damage"์ด๋ฏ๋ก ์ ์์ด๋ฉฐ, ์กฐ๊ฑด์ ๋น์ ์ ๋ ๋ฌด์์ด ๋์ค๋์ง ๋ณด์ฌ ์ฃผ๋ ์์๋ก ์ธ ์ ์์ต๋๋ค.
์คํ
CUDA GPU๊ฐ ํ์ํฉ๋๋ค.
pip install torch diffusers transformers accelerate peft safetensors matplotlib pillow tqdm
cd 01_T2I
python 00_Ready4SD.py # ๋จผ์ ํ ๋ฒ (๋ชจ๋ธ ๋ด๋ ค๋ฐ๊ธฐ)
python 01_noise_to_image.py
python 02_text_to_image.py
python 03_lora_finetune.py # LoRA ํ์ต
python 04_lora_inference.py # ์ /ํ ๋น๊ต
Colab์์๋ ์ด ํด๋๋ฅผ ํต์งธ๋ก MyDrive/Komapper_SDFTPracticeCode ์ ์ฌ๋ฆฐ ๋ค, ๊ฐ ์คํฌ๋ฆฝํธ
๋์ ์๋ ์ฃผ์ ๋ธ๋ก์ ๊ทธ๋๋ก ์
์ ๋ถ์ฌ ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค. ๋ค๋ฅธ ๊ฒฝ๋ก์ ์ฌ๋ ธ๋ค๋ฉด ์ฃผ์ ์์
%cd ๊ฒฝ๋ก๋ง ๋ฐ๊พธ์ธ์.
- Downloads last month
- -