|
|
||
|---|---|---|
| .cache | ||
| .vscode | ||
| assets | ||
| config_files/accelerate | ||
| dataset | ||
| docs | ||
| examples | ||
| kohya_gui | ||
| localizations | ||
| models | ||
| presets | ||
| sd-scripts@49115c25e9 | ||
| setup | ||
| test | ||
| tools | ||
| .augmentignore | ||
| .dockerignore | ||
| .env | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .hadolint.yml | ||
| .python-version | ||
| .release | ||
| Dockerfile | ||
| LICENSE.md | ||
| MANUAL_TRAIN.md | ||
| README.md | ||
| _typos.toml | ||
| config example.toml | ||
| docker-build.cmd | ||
| docker-compose.yml | ||
| docker-down.cmd | ||
| docker-push.cmd | ||
| docker-start.cmd | ||
| docker-stop.cmd | ||
| docker-up.cmd | ||
| epoch와-steps설정.md | ||
| gui-uv.bat | ||
| gui-uv.sh | ||
| gui.bat | ||
| gui.ps1 | ||
| gui.sh | ||
| kohya_gui.py | ||
| pyproject.toml | ||
| requirements-org-bak.txt | ||
| requirements.txt | ||
| requirements_ipex_xpu.txt | ||
| requirements_linux.txt | ||
| requirements_linux_ipex.txt | ||
| requirements_linux_rocm.txt | ||
| requirements_macos_amd64.txt | ||
| requirements_macos_arm64.txt | ||
| requirements_pytorch_windows.txt | ||
| requirements_runpod.txt | ||
| requirements_windows.txt | ||
| resume-train.cmd | ||
| run-caption-watcher.cmd | ||
| run-train-auto.cmd | ||
| run-train-single.cmd | ||
| run-train-single.ps1 | ||
| setup-3.10.bat | ||
| setup-runpod.sh | ||
| setup.bat | ||
| setup.ps1 | ||
| setup.sh | ||
| tail-logs.cmd | ||
| uv.lock | ||
| 로컬-설치가이드.md | ||
README.md
NVIDIA Studio Driver(SDR) : Windows 10/11 → 531.79 / 536.67 등 : 아래서 기종 선택하고 Studio Driver 선택하고 검색 버튼 https://www.nvidia.com/ko-kr/geforce/drivers/ 제일 낮은 버전이 아마 괜찮을 듯 함.
1. 호환 버전
CUDA 12.4 : https://developer.nvidia.com/cuda-12-4-0-download-archive
CcuDNN v9.5.0 : https://developer.nvidia.com/cudnn-9-5-0-download-archive
2. CuDNN 설치
cuDNN (예) C:\Program Files\NVIDIA\CUDNN\v9.5\bin 폴더 안에는 Cuda Major 버전에 대응되는 라이브러리들이 있습니다. 해당폴더 하위의 파일들을 CUDA Toolkit이 설치된 경로 내의 해당 폴더에 복사합니다.
예시: C:\Program Files\NVIDIA\CUDNN\v9.5\bin\12.6 아래의 모든 dll 파일을 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin으로 복사합니다.
3. SDXL 모델 다운로드
- 도커 컨테이너가 실행될 때 models 하위에 StableDiffusion XL 1.0 모델이 다운로드 됩니다.
- 만약에 해당 URL 지원이 종료 된 경우, 허깅페이지 또는 CIVITAI에서 다운로드 하세요.
- 현재 사용가능한 다운로드 주소는 아래와 같습니다.
- https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors
학습방법 1: 폴더명 규칙 사용 (자동)
./train.sh config.json 0
방법 2: 강제로 15번 반복
./train.sh config.json 0 15
방법 3: 강제로 20번 반복
./train.sh config.json 0 20
3가지 요소 비교 1️⃣ 폴더 식별자 (예: 15_alice) 목적: Kohya 학습 시스템이 이미지를 분류하고 관리하는 용도 training/ ├── 15_alice/ ← "alice"는 내부 식별용 │ ├── img1.jpg │ └── img1.txt └── 10_background/ ← "background"는 내부 식별용 ├── bg1.jpg └── bg1.txt 특징:
학습 시 로그에만 표시됨 LoRA 모델이나 trigger word와 무관 단순히 폴더 구분용
2️⃣ --output_name (예: karina) 목적: 저장되는 LoRA 파일명
3️⃣ LoRA 태그명
- 학습에 사용되는 캡션 tag + 문장에서 가장 많이 발견되는 Unique Word가 태그명이 됩니다.
- 일반적으로 캡션의 제일 앞에 배치하고 그 뒤에 콤마를 찍고 나머지를 서술합니다.
이 저장소에는 Stable Diffusion용 훈련, 생성 및 유틸리티 스크립트가 포함되어 있습니다.
변경 내역은 페이지 하단으로 이동했습니다.
최신 업데이트: 2025-03-21 (버전 0.9.1)
일본어판 README는 여기
개발 버전은 dev 브랜치에 있습니다. 최신 변경 사항은 dev 브랜치를 확인해 주세요.
FLUX.1 및 SD3/SD3.5 지원은 sd3 브랜치에서 이루어집니다. 해당 모델을 훈련하려면 sd3 브랜치를 사용해 주세요.
더 쉬운 사용법(GUI 및 PowerShell 스크립트 등)을 원하시면 bmaltais가 관리하는 저장소를 방문해 주세요. @bmaltais 님께 감사드립니다!
이 저장소에는 다음 스크립트가 포함되어 있습니다:
- DreamBooth 훈련 (U-Net 및 텍스트 인코더 포함)
- 미세 조정 (네이티브 훈련) (U-Net 및 텍스트 인코더 포함)
- LoRA 훈련
- 텍스트 역전 훈련
- 이미지 생성
- 모델 변환 (1.x 및 2.x, Stable Diffusion ckpt/safetensors 및 Diffusers 지원)
requirements.txt 파일 안내
이 파일에는 PyTorch 요구 사항이 포함되어 있지 않습니다. PyTorch 버전은 환경에 따라 달라지므로 별도로 관리됩니다. 먼저 환경에 맞는 PyTorch를 설치해 주세요. 설치 방법은 아래를 참고하세요.
스크립트는 PyTorch 2.1.2로 테스트되었습니다. PyTorch 2.2 이상도 작동합니다. 적절한 버전의 PyTorch와 xformers를 설치해 주세요.
사용법 문서 링크
대부분의 문서는 일본어로 작성되었습니다.
darkstorm2150님의 영어 번역본은 여기에서 확인하실 수 있습니다. darkstorm2150님께 감사드립니다!
- 훈련 가이드 - 공통 : 데이터 준비, 옵션 등...
- SDXL 훈련 (영어 버전)
- 데이터셋 구성
- DreamBooth 훈련 가이드
- 단계별 미세 조정 가이드:
- LoRA 훈련
- 텍스트 역전 훈련
- 이미지 생성
- note.com 모델 변환
Windows Required Dependencies
Windows 필수 종속성
Python 3.10.6 및 Git:
- Python 3.10.6: https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe
- git: https://git-scm.com/download/win
Python 3.10.x, 3.11.x, 3.12.x도 작동하지만 테스트되지 않았습니다.
venv가 작동하도록 PowerShell에 제한 없는 스크립트 실행 권한 부여:
- 관리자 권한 PowerShell 창 열기
Set-ExecutionPolicy Unrestricted입력 후 A 선택- 관리자 권한 PowerShell 창 닫기
Windows 설치
일반 PowerShell 터미널을 열고 다음 명령어를 입력하세요:
git clone https://github.com/kohya-ss/sd-scripts.git
cd sd-scripts
python -m venv venv
.\venv\Scripts\activate
pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118
pip install --upgrade -r requirements.txt
pip install xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu118
accelerate config
python -m venv 명령어 실행 시 python만 표시된다면, python을 py로 변경하십시오.
참고: 현재 bitsandbytes==0.44.0, prodigyopt==1.0 및 lion-pytorch==0.0.6이 requirements.txt에 포함되어 있습니다. 다른 버전을 사용하려면 수동으로 설치하십시오.
이 설치는 CUDA 11.8용입니다. 다른 버전의 CUDA를 사용하는 경우, 해당 버전의 PyTorch와 xformers를 설치하십시오. 예를 들어, CUDA 12를 사용하는 경우 pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu121 및 pip install xformers==0.0.23.post1 --index-url https://download.pytorch.org/whl/cu121를 실행하십시오.
PyTorch 2.2 이상을 사용하는 경우 torch==2.1.2, torchvision==0.16.2, xformers==0.0.23.post1을 적절한 버전으로 변경하십시오.
accelerate config에 대한 답변:
- This machine
- No distributed training
- NO
- NO
- NO
- all
- fp16
bf16을 사용하려면 마지막 질문에 bf16이라고 답변해 주세요.
참고: 일부 사용자가 훈련 중 ValueError: fp16 혼합 정밀도는 GPU가 필요합니다 오류가 발생한다고 보고했습니다. 이 경우, 여섯 번째 질문에 0을 입력하세요:
이 머신에서 훈련에 사용할 GPU(ID 기준)를 쉼표로 구분된 목록으로 입력하세요? [all]:
(ID 0의 단일 GPU가 사용됩니다.)
업그레이드
새 버전이 출시되면 다음 명령어로 저장소를 업그레이드할 수 있습니다:
cd sd-scripts
git pull
.\venv\Scripts\activate
pip install --use-pep517 --upgrade -r requirements.txt
명령어가 성공적으로 완료되면 새 버전을 사용할 준비가 된 것입니다.
PyTorch 업그레이드
PyTorch를 업그레이드하려면 Windows 설치 섹션의 pip install 명령어로 업그레이드할 수 있습니다. PyTorch를 업그레이드할 때 xformers도 함께 업그레이드해야 합니다.
크레딧
LoRA 구현은 cloneofsimo의 저장소를 기반으로 합니다. 훌륭한 작업에 감사드립니다!
Conv2d 3x3에 대한 LoRA 확장은 cloneofsimo에 의해 처음 공개되었으며, 그 효과는 KohakuBlueleaf에 의해 LoCon에서 입증되었습니다. KohakuBlueleaf님께 진심으로 감사드립니다!
라이선스
대부분의 스크립트는 ASL 2.0 라이선스 하에 배포됩니다(Diffusers, cloneofsimo 및 LoCon의 코드 포함). 다만 프로젝트의 일부 구성 요소는 별도의 라이선스 조건이 적용됩니다:
Memory Efficient Attention Pytorch: MIT
bitsandbytes: MIT
BLIP: BSD-3-Clause
Change History
Mar 21, 2025 / 2025-03-21 Version 0.9.1
- Fixed a bug where some of LoRA modules for CLIP Text Encoder were not trained. Thank you Nekotekina for PR #1964
- The LoRA modules for CLIP Text Encoder are now 264 modules, which is the same as before. Only 88 modules were trained in the previous version.
Jan 17, 2025 / 2025-01-17 Version 0.9.0
-
important The dependent libraries are updated. Please see Upgrade and update the libraries.
- bitsandbytes, transformers, accelerate and huggingface_hub are updated.
- If you encounter any issues, please report them.
-
The dev branch is merged into main. The documentation is delayed, and I apologize for that. I will gradually improve it.
-
The state just before the merge is released as Version 0.8.8, so please use it if you encounter any issues.
-
The following changes are included.
변경 사항
추가 정보
LoRA 명명 규칙
train_network.py에서 지원하는 LoRA의 명칭을 혼동을 피하기 위해 변경하였습니다. 관련 문서도 업데이트되었습니다. 본 저장소에서 사용하는 LoRA 유형의 명칭은 다음과 같습니다.
-
LoRA-LierLa : (LoRA for Li n e a r La yers)
LoRA for Linear layers and Conv2d layers with 1x1 kernel
-
LoRA-C3Lier : (LoRA for C olutional layers with 3 x3 Kernel and Li n e a r layers)
In addition to 1., LoRA for Conv2d layers with 3x3 kernel
LoRA-LierLa는 train_network.py의 기본 LoRA 유형입니다(네트워크 인자 conv_dim 제외).
훈련 중 샘플 이미지 생성
예를 들어 프롬프트 파일은 다음과 같을 수 있습니다
# prompt 1
masterpiece, best quality, (1girl), in white shirts, upper body, looking at viewer, simple background --n low quality, worst quality, bad anatomy,bad composition, poor, low effort --w 768 --h 768 --d 1 --l 7.5 --s 28
# prompt 2
masterpiece, best quality, 1boy, in business suit, standing at street, looking back --n (low quality, worst quality), bad anatomy,bad composition, poor, low effort --w 576 --h 832 --d 2 --l 5.5 --s 40
#로 시작하는 줄은 주석입니다. 프롬프트 뒤에 --n과 같은 옵션을 사용하여 생성된 이미지의 옵션을 지정할 수 있습니다. 다음을 사용할 수 있습니다.
--n다음 옵션까지 프롬프트를 음수로 지정합니다.--w생성된 이미지의 너비를 지정합니다.--h생성된 이미지의 높이를 지정합니다.--d생성된 이미지의 시드(seed)를 지정합니다.--l생성된 이미지의 CFG 스케일을 지정합니다.--s생성 과정의 단계 수를 지정합니다.
( ) 및 [ ]와 같은 프롬프트 가중치 기능이 작동합니다.