구글 코랩 webui 설치 & 사용법 제한 해결 (모바일 가능)
- 사이트 정보
- 2023. 5. 26.
이전글에서는 컴퓨터로 구동하는 webui를 포스팅했었는데 컴퓨터의 사양이 좋지 않으면 에러가 뜨거나 만족스럽지 않은 작업물이 나옵니다. 그래서 이번에는 클라우드 기반 구글 코랩(colab)을 활용해 webui를 사용할 수 있는 방법을 설명했습니다. 컴퓨터 사양이 낮은 분들에게 굉장히 유용한 방법이니 지금 바로 따라해 보세요.
구글 코랩 설치하기
우선 코랩 설치는 과정이 복잡하기 때문에 컴퓨터에서 진행하세요. 그리고 모바일에서 구동하고 싶다면 스마트폰 > 크롬 앱 실행 > 데스크톱 모드 페이지 열기 > 아래 방법으로 똑같이 실행하면 됩니다.
📌 최근 구글 정책으로 이 방법은 막혔습니다. (유료 사용자는 상관X)
두번째 글을 참고해주세요.
1. 코랩 사이트 접속 (이동)
2. Drive로 복사 클릭
구글 로그인이 되어있는 상태에서 누르면 되는데, 이때 주의사항으로 구글 드라이브 용량이 많이 차있는 상태면 모두 비우세요. 또는 새로운 구글 계정을 만드는 것도 좋습니다.
3. +코드 생성하기
'작업 디렉터리 경로' 바로 위ㅇ 굵은 선에 마우스를 올리면 + 코드 메뉴가 나오고 그걸 누릅니다.
추가로 생긴 빈공간에 아래 코드 복사 붙여넣기 하고 ▶ 실행하기 (1분에서 2분정도 소요)
%pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchtext==0.14.1 torchaudio==0.13.1 torchdata==0.5.1 --extra-index-url https://download.pytorch.org/whl/cu117
4. 작업 디렉토리 경로 실행
3번과정의 설치가 끝났다면 그 아래있는 '작업 디렉터리' 경로 옆에 ▶ 실행도 눌러줍니다.
실행한뒤 30초 정도 대기하면 이런 팝업이 뜨는데 '구글 드라이브 연결'하고 구글 계정 로그인 및 허용을 합니다.
5. 마우스로 쭉 내리기
이렇게 마우스로 내리면 초록글씨가 뜨면서 설치가 시작됩니다. 소요 시간은 5분에서 10분 정도 걸리니 차분히 기다립니다.
6. 터널 접속
설치가 완료가 되면 '성공적으로 터널이 열렸습니다'라는 멘트와 함께 나오는 터널 주소로 접속하면 webui가 나오게 됩니다.
접속에 성공했다고 기존의 코랩창을 닫으시면 오류 나거나 종료되니 끄지 마세요.
📌무료 사용자 제한조치 (해결방법)
최근 코랩에서 무료사용자에 대한 제제가 생겼죠. 현재는 경고팝업만 나오고 있지만 추후 제한이나 제제조치를 시행한다고 하니 다른 방법을 사용해서 webui를 실행시켜야 합니다. 바로 프록시 없이 코랩에서 직접 실행하는 방법인데 영상에 설명이 잘 되어있어서 준비했습니다. 바쁘신 분들은 50초부터 보시면 됩니다.
영상의 내용을 간단히 요약 정리했습니다.
1) 코랩 링크로 접속하기
https://github.com/ninjaneural/webui
2) 구글연동 + 멀티컨트롤넷 기본설정 (터널링없이 직접실행 버전) 펼치기
3) 사용할 모델 Open In Colab로 열기
4) 생성한 이미지를 구글드라이브에 자동저장 체크하기 및 실행 (10분정도 소요)
5) 하단으로 쭉 내리고 설치완료되면 런타임 재시작 후 실행 ▶
완료되면 내부에서 webui가 켜집니다.
코랩 webui 메뉴설명
우선 이 정도만 알아도 문제없음
- Stable Diffusion checkpoint: 그림체의 뼈대가 되는 모델을 선택하는 메뉴
- 프롬프트: 원하는 그림값을 입력하는 곳
- 부정프롬프트: 원하지 않는 그림값을 입력하는 곳
- 샘플링: 랜더링 방식을 뜻하는 것으로 조금씩 퀄리티 차이가 발생됨
- 스텝: 몇 번의 작업과정을 반복할지 정하는 것
- 벤치 카운터 & 벤치 사이즈: 한 AI당 몇개의 작업을 동시에 작업할 건지 적는 곳
- 가로&세로: 512 X 768을 권장 (임의 값으로 하다가 멈출 수 있음)
- CFG 스케일: 내가 적은 프롬프트를 얼마나 활용할 것인지 설정하는 것 (7에서 12 사이를 추천)
모델 추가하기
1. 모델 다운로드
아래 링크를 통해 모델 다운로드하면 되는데, 참고할 점은 구글 용량이 부족하기 때문에 원하는 모델 하나만 선택해서 진행하세요. 받아야 되는 모델의 확장자는 .safetensors 또는 .skpt 입니다. (용량에 따른 퀄리티 차이가 약간 발생하는 정도)
[모델 서치하기]
[추천 모델 1] 오렌지 칠믹스
[추천 모델 2] 오렌지믹스2
[추천 모델 3] 칠아웃 믹스
[추천 모델 4] 바질 믹스
모델 설치 경로: 구글드라이브 이동 > SD > models > Stable-diffusion에 넣으면 됩니다.
2. 오렌지 칠믹스로 테스트
프롬프트 정보는 모델 다운로드할 때 사이트에 이미지를 누르면 프롬프트와 부정프롬프트를 알 수 있습니다. 그 값대로 똑같이 입력해 주세요.
3. 그림이 뿌옇게 나온다면?
상단 메뉴 settings > Stable Diffusion > SD VAE > kl-8f-anime2.ckpt > Apply settings으로 저장하면 됩니다.
4. 좀 더 선명하고 뚜렷한 그림을 원한다면
Hires.fix를 ✔하고 업스케일 값을 1.5로 설정합니다. (그 이상은 코랩이 감당하기 힘들어함)
5. 이미지 특정 부분이 마음에 안 들 때
사진 하단에 send to inpaint로 들어갑니다. 그리고 사진에 마음에 들지 않은 부분을 색칠하면 되는데, 혹시 사진이 불러오지 않는다면 직접 이미지를 다운로드하여서 불러오기를 하셔야 합니다.
그리고 이런 식으로 마음에 들지 않은 의상 부분을 꼼꼼하게 마킹합니다.
프롬프트에는 bare shoulders라는 태그를 추가해서 어깨를 보여줄 겁니다. (의상과 관련없는 다른 프롬프트는 전부 삭제하는게 좋음) 이런 프롬프트 태그 정보는 노벨 AI 태그 생성기 사이트에서 볼 수 있습니다.
그리고 아래로 쭉 내려서 Denoising strength 값을 0.9로 올려준 뒤 Generate로 실행합니다.
어깨가 드러나는 옷으로 체인지가 되었습니다!
그 외에도 머리, 눈코입, 배경화면 등도 자유롭게 변경 가능합니다.
포즈 자세 변경하기
1. 상단 메뉴의 Extensions > Install form URL > 아래 주소 붙여 넣기 > Install (잠깐 대기)
https://github.com/Mikubill/sd-webui-controlnet
하단에 Restart 재시작 문구가 나왔는지 확인하시면 됩니다. (저는 두번 눌렀더니 이미 설치되어 있다는 에러 메시지예요)
2. 그리고 포즈 모델 사이트로 이동해서 컨트롤넷에서 사용할 포즈 모델을 밑에서 3번째 (control_sd15_openpose.pth) 다운로드 합니다.
3. 다운로드한 포즈 모델 저장경로는 SD > extensions > sd-webui-controlnet/models에 넣기
(경로에 폴더가 없는 분들은 tmp폴더에 들어있는 경우가 있으니 확인해 보세요.)
4. 다시 코랩에서 ■ 중지 후 ▶시작으로 webui 접속합니다.
5. 코랩 재시작까지 시간이 걸리기 때문에 미리 포즈 데모 사이트에서 원하는 포즈 잡고 저장합니다.
6. 그 후 webui로 다시 접속 후 하단에 새롭게 추가된 컨트롤넷 (ControlNet) 메뉴 눌러서 아까 만든 포즈 이미지 불러오기, Enabel 체크, Preprocessor은 none 체크, model은 아까 저장한 control_sd15_openpose로 설정 그리고 다시 아까 프롬프트로 이미지 생성하기!
7. 결과
확실히 모델값(seed)을 -1로 놓고 돌리면 랜덤 하게 생성되는데, 여러 번 돌리고 거기서 괜찮은 그림 선택해서 수정하는 게 좋은 것 같습니다.
8. 나는 왜 이상하게 나옴?
프롬프트에 동작 태그(AI 태그)를 추가하거나 CFG 스케일 값을 올려보세요. 그리고 가로 세로 사이즈를 512X768로 변경하시면 해결됩니다.
9. 코랩 리스소 할당 문제
혹시 실행하다 렉 걸린 것처럼 멈췄다면 코랩에서 RAM 부분을 확인하세요. 실행 중지 되어있을 텐데 무료버전은 갑작스러운 리스소가 발생되면 종료되는 현상이 있습니다. 그때마다 껐다가 다시 실행하면 돼요. 유료 버전은 코랩에서 1개월(10달러) 구독 가능합니다. 구글 드라이브 용량은 구글에서 1개월 (2달러) 결제하면 됩니다.
그 외 방법으로 구글에서 여러 계정을 만들어서 계정별로 모델을 각각 설치해서 테스트하는 것도 좋은 방법인 거 같습니다.
👇이글도 추천합니다.