https://www.youtube.com/watch?v=3uzCNrQao3o&ab_channel=SECourses

코드는 아래 깃허브 참조

https://github.com/FurkanGozukara/Stable-Diffusion/blob/main/Tutorials/How-To-Install-Kohya-LoRA-Web-UI-On-RunPod.md



로컬은 사양딸리고 코랩은 끊길까봐 무서워서 못하는 분들을 위한 런팟으로 로라 학습하는 방법 알려드림


먼저 https://www.runpod.io/ 에 들어가서 회원가입을 하고 돈을 충전해야함



그리고 왼쪽 메뉴에 My Templates 클릭하고 runpod/stable-diffusion:web-automatic-8.0.2면 하늘색 동그라미 친 곳을 클릭함


 그리고 위 사진처럼 컨테이너 이미지에 runpod/stable-diffusion:web-automatic-6.0.1로 바꾸는걸 추천함 그리고 

Expose HTTP Ports에 3000 추가한 다음 세이브 템플레이트 클릭하셈 왜 컨테이너 이미지를 runpod/stable-diffusion:web-automatic-6.0.1로 바꿔야 하냐면  runpod/stable-diffusion:web-automatic-8.0.2에서는 kohya_ss를 실행시키기 위해 필요한 코드인 ./setup.sh -n 이 

실행 못함


그리고 왼쪽 메뉴의 Seruce Cloud나 Community Cloud에 들어가서 원하는 글카가 잡히면 그걸 Deloy 클릭하셈






만약 원하는 글카를 못 찾겠으면 https://www.runpod.io/console/gpu-browse 에 들어간 다음 Price-Asc 클릭하고 download-DESC나 upload-DESC 누른 다음 원하는 글카 찾아보셈



그래픽 카드 찾으면 왼쪽에 있는 디스크 용량 늘리는 걸 추천함 난 50GB로 함 그리고 템플레이트 설정할 때  

RunPod Stable Diffusion v1.5+v2이 아닌 위처럼 내가 만든 템플레이트로 설정해야함

그리고 Deploy 누르셈



그러면 위 사진처럼 실행이 될건데 My Pods 클릭


My Pods 클릭하면 위 사진처럼 뭔가 진행이 되는데 당황하지 말고

그냥 기다리는걸 추천함


설치가 완료되면 Connect 클릭한 다음 위 창이 뜨면 주피터 랩에 들어가셈

그런 다음 왼쪽 메뉴에서 스테이블 디퓨전 WebUI 더블 클릭하고 모델에 들어간 다음 스테이블 디퓨전이 보이면 스테이블 디퓨전에 더블클릭한

다음 하단에 있는 터미널을 클릭함


그런 다음 터미널에 wget 치고 자신이 원하는 모델 다운 링크를 붙여넣은 다음 엔터치셈

난 anything-v4.5로 함



모델 설치가 완료되면 model 클릭해서 스테이블 디퓨전에 나가고 VAE 보이면 VAE 더블 클릭한 다음

위처럼 터미널에 wget 친 다음 자신이 원하는 VAE 붙여넣기 하고 엔터치셈



이건 안하고 싶으면 안해도 되는데 나 처럼 꼼꼼한 사람들을 위해 설명하는 거임 귀찮으면 안해도 상관없음

먼저 Connect to HTTP Sercvice [Post 3000]을 클릭 한 다음 확장(Extensions) 에 들어가서 Booru tag autocompletion와

W.D Tagger 1.4를 설치하셈

그리고 스크롤를 맨 아래로 내린 다음 Reload UI를 클릭하면 됨

클리하면 뭔가 이상하게 되는데 당황하지 말고 WebUI를 끈 다음



정지 버튼을 누르고 위 처럼 창이 뜨면 Stop Pod를 클릭하셈




정지 버튼을 눌렀으면 다시 시작 버튼을 누른 다음 위 처럼 창이 뜨면 Start를 클릭하셈


 그러면 다시 설치를 시작할거임


그리고 WebUI 들어가서 설치했던 모델과 VAE로 바꾼 다음 자신이 원하는 그림을 뽑아보셈

사실 WebUI 실행 이건 안해도 되는데 나 처럼 뭔가 잘못할까봐 걱정되는 사람들을 위해 써본 거임

거기다가 샘플 프롬프트 미리 준비할려고 하는 것도 있어서 적어 봄



주피터랩으로 가고 터미널을 클릭한 다음 터미널에다가 git clone https://github.com/bmaltais/kohya_ss.git 를 입력하고

설치되는것을 기다린 다음



kohya_ss가 설치가 완료되고 메뉴에 kohya_ss가 뜨면 터미널에 cd kohya_ss를 입력하고

위 사진처럼 workspace#에서 workspace/kohya_ss#로 바뀌면 python3 -m venv venvsource venv/bin/activate

입력한 다음 위처럼 코드 root@94d456de21d6:/workspace/kohya_ss# 왼쪽에 (venv)가 뜨면 된거임

이걸 하는 이유가 가상화랑 관련이 있다고 하는데 자세한 건 모르겠음



그리고 ./setup.sh -n 입력하고 엔터치셈 그러면 뭔가를 설치하고 있는게 보일거임


좀 기다리고 있으면 위 사진처럼 tkinter가 뜨고 설치가 완료됐다고 할 거임


그러면 apt update 를 복사하고 엔터키치셈



그리고 apt-get install python3.10-tk 입력하고 엔터치면 python3.10-tk가 설치될거임



그런 다음 터미널에 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 코드를 복사하셈

그러면 pytorch 2.0.0+cu118를 설치할는 것을 볼 수 있음



