kohya_ss/로컬-설치가이드.md

190 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

CUDA 12.4
CUDNN 9.1.0
# 1. 클론
git clone https://github.com/kohya-ss/sd-scripts.git
cd sd-scripts
# 2. 가상환경 생성
python -m venv venv
.\venv\Scripts\activate # Windows
# 또는
source venv/bin/activate # Linux/Mac
# 3. PyTorch 설치 (CUDA 11.8 기준)
pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118
# 4. 의존성 설치
pip install --upgrade -r requirements.txt
pip install xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu118
# 5. Accelerate 설정
accelerate config
질문에 답변:
컴퓨팅 환경: This machine
머신 타입: No distributed training
CPU only?: NO
torch dynamo?: NO
DeepSpeed?: NO
GPU ids: all (또는 0)
Mixed precision: 8GB VRAM의 경우 fp16, 12GB 이상의 경우 bf16
SDXL(Stable Diffusion XL) 모델 아키텍처는 여러 개의 대용량 파일로 구성되며 두 가지 주요 구성 요소는 기본 모델과 선택적 정제 모델입니다..safetensors. 모델 파일 크기는 사용된 파일 형식(예: 또는 .ckpt) 에 따라 달라질 수 있습니다 .
공식 SDXL 1.0 파일
공식 SDXL 1.0 릴리스의 일반적인 파일 크기는 다음과 같습니다.
기본 모델: 약 6.94GB. 이 모델은 텍스트 프롬프트에서 초기 이미지를 생성하는 데 사용됩니다.
리파이너 모델: 약 6.08GB. 리파이너는 기본 모델에서 생성된 이미지에 세부적인 정보를 추가하고 품질을 개선하는 두 번째 단계로 사용됩니다.
전체 파이프라인의 총 크기: 기본 모델과 정제 모델의 결합된 크기는 약 13GB이지만, 많은 사용자는 이제 더 빠른 워크플로를 위해 기본 모델을 주로 사용합니다.
3. 이미지 크기 조정 및 버킷화
최적 해상도: 훈련하려는 기본 모델에 따라 권장 해상도가 다릅니다.
Stable Diffusion 1.5: 512x512, 512x768, 768x512 등
SDXL: 1024x1024
버킷화 (Bucketing): Kohya_ss는 여러 다른 해상도의 이미지를 효율적으로 처리하는 '버킷' 기능을 제공합니다.
GUI에서 사전 처리 탭 선택: Kohya GUI의 Utilities 탭에서 Prepare training data를 선택합니다.
폴더 설정: Source directory에 원본 이미지 폴더를, Destination directory에 처리된 이미지를 저장할 폴더를 지정합니다.
최소/최대 해상도 설정: Min resolution과 Max resolution을 설정하고, Use buckets를 활성화합니다.
자동 크기 조정: Process images를 실행하면 이미지가 지정된 버킷 해상도에 맞게 자동으로 리사이즈되고 크롭됩니다.
💡 추가 팁
최대 3000 스텝 또는 30 에포크 권장 GitHub
50장의 학습 이미지와 4회 반복 권장 GitHub
VRAM별 배치 크기:
8GB: batch_size 1-2 GitHub
12GB: batch_size 2-3 GitHub
더 높은 VRAM: batch_size 5+ GitHub
## 💡 반복 횟수 선택 가이드
| 이미지 수 | 권장 반복 | 폴더명 예시 | 10 에포크 시 총 스텝 |
|----------|---------|------------|-------------------|
| 10장 | 10회 | `10_character` | 1000 스텝 |
| 20장 | 5회 | `5_character` | 1000 스텝 |
| 50장 | 4회 | `4_character` | 2000 스텝 |
| 100장 | 2회 | `2_character` | 2000 스텝 |
| 200장 | 1회 | `1_character` | 2000 스텝 |
**목표:** 총 스텝이 **1500~3000** 정도가 되도록 조절
고품질 (일관된 스타일/포즈/의상):
→ 4회 반복으로 충분
저품질 (다양한 각도/의상/배경):
→ 10~20회 필요할 수도
```
### **2. 목표가 다름**
```
Gemini 기준: 캐릭터 얼굴/특징 확실히 학습
Kohya 문서: 과적합(overfitting) 방지
```
### **3. 총 스텝 수 계산 방식**
```
50장 × 4회 × 10 에포크 = 2000 스텝
50장 × 10회 × 5 에포크 = 2500 스텝
50장 × 20회 × 2 에포크 = 2000 스텝
```
결국 **총 스텝이 비슷**하면 결과도 비슷해요!
---
## 📊 실전 테스트 결과 (커뮤니티 경험)
| 반복 횟수 | 이미지 수 | 에포크 | 총 스텝 | 결과 |
|----------|----------|-------|---------|------|
| 4회 | 50장 | 10 | 2000 | ⭐⭐⭐⭐ 균형 잡힘 |
| 10회 | 50장 | 5 | 2500 | ⭐⭐⭐⭐⭐ 강한 학습 |
| 20회 | 50장 | 3 | 3000 | ⚠️ 과적합 위험 |
| 2회 | 100장 | 10 | 2000 | ⭐⭐⭐⭐ 자연스러움 |
---
## 🎯 실전 가이드
### **상황별 권장 설정**
#### **📷 고품질 데이터셋 (일관된 캐릭터/스타일)**
```
이미지: 50장
반복: 4~6회
에포크: 8~10
총 스텝: 1600~3000
예: 4_character_name
```
#### **🎨 다양한 데이터셋 (여러 포즈/의상/배경)**
```
이미지: 50장
반복: 8~12회
에포크: 5~8
총 스텝: 2000~4800
예: 10_character_name
```
#### **⚡ 빠른 테스트 (품질 확인용)**
```
이미지: 30장
반복: 5회
에포크: 5
총 스텝: 750
예: 5_test_character
```
#### **🏆 프로덕션 품질 (상업용/고품질)**
```
이미지: 100장+
반복: 3~5회
에포크: 10~15
총 스텝: 3000~7500
예: 3_character_name
```
---
## 💡 **내 추천: 점진적 테스트**
### **1단계: 낮게 시작**
```
폴더: 4_character
에포크: 5
→ 1000 스텝에서 결과 확인
```
### **2단계: 필요시 증가**
```
만족스럽지 않으면:
폴더: 8_character
에포크: 5
→ 2000 스텝에서 재확인
```
### **3단계: 최적점 찾기**
```
과적합 보이면: 반복 횟수 줄이기
언더피팅이면: 반복 횟수 늘리기
```
---
## 🔬 과학적(?) 접근
### **총 스텝 기준 가이드:**
```
1000~1500 스텝: 가벼운 스타일 LoRA
2000~3000 스텝: 캐릭터 LoRA (일반)
3000~5000 스텝: 디테일한 캐릭터
5000+ 스텝: 복잡한 컨셉/다중 캐릭터