관리 메뉴

가끔 보자, 하늘.

Stable diffusion을 업무에 활용하기 #2 VAE 설정, LoRA 학습 본문

개발 이야기/개발툴 및 기타 이야기

Stable diffusion을 업무에 활용하기 #2 VAE 설정, LoRA 학습

가온아 2023. 4. 12. 17:00

VAE(Variational Auto-Encoder)

VAE는 결과물을 보정하는데 사용합니다. 상세한 원리는 이 링크에서!

WEB UI에서 VAE를 설정하는 곳은 Settings 탭에 있습니다.

(1) 에서 다운받은 VAE 파일을 설정할 수 있습니다.

(2)의 옵션은 활성화 해두세요.  최근 나오는 모델들은 VAE를 포함하고 있을 수 있습니다.  

애니메이션에서는 주로 두 가지가 사용됩니다.

orangemix : https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/VAEs/orangemix.vae.pt

kl-f8-anime2 : https://huggingface.co/hakurei/waifu-diffusion-v1-4/blob/main/vae/kl-f8-anime2.ckpt

다운받은 파일은 /models/vae 폴더에 넣으면 됩니다.

LoRA(Low-Rank Adaptation)

LoRA(Low-Rank Adaptation)는 기존 가중치를 그대로 두고 추가 학습된 레이어를 연동하는 방식입니다. 파인튜닝과 목적은 같지만 방식은 다르죠. 언어 모델에서 출발했고 동일한 개념으로 사용됩니다. (논문 링크

이에 대한 상세한 방법을 정리한 영상이 있어 우선 이 영상을 보고 아래 내용을 살펴보세요. 너무 깔끔하게 잘 정리해 두신 분이 있어 따로 정리할 필요가 없었습니다.

대신 이를 WEB UI에 적용하는 부분이 영상에 없어 생성한 결과물을 어떻게 적용하는지 부연 설명만 하겠습니다.

우선 생성된 lora 파일들을 /model/lora 폴더에 복사해서 넣습니다. 넣은 후에 WEB UI 콘솔에 tensors 관련 에러가 발생하는 경우가 있습니다. VAE 이슈라는 이야기가 있지만, 재시작하면 에러 없이 실행되어 정확한 이유는 알 수 없었습니다. 

학습한 LoRA 파일을 복사했다면 다시 WEB UI로 갑니다. 학습된 LoRA를 사용해도 100% 학습된 이미지와 동일하게 나오는건 아니 참고하세요.

checkpoint는 원하는 파일을 선택하면 됩니다. Generate 버튼 아래 화투패 같은 이미지(extra network)가 있는데 이를 클릭하면 Prompt 하단에 extra network 탭이 나오면 이중 Lora를 선택하면 학습된 lora 파일 리스트를 볼 수 있습니다.

영상에 설명되어 있듯이 출력된 여러 lora 파일 중 가장 원하는 결과가 나오는 파일만 남겨도 되고, 그냥 두고 써도 됩니다. 

학습된 파일을 클릭하면 prompt에 자동으로 해당 lora를 적용할 수 있는 프롬프트가 자동으로 들어갑니다.

영상처럼 여러 이미지를 한번에 출력해서 비교하려면 화면 하단의 script에서 X/Y/Z plot을 선택, X type을 Prompt S/R 을 선택 후 X values 에 한번에 출력하려는 lora 모델을 모두 추가하여 생성을 시도하면 됩니다.

(* 위 영상의 이미지처럼 보면서 비교할 수 있습니다.)

결과가 맘에 들게 나오시던가요? 전 학습 시간이 너무 짧아 스타일은 비슷하게 나오지만 딱 원하는 형태까지는 안나오더군요. 

그래서 colab  내용을 local에서 학습할 수 있도록 변경하여 한 일주일정도 돌려봐야되나 고민 중이네요. 

다들 좋은 결과 있으시길 ... ^^

 

 

 

 

 

반응형