근데 이런 에러코드가 뜰 수 있음 에러코드가 뜨는 이유는 pytorch와 xformers 가 서로 호환되지 않는 버전이라는 것 때문임



그러므로 우리는 터미널에 pip uninstall xformers를 입력하고 엔터키를 쳐서 xformers를 삭제한 다음



pip install -U xformers를 복사하고 엔터쳐서 xformers 새 버전을 설치함



그런다음 kohya ss에 들어간 뒤 새탭을 누르거나 새탭을 누른 뒤 cd kohya_ss를 입력하고 엔터쳐서

 root@94d456de21d6:/workspace/kohya_ss#로 만듬 그리고 bash gui .sh --share를 입력하고

엔터치면 위 사진처럼 뭔가가 설치된 뒤 https://a341cb38f5e7647554.gradio.live 가 뜰 거임

그러면 https://a341cb38f5e7647554.gradio.live 를 클릭하면 됨

그러면 kohya_ss에 입장하는거임



그런 다음 드림부스 로라 탭 클릭하고 모델 선정할 때 다운 받은 모델이 있는 models/stable-diffusion에 들어가서

다운 받은 모델을 클릭한 뒤 오른쪽 마우스 누른 다음 Copy Shareable Link를 클릭하셈

그리고 두번째 사진처럼 복사하고 앞에 있는 건 지우고 /workspace/stable-diffusion-webui/models/Stable-diffusion/어쩌구저쩌구

로 만드셈 여기서 중요한건 workspace/가 아니라 /workspace/임


그런 다음 workspace로 돌아간 다음 training 폴더 만들고 자신이 모은 자료를 여기다가 부으셈


그러고 나서 Instance prompt에 작가이름이나 캐릭터 이름 입력하고

Class prompt에는 캐릭터면 boy이나 girl 그림체면 style 입력하면 됨

그리고 Training images에는 위 처럼 training 폴더에 왼쪽 마우스 클릭하고 Copy Shareable Link 누른 다음

Training images 복사하고 /workspace/ 앞에있는걸 지우면 됨




그런 다음 WebUI에 있는 WD 1.4 Tagger나 kohya_ss에 있는 WD14 Captioning에 들어간 다음

image folder to caption에 /workspace/training를 추가한 다음 Caption images를 누르면 그림과 관련된 태그가 txt로 추가될거임



txt가 추가되면 아래처럼 Destination training directory에 /workspace/test라고 입력하셈 그리고 복사한 다음 폴더 버튼 누르고 

그 다음에 복사한 /workspace/test를 붙여넣기 한 다음 Prepare triaing date를 누르셈

그러면 workspace에 test가 생길거임 그리고 test 폴더에 들어가면 img model log 폴더가 생긴걸 볼 수 있음



그러고 나서 kohya_ss 폴더 탭을 클릭하고 Model output name에는 작가이름이나 캐릭터 이름을 입력하고

Image folder에는 /workspace/test/img Output folder에는 /workspace/test/model 그리고

Logging folder에는 /workspace/test/log를 넣으셈




그런 다음 자료갯수에 맞게 리피트 에포크 배치사이즈를 설정함

스텝 수가 자료갯수 X 리피트 X 에포크 /  배치사이즈 = 스텝 수 임



그런 다음 랭크(dim)과 알파를 적절히 설정하면 됨

랭크(dim)는 정밀도를 늘리는 거고 알파는 학습률이라고 하는데 자세한건 모르겠음

그리고 Max Resolution는 768,768로 정하셈



그런 다음 Sample every n steps는 100~500으로 정하고 Sample prompt에는 자신이 원하는 프롬프트들을 입력하면 됨

Sample prompt를 입력할 때 그냥은 positive(포지티브) prompt고 --negative(네거티브) prompt 그리고 --w width(넓이)고

--h height(높이)임 그리고 --l CGF를 설정하는 거고 --s는 샘플링 스텝입 --d는 시드인데 난 시드 설정하는 스타일이 아니여서

안 설정함 그리고 Train model을 클릭하면 학습이 시작됨 참고로 학습 시작하면 프롬프트 변경 못하니깐 신중하게 하셈



학습 시작한 뒤 터미널로 가면 이렇게 뜰 거임


그리고 일정 스텝 학습하면 샘플 이미지가 뜨는데 샘플이미지를 보고 싶으면 test 폴더에 들어간 다음 model 들어가고

그런 다음 sample에 들어가면 샘플이미지가 있을거임 샘플이미지를 통해 학습이 어느정도 진행되고 잘 학습됐나 알 수 있음

거기다가 일정 스텝마다 safetensors 파일도 생겨서 어떻게 진행됬나 확인하고 싶으면 model 파일에 들어간 다음

safetensors 파일들을 클릭한다음 마우스 오른쪽 클릭한 다음 Copy 누르고 workspace로 돌아간 다음

models 들어가고 lora 들어간 다음 복사한 safetensors들 붙여넣기 하고 WebUI로 돌아가서 화투 패 누른다음

로라 탭 클릭하고 refresh 누르면 어느정도 학습되고 잘 학습됬나 확인할 수 있음. 그리고 학습이 완료되면

00000 같은거 없이 순수하게 Model output name에서 입력한 대로 나올거임

그것도 아까처럼 복사한 다음 lora에 붙여넣기하고 WebUI에 들어간 다음 화투패 누르고

Lora 탭 클릭한 다음 refresh 누르고 자신이 학습한 로라 클릭한 다음 그림 뽑아보셈

참고로 글카 지우기전에 test폴더에 들어간 다음 model 폴더 들어가고 학습한 safetensors 파일들

다운 받는거 잊지말고 안그러면 처음부터 다시 해야함



참고로 이 그림은 오늘 내가 그림체 로라 학습하고 뽑아본 그림임