안녕하세요 오늘은 스테이블 디퓨전에서 많이 사용하는
LoRA를 만들어 보려고 합니다
kohya라고 많이 사용하길래 이걸로 도저언~!
순서
설치를 원하는 위치에서 명령어창 켜서 ㄱㄱ
> git clone https://github.com/bmaltais/kohya_ss.git
> cd kohya_ss
> git pull
직접 디렉토리가서 setup.bat 실행(또는 .\setyo.bat)하면 아래와 같이 나옴
1번 눌렀음
그러면 막 오지게 설치를함(아래가 끝은 아님)
끝나면 이렇게 다시 메뉴로 돌아옴
설치가 끝나서 메뉴로 돌아오면 4 입력
사실 이게 accelerate config 하는거랑 같은거 같음
하면 이제 선택사항이 막 뜨는데 나의 경우는 아래와 같이 작성했음
This machine 또는 0
No dustribution training 또는 0
No
No
No
all
fp16
참고를 위한 스샷
이게끝나면 다시 메뉴로 돌아오는데 그럼 5번을 입력하면
이렇게 페이지가나온다
간략한 탭설명
Dreambooth: 드림부스 학습
Dreambooth LoRA: LoRA 학습에 사용
Fintune: 파인튜닝에 사용(정규화 이미지 사용하지 않음)
Utilities: 모델 변환, 자동캡션
LoRA 학습
일단 LoRA 학습이 목표이기 때문에 해당 탭으로 이동
아래 경로로 이동합니다
LoRA → Tools → Data Preparation → Dreambooth/LoRA Folder preparation 으로 이동
1. Insurance Prompt
아래 깃헙 토큰 번호가 있긴한데 일단 이해가 절 안되서 0으로 저는 하였습니다.
https://github.com/2kpr/dreambooth-tokens/blob/main/all_single_tokens_to_4_characters.txt
2.Class prompt
원하는 클래스명 입력
3.Training Images :이미지 경로 입력
4.Repeat : 학습 반복횟수
5. Destination training directory : 모델 생성후 경로?
이렇게하고 prepare training data 버튼 클릭을 하면
저는 lora 폴더를 만들어 두었기 때문에 해당 폴더에 training 안에 여러 폴더가 생김
다음 단계
LoRA → training → parameters 에가서 아래 체크 박스 한부분에 빈부분 기입을 진행하였음
배치나 에폭같은 경우 일반적으로 하는것에 가깝게 진행하였음
나의경우:
batch size: 4
epochs: 10
일단 이미지 사이즈가 같으면 Cache latents 박스 체크하면됨
좀더 내려가면 Network Alpha라고 나오는데 이건 Network Rank랑 같게하면 된다고함
Network Alpha: 8
Network Rank: 8
다음으로 Advanced 탭으로 이동
좀 내려가면 아래 선택 가능한 것들이 보이는데 체크한 부분을 보고 체크하면됨
Shuffle caption
Persistent data loader
Max num workers for DataLoader: 1 ->2 로바 (보통2로 하는데 터질까봐...)
별개로 사진 규격이 다르면 아까 체크안한부분을 넘어와서
Random crop instead of center crop 이부분에 체크를 해줘야함
이제 source model로 와서 베이스가 될 모델 고르면됨
(로컬 환경에서 XL이 안돌아가기 때문에 1.5로 하였음)
다음 Folders로 와서 경로 설정을 한번 더 해주면된다
아까 위에서 새로 생긴 폴더들과 맞추어서 연결해주면됨
Model ouptname은 자신이 적고 싶은대로...
완료되었으면 start_training 하면된다
트레이닝시작하면 초반에 대충 이런화면나옴
오지게 다운 받는 것을 확인 할 수있음
일단 한번 터짐
Max num workers for DataLoader 2-> 1로 줄여서 재실행 해봤음
또 터짐
training batch size도 4-> 2로 줄여서 재실행 해봤음
-----------------------------------------------------------------------------------------------
계속 오류가 나길래 읽어보니 bitandbytes-windows 가 없다고해서
관리자 권한으로 cmd 열어서
D:\kohya_ss\venv\Scripts 로 이동
> activate
> python.exe -m pip install — upgrade pip
> pip install bitsandbytes-windows
설치 진행후 다시 원래 옵션으로 돌아가서 실행하였음
아래와 같이 되긴하는데 GPU100프로라... 좀 무서웠음
결국 너무 오래 걸려서 일단 배치수를 반으로 줄여봤음 별차이 없어서
batch:2
repeat: 20 으로 줄였음
길어서 더줄임
batch:2
repeat: 20
epoch: 5 으로 줄였음
어디까지 줄여야 하는 것인가....
아무튼 오지게 줄였더니 13시간 넘게 나오던게 2시간 근처로 찍히게 나오긴 해서 이상태로 돌려봄...(배치까지 1로 했으면 거의 완벽했을지도....
epoch은 이런식으로 나옴
----------------------------------------------------------------------------------
오류들
triton: 윈도우에서 안됨 그런데 모델은 만들어짐 아무튼... 그렇다
Assertion Error: 이미지 규격 같은경우와 다른경우 생각해서 하나만 선택하면 생기지 않음
epoch이 5였으니 5개의 safetensor가 나왔음
생성한 LoRA 테스트 해보기
사진 13장 batch:2 epoch: 5 repeat: 20 맞나...? 뭔가 계산이 안맞는거 같긴한데... 아무튼 좀 더 일반적인 옵션을 들고 해봐야겠음
WebUI, ComfyUI 둘다 테스트 해보겠음 일단 추천해준 만큼 학습을 안해서 솔직히 기대는 별로 안했지만...
이거저거 해봤는데 닮지 않은듯...
마지막엔 KIN이 나와서 저거 보고 다시해야겠다는 생각을 했습니다.
다시 하면 여기다 추가글 작성 하거나 다음 글로 이어서 작성 해보도록하겠습니다...
다음에 이어서 작성 해보도록 해보겠습니다

'Stable Diffusion > LoRA' 카테고리의 다른 글
[LoRA] Stable Diffusion LoRA 만들기~! - 3(코랩 사용) (1) | 2023.12.23 |
---|---|
[LoRA] Stable Diffusion LoRA 만들기~! - 2 (0) | 2023.12.21 |