Stable Diffusion 코랩에서 WebUI설치&실행하기
페이지 정보
작성자 zavi 작성일 23-06-06 12:54 조회 6,980 댓글 0본문
우선 코랩에서 Web Ui를 설치 및 실행하는 방법을 알려주겠음. 사진까지 첨부해서 설명할거라 스크롤 압박이 있을 수 있음. 코랩으로 Web UI를 설치하고 실행하기 위해서는 코랩 노트 주소에 들어가야함. 여기서는 AUTOMATIC1111(자동좌님)의 코랩 노트인 fast stable diffusion이랑 애옹이도둑님의 코랩 노트인 easy stable diffusion을 소개하겠음.
1. 구글 계정 만들기
당연하게도 구글에서 제공하는 서비스이기 때문에 구글 계정이 필요함. 구글 계정은 기본으로 드라이브에 15gb를 무료로 부여함. 이정도 용량이면 webui설치하고 체크포인트 무거운거 2개 정도에 로라 5개 정도까지는 돌릴 수 있음.
암튼 코랩서비스와 구글 드라이브를 이용해야 하므로 구글 계정 하나 만들어야함. 되도록이면 기존에 쓰던것 말고 새로 하나 만드는게 좋음.
2-1. 원클릭 Web Ui설치(easy-stable-diffusion.ipynb)
애옹이도둑님(totoriato@gmail.com)의 easy stable diffusion 노트를 먼저 소개하겠음. 한번의 실행버튼 클릭으로 web ui를 설치하고 실행되도록 구성하셨음. 사실 한번의 클릭은 아니고 설정 세팅하느라 여러 번 클릭 해줘야하는 것은 함정. (자동좌의 코랩노트로 설치하는 것은 '2-2'에서 다루겠음).
구글 로그인한 상태로 아래 주소 누르면 설치 및 실행화면 나옴
https://colab.research.google.com/drive/1nBaePtwcW_ds7OQdFebcxB91n_aORQY5
이제 사진이랑 함께 설명 들어가도록 하겠음. 브라우저에 아래 사진처럼 코랩 노트 화면이 나왔을 것임.
다른 부분들은 기존에 설정되어 있는 그대로 놔두고 아래 사진처럼 Xformers체크를 해제하겠음. xforemrs는 연산속도를 빠르게 해서 출력 속도를 올려주는데 출력물 열화 현상 뿐만 아니라 작동이 먹통 되어버리는 오류가 발생할 가능성이 큼. 그냥 끄고 쓰는 것이 맘 편함.
다음은 터널 경로 수정임. 기본은 gradio로 되어 있을 거임. 근데 이게 너무 많은 사람들이 쓰다보니 금방 연결이 끊어지는 현상이 자주 발생함. 막 5분만에 끊어지고 그럼. 그래서 다른 터널을 이용할거임. ngrok터널을 이용할거임. 아래 빨간 박스쳐놓은 곳이 ngrok가 되도록 클릭해서 바꿔주시면 됨.
ngrok를 사용하려면 api token값을 입력해서 사용해야 함. 그래서 우리는 토큰값도 가져다가 써보겠음. 아래 주소를 들어가서 google로 로그인 해주시면 됨.
그러면 이제 아래 사진처럼 들어가서 토큰값을 복사하시면 됨.
이제 복사한 토큰 값을 원클릭 실행 화면으로 돌아와서 붙여넣기 하겠음. 아래 사진처럼 붙여넣기 해주면 됨.
중요하게 설정해야 하는 것은 끝났음. 이제 아래 사진처럼 실행 버튼을 눌러주면 됨.
그러면 경고 창들이 뜰 건데 "무시하고 계속하기"를 눌러주면 됨. 그리고 google드라이브 연동 경고가 나오면 내 구글 계정 클릭해서 연동허용 해주면 됨. 이제 조금 시간이 지나면 아래 사진처럼 나올 거임. 클릭해주면 경고 화면이 하나 나오는데 visit를 눌러주면 web ui로 들어갈 수 있음. (참고로 아래 사진의 검정화면이 찐 stable diffusion이기 때문에 이걸 꺼버리면 web ui접속이 불가능함. 그러므로 계속 켜둬야 함. 오류가 발생하면 이곳에 표시되므로 뭔가 먹통되면 확인해보면 됨)
사실 여기까지만 해서 바로 쓰면 좋겠지만 안타깝게도 세부 설정을 하나 더 해야함. 바로 저장경로 설정임. 원클릭 노트로 설치를 할 경우 출력물이 저장되는 곳이 기본 생성되지 않음. 그래서 수동으로 잡아줘야 함.
구글 드라이브로 가서 SD폴더에 들어가주셈. 그리고 SD폴더 안에다가 outputs라는 이름의 폴더를 하나 생성해주셈. 이때 outputs라는 이름말고 다른 이름을 써도 되지만 그냥 이걸로 하겠음.
그런 다음 web ui로 돌아와서 아래 사진과 같이 경로를 수정해주면 됨. 수정 후 마지막에 "Apply settings"를 눌러줘야만 변경사항이 저장되니까 까먹으면 안됨.
이제 모든 기본 설정은 마무리 됐음. 그림을 뽑으면 해당 그림들은 모두 outputs폴더에 들어가니 여기서 확인하면 됨. 이제 바로 그림을 뽑을 수는 있음. 그런데 fast stable diffusion과 비교했을 때 easy stable diffusion으로 설치를 하면 기능설정이 기본으로 안된 것들이 몇 개 더 있음. 이것들은 다른 게시글에서 다루도록 하겠음.
이제 원클릭 설치&실행 말고 자동좌의 코랩 노트로 설치하는 방법을 알려주겠음. 참고로 하나의 구글 드라이브에 easy-stable-diffusion도 설치하고 fast-stable-diffusion도 설치하면 2개 stable diffusion이 생겨서 용량만 잡아먹으니 둘 중 하나만 설치하는 것이 좋음.
2-2. automatic1111깃허브에서 Web UI설치(fast-stable-diffusion-AUTOMATIC1111.ipynb)
자동좌는 코랩을 사용하는 사람도 배려하여 사용가능한 방법을 코랩 노트로 만들어두셨음. 아래 주소를 누르면 자동좌의 코랩 노트로 들어갈 수 있음.
이제 아래 사진처럼 조금 익숙?해보일 수 있는 화면이 나옴. 왼쪽에 실행버튼이 각각 달려있는 파이썬 실행스크립트들이 보임. 중요한건 꼭 순서대로 눌러줘야 하며 스크립트 실행이 완료된 다음에 다음 스크립트를 실행해야 한다는 거임. 파이썬은 순서가 바뀌면 꼬여서 작동하지 않기 때문!
먼저 Connect Google Drive의 실행버튼(화살표)를 눌러서 작동시켜주면 구글 드라이브 연동 경고가 나올거임. 아래 사진에서 처럼 "무시하고 계속하기"를 눌러주면 됨. 드라이브 엑세서 허용 경고창이 나오면 "Google Dirve에 연결"을 누르고 내 계정 선택해서 허용해주시면 됨.
실행버튼이 완료로 바뀌면 이제 다음 스크립트로 넘어감. 다음 스크립트는 Install/Update AUTOMATIC1111 repo임. 깃허브로 가서 web ui관련 소스를 받아오겠다는 것임. 역시 왼쪽 실행버튼을 눌러주고 완료가 될때까지 기다려주시면 됨.
이런 식으로 계속 스크립트를 실행해주고 완료되면 다음 스크립트 실행으로 가는거임. 이제 다음 스크립트는 Requirements임. 실행에 필요한 것들을 설치하는 것임. 마찬가지 실행버튼 누르고 완료될때까지 기다려주시면 됨.
다음 스크립트는 Model Download/load임. 만약 처음 설치하는 것이라면 실행버튼 눌러서 작동시켜주면 됨. 이미 한번 설치를 했었고 다시 실행하는 거라면 이 스크립트는 실행하지 않아도 됨.
다음 스크립트는 Controlnet임. Model의 경우와 마찬가지로 첫 설치때만 실행시키고 다음번 실행때는 스킵해도 됨.
이제 마지막 스크립트는 Start Stable-difusion임. 실행버튼을 누르고 기다리면 Webui로 접속할 수 있는 주소가 나올거임. 눌러서 들어가주면 web ui를 사용할 수 있음. 이 스크립트에서는 터미널을 선택할 수 있음. 보다 안정성 있는 gradio를 사용하기 위해 클라우드 플레어를 이용하기도 함. 우선 아무 체크 없이 그냥 실행하는 것부터 해보겠음.
스크립트 실행이 완료되면 아래에 주소가 하나 나오게 됨. 이걸 누르면 web ui로 들어갈 수 있음. 코랩노트 화면을 꺼버리면 stable diffusion도 꺼져버리기 때문에 절대 끄면 안됨
이제 우리가 원하던 화면이 나온것을 볼 수 있음. 자동좌 코랩노트에는 컨트롤넷과 extension설치 스크립트가 있기 때문에 easy stable diffusion과 달리 처음 부터 바로 해당 기능들을 설치할 수 있었음.
자동좌의 코랩노트에서는 아까 2-1에서 설명했던 것처럼 저장경로를 바꿔주거나 할 필요가 없음(web ui가 자동좌 꺼니까 당연함). 그냥 사용하면 됨. 어찌보면 easy stable diffusion보다 자동좌의 fast stable dffusion이 손이 덜 갈수도 있다고 볼 수 있지만 매번 새로 실행을 하다보면 실행버튼을 여러번 누르는 것보다 한번만 누르는게 더 나은것 같아서 easy stable diffusion를 먼저 다뤘음.
3. 다시 실행할 때
런타임이 끊기거나 다음날 다시 사용하게 될 때에는 어떻게 해야 할 것 같음? 아까 했던 것을 다시 반복해줘야 함. 이게 코랩으로 web ui를 돌리는 단점 중 가장 큰 단점으로 보임. 물론 런타임 자꾸 끊기는 것도 단점중 하나임.
그럼에도 로컬 컴퓨터 사양이 나쁘다면 코랩으로 웹ui를 돌리는 것이 지금으로서는 가장 효율성이 좋음
댓글목록 0
등록된 댓글이 없습니다.