Google이 제공하는 Python 실행 환경 Colaboratory를 이용하면 NVIDIA제 GPU가 없어도 Stable Diffusion을 대기 시간 없이 실행할 수 있으므로, 실제로 환경을 구축하는 순서를 자세히 정리해 보았습니다.
Stable Diffusion에서 이미지를 생성하는 예제는 아래에서 확인할 수 있습니다.
그러나 위의 공식 데모에서 이미지를 생성하면 대기 시간이 너무 길어서 좀 답답합니다. 그래서 Google의 Python 실행환경인 Colaboratory에 Stable Diffusion을 설치하여 대기시간을 줄여서 이미지 생성을 실현해 보도록 하겠습니다.
◆목차
· 1 : Hugging Face 토큰 발행
· 2 : Colaboratory에서 Stable Diffusion 사용 준비
· 3 : Stable Diffusion에서 이미지를 생성하는 방법
◆1 : Hugging Face 토큰 발행
Stable Diffusion 코드 및 문서는 AI 관련 커뮤니티 사이트 「Hugging Face」에 공개되어 있으며, 자신이 구축한 환경에서 Stable Diffusion을 사용하려면 Hugging Face 계정을 만들어 토큰을 발급해야 합니다.
먼저 다음 링크를 클릭하여 Hugging Face에 게시된 Stable Diffusion 페이지로 이동합니다.
CompVis/stable-diffusion-v1-4 · Hugging Face
https://huggingface.co/CompVis/stable-diffusion-v1-4
Stable Diffusion의 라이선스에 관한 확인 사항이 표시되면, 잘 읽고 나서 「Access repository」를 클릭합니다.
그러면 Hugging Face 로그인 화면이 표시됩니다. 이번에는 새로운 계정을 만들고 싶으므로 "Sign UP"을 클릭했습니다.
계정 작성 화면이 표시되면 등록하고 싶은 메일 주소와 패스워드를 입력하고 「Next」를 클릭.
그런 다음 사용자 이름과 전체 이름을 입력한 다음 서비스 약관을 확인을 선택한 다음 Create Account를 클릭합니다.
그러면 등록한 메일 주소로 확인 메일이 도착하므로 본문의 URL을 클릭합니다.
네이버 메일의 경우 스팸메일함에 들어 있네요.
스팸메일함의 경우 링크 클릭이 불가하니, 링크를 복사해서 직접 새 창에서 실행하셔야 합니다.
아래와 같이 "Your email address has been verified successfully"라고 표시되면 Hugging Face 계정 생성이 완료됩니다.
계정 생성이 완료되면 Stable Diffusion 페이지를 다시 방문하여 라이선스에 동의하는 확인란을 선택한 다음 Access repository를 클릭합니다.
그런 다음 화면 오른쪽 상단의 원형 아이콘을 클릭 한 다음 "설정"을 클릭하십시오.
계정 설정 화면이 열리면 Access Tokens를 선택하고 New token을 클릭합니다.
토큰 발행 화면이 나타나면 기억하기 쉬운 이름을 입력하고 Generate a token을 클릭합니다.
다음과 같이 액세스 토큰이 발행되면 Hugging Face에서 작업이 완료됩니다.
일단, 이 토큰을 잃어버리지 마시고 메모장을 열어서 저장해 두세요~
◆ 2 : Colaboratory에서 Stable Diffusion을 사용할 준비
다음으로 Google의 Python 실행 환경인 Colaboratory에서 Stable Diffusion을 사용할 준비를 진행합니다. 먼저 아래 링크를 클릭합니다.
Colaboratory에 오신 것을 환영합니다 - Colaboratory
https://colab.research.google.com/?hl=ko
Colaboratory로 이동하면 화면 오른쪽 상단의 '로그인'을 클릭하십시오.
참고글 : 구글 코랩 시작하기
https://doooob.tistory.com/188?category=878050
Colaboratory에 로그인하시면 「노트」라고, Python 실행 환경에서 다양한 작업을 수행할 수 있습니다. 이번에는 새롭게 Stable Diffusion용의 노트를 작성하고 싶으므로, 「새 노트」를 클릭합니다.
새 노트가 생성되면 화면 상단의 '수정'을 클릭한 다음 '노트 설정'을 클릭합니다.
설정 화면이 표시되면, 하드웨어 가속기의 란에서 「GPU」를 선택하시고 저장합니다.
이제 Colaboratory에서 GPU를 이용한 계산 처리가 가능해졌습니다.
Colaboratory에서는 명령어를 입력하여 작업을 진행할 수 있습니다.
먼저 아래 명령을 복사하여 붙여 넣고 실행 버튼을 클릭하여 노트에 Stable Diffusion을 설치합니다.
pip install diffusers==0.2.4 transformers scipy ftfy
그런 다음 아래 명령을 실행해야 합니다.
YOUR_TOKEN="Hugging Face에서 방금 발행한 토큰"
우선 새로운 코드를 입력하기 위해서 아래 버튼을 누릅니다.
아까 메모장에 저장해 뒀던 토큰을 아래와 같이 입력합니다.
그런 다음, 아래 명령을 실행합니다.
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=YOUR_TOKEN)
「+코드」를 클릭하여 표시된 입력 영역에 상기의 커멘드를 복사해서 붙여 넣고 실행…
그러면 각종 파일의 다운로드가 시작됩니다. 이 처리는 몇 분이 걸리기 때문에 잠시 기다립니다.
다양한 파일의 다운로드가 완료되면 다음 명령을 실행합니다.
pipe.to("cuda")
위와 같이 녹색 체크가 나타나면 Stable Diffusion을 사용할 준비가 완료됩니다.
◆ 3: Stable Diffusion으로 이미지를 생성하는 방법
Stable Diffusion으로 이미지를 생성하려면 다음 명령을 실행하세요.
prompt = "지시"
image = pipe(prompt)["sample"][0]
image.save(f"파일명.png")
「지시」 부분에는 생성하고 싶은 이미지의 설명을 영어로 입력하고, 「파일명」 부분에는 생성할 이미지의 이름을 입력합니다.
예를 들어, "공으로 놀고 있는 귀여운 고양이의 이미지"를 생성하고 "cat.png"라는 파일명으로 저장하고 싶다면 아래와 같이 입력하고 실행합니다.
prompt = "cute cat paly with ball"
image = pipe(prompt)["sample"][0]
image.save(f"cat.png")
이미지 생성이 완료되면 화면 왼쪽의 폴더 아이콘을 클릭합니다.
폴더에는 지정된 파일 이름의 이미지가 출력됩니다. 파일을 더블 클릭하면…
생성된 이미지가 화면 오른쪽에 표시됩니다.
생성된 이미지는 우측 상단의 「…」를 클릭하고 「다운로드」를 선택하여 다운로드 가능합니다.(또한 이미지 우클릭 메뉴도 가능)
새로운 이미지를 생성하고 싶은 경우는, 앞서 입력한 명령줄의 「지시」나 「파일명」 부분을 변경하여 실행하시면 됩니다.
주로 30초면 이미지 생성이 완료되네요. 같은 명령어로 데모 창에서 실행했을 때는 평균 8배 정도의 시간이 걸립니다.
만약 생성된 이미지가 파일 목록에 표시되지 않으면 폴더 그림의 업데이트 마크를 클릭하면 표시됩니다.
덧붙여 Colaboratory의 노트는 자유롭게 이름을 변경 가능합니다. 알기 쉬운 이름으로 변경해 두면…
다시 Colaboratory에 액세스 하여 노트를 더 쉽게 찾을 수 있습니다. 앞으로는 이번에 만든 노트를 열어서 즉시 이미지 생성이 가능합니다. 또한, 2번째 이후 재기동시 에러가 발생하는 경우 노트의 최상단부터 순서대로 실행 버튼을 쭉 누르면서 내려오시면 재설정이 완료됩니다. 그 후에 다시 실행해 보시면 됩니다.
또한 구글 코랩에서는, 이번에 소개한 범위의 기능들을 모두 무료로 이용할 수 있습니다. 만약 유료 플랜에 가입한다면 더 고성능의 GPU를 이용하여 빠른 처리가 가능합니다.
관련글
AI로 생성한 Netflix판「젤다의 전설」포스터의 완성도가 너무 높다
「Stable Diffusion web UI(스테이블 디퓨전 웹환경)」Windows 설치 정리
「스테이블 디퓨전(Stable Diffusion)」으로 만들고 싶은 이미지의「영문장」후보를 검색하는「clip-retrieval」
「스테이블 디퓨전(Stable Diffusion)」으로 그림을 그리는 절차를 설명
「스테이블 디퓨전(Stable Diffusion)」에서 이미지의 일부만 바꿔주는「Inpainter」
「스테이블 디퓨전(Stable Diffusion)」을 이용한 자동 GIF생성 모델「stable-diffusion-animation」이 등장
무료 이미지 생성 AI「스테이블 디퓨전 - NMKD Stable Diffusion GUI」사용법 정리
무료 이미지 생성 AI「스테이블 디퓨전」Windows 설치 가이드(NMKD Stable Diffusion GUI)
'AI · 인공지능 > 이미지 생성 AI' 카테고리의 다른 글
「스테이블 디퓨전(Stable Diffusion)」이 TensorFlow와 KerasCV에서 약 30% 빨라지는 것이 판명 (0) | 2022.09.29 |
---|---|
이미지 생성 AI「DALL-E」의 사용법을 간단히 정리해 보았다 (1) | 2022.09.29 |
이미지 생성 AI로 만들고 싶은 이미지를 찾아가는「KREA」 (0) | 2022.09.27 |
「스테이블 디퓨전(Stable Diffusion)」이 실은 꽤 우수한 이미지 압축을 실현할 수 있다는 것이 판명 (0) | 2022.09.21 |
이 호러블한 여성이 AI 생성 이미지에 계속 나타나는 이유는? (0) | 2022.09.12 |
「스테이블 디퓨전(Stable Diffusion)」에서 이미지의 일부만 바꿔주는「Inpainter」 (0) | 2022.09.12 |
세상에 없는 '집'의 이미지를 생성해 주는「This House Does Not Exist」 (1) | 2022.09.11 |
「스테이블 디퓨전(Stable Diffusion)」을 GPU대신 CPU만으로 사용하는「Stable Diffusion UI」 (2) | 2022.09.05 |