Stable Diffusion 으로 생성한 고양이 이미지

 

안녕하세요 Stable Diffusion Web UI 설치하는 방법 두번째 입니다.

저번에 두가지 방법에 대해 소개해 드렸습니다. 이번에는 두번째 방법입니다.

 

1. 구글 코랩을 이용하는 방법

2024.01.11 - [Stable Diffusion] - Stable Diffusion WebUI를 설치하는 방법[Google,Colab]


2. 로컬에 지접 다운로드 해서 절치하는 방법

 

[로컬에 지접 다운로드 하는 방법]

로컬에 직접 다운로드 해서 설치하는 방법은 예전에는 조금 불편했을 것 같은데...

요즘에는 많이 쉬워졌습니다. 그냥 다운로드 해서 설치하면 끝입니다.

 

우선 처음 다운로드 링크는 코랩을 이용하는 방식과 동일합니다.

다운르도를 위해서 아래의 링크로 이동합니다.

https://github.com/AUTOMATIC1111/stable-diffusion-webui

 

GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI

Stable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.

github.com

 

아래를 스크롤 하다보면 [Installation on Windows 10/11 with NVidia-GPUs using release package] 항목이 나옵니다.

여기에서 v1.0.0-pre 링크를 눌러서 사이트로 들어가 사운롤드를 받으면 끝납니다.

아래 순서처럼 sd.webui.zip 파일을 Download 하고 적당한 위치에 압축해제를 해주고,

파일 중에 update..bat 파일을 눌러서 최신 버전으로 업데이트를 하고,

파일 중에 run.bat 파일을 눌러  webUI를 실행하면 됩니다.

For more details를 참고하셔서 GPU에 대한 정보를 미리 확인해주세요. 사양이 안맞으면 실행이 안될 수 있습니다.

 

그럼 v1.0.1-pre 링크를 눌러서 사이트를 연결해 주세요

https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.0.0-pre

 

Release v1.0.0-pre · AUTOMATIC1111/stable-diffusion-webui

The webui.zip is a binary distribution for people who can't install python and git. Everything is included - just double click run.bat to launch. No requirements apart from Windows 10. NVIDIA only....

github.com

 

 

에셋 중에 sd.webui.zip 입니다.

이 파일을 다운받아 압축을 해제해 주세요.

 

압축을 해제하면 아래와 같은 폴더로 구분되어 있습니다.

보시면 아시겠지만 git, python 까지 폴더에 적용된 포터블 버전입니다.

별도의 인스톨 및 설정 절차가 필요가 없다는 의미입니다.

 

 

처음에 update.bat 파일을 실행하면 현재 버전을 체크하여 알아서 업데이트를 진행합니다. 코드는 아래와 같습니다.

@echo off

call environment.bat

git -C "%~dp0webui" pull 2>NUL
if %ERRORLEVEL% == 0 goto :done

git -C "%~dp0webui" reset --hard
git -C "%~dp0webui" pull

:done
pause

 

 

그 다음에 run.bat 파일을 실행합니다. 코드는 아래와 같습니다.

@echo off

call environment.bat

cd %~dp0webui
call webui-user.bat

 

보시면 연결된 environment.bat 파일과 webui-user.bat 파일이 실행됩니다. 코드는 아래와 같습니다.

environment.bat 

@echo off

set DIR=%~dp0system

set PATH=%DIR%\git\bin;%DIR%\python;%DIR%\python\Scripts;%PATH%
set PY_LIBS=%DIR%\python\Scripts\Lib;%DIR%\python\Scripts\Lib\site-packages
set PY_PIP=%DIR%\python\Scripts
set SKIP_VENV=1
set PIP_INSTALLER_LOCATION=%DIR%\python\get-pip.py
set TRANSFORMERS_CACHE=%DIR%\transformers-cache

 

webui-user.bat 

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=

call webui.bat

 

여기서 또 webui.bat을 실행하고 있네요. 코드는 아래와 같습니다.

@echo off

if exist webui.settings.bat (
    call webui.settings.bat
)

if not defined PYTHON (set PYTHON=python)
if defined GIT (set "GIT_PYTHON_GIT_EXECUTABLE=%GIT%")
if not defined VENV_DIR (set "VENV_DIR=%~dp0%venv")

set SD_WEBUI_RESTART=tmp/restart
set ERROR_REPORTING=FALSE

mkdir tmp 2>NUL

%PYTHON% -c "" >tmp/stdout.txt 2>tmp/stderr.txt
if %ERRORLEVEL% == 0 goto :check_pip
echo Couldn't launch python
goto :show_stdout_stderr

:check_pip
%PYTHON% -mpip --help >tmp/stdout.txt 2>tmp/stderr.txt
if %ERRORLEVEL% == 0 goto :start_venv
if "%PIP_INSTALLER_LOCATION%" == "" goto :show_stdout_stderr
%PYTHON% "%PIP_INSTALLER_LOCATION%" >tmp/stdout.txt 2>tmp/stderr.txt
if %ERRORLEVEL% == 0 goto :start_venv
echo Couldn't install pip
goto :show_stdout_stderr

:start_venv
if ["%VENV_DIR%"] == ["-"] goto :skip_venv
if ["%SKIP_VENV%"] == ["1"] goto :skip_venv

dir "%VENV_DIR%\Scripts\Python.exe" >tmp/stdout.txt 2>tmp/stderr.txt
if %ERRORLEVEL% == 0 goto :activate_venv

for /f "delims=" %%i in ('CALL %PYTHON% -c "import sys; print(sys.executable)"') do set PYTHON_FULLNAME="%%i"
echo Creating venv in directory %VENV_DIR% using python %PYTHON_FULLNAME%
%PYTHON_FULLNAME% -m venv "%VENV_DIR%" >tmp/stdout.txt 2>tmp/stderr.txt
if %ERRORLEVEL% == 0 goto :activate_venv
echo Unable to create venv in directory "%VENV_DIR%"
goto :show_stdout_stderr

:activate_venv
set PYTHON="%VENV_DIR%\Scripts\Python.exe"
echo venv %PYTHON%

:skip_venv
if [%ACCELERATE%] == ["True"] goto :accelerate
goto :launch

:accelerate
echo Checking for accelerate
set ACCELERATE="%VENV_DIR%\Scripts\accelerate.exe"
if EXIST %ACCELERATE% goto :accelerate_launch

:launch
%PYTHON% launch.py %*
if EXIST tmp/restart goto :skip_venv
pause
exit /b

:accelerate_launch
echo Accelerating
%ACCELERATE% launch --num_cpu_threads_per_process=6 launch.py
if EXIST tmp/restart goto :skip_venv
pause
exit /b

:show_stdout_stderr

echo.
echo exit code: %errorlevel%

for /f %%i in ("tmp\stdout.txt") do set size=%%~zi
if %size% equ 0 goto :show_stderr
echo.
echo stdout:
type tmp\stdout.txt

:show_stderr
for /f %%i in ("tmp\stderr.txt") do set size=%%~zi
if %size% equ 0 goto :show_stderr
echo.
echo stderr:
type tmp\stderr.txt

:endofscript

echo.
echo Launch unsuccessful. Exiting.
pause

 

이렇게 코드가 짜여 있는데 어떤 코드인지 자세히 알 필요는 없을 것 같습니다.

간단하게 설명하면...

update.bat : git에 연결해서 최신 버전으로 업데이트

run.bat : environment.bat 파일과 webui-user.bat 파일을 실행

environment.bat : 각종 파이썬 환경 설정

webui-user.bat : 각종 패스 설정 및 webui.bat 실행

webui.bat : stable-diffusion 설정 및 실행

 

이렇게 bat파일을 실행하고 크게 문제가 없다면 webUI 페이지가 열립니다.

 

우선 최초 설치 후에는 적용된 이미지 생성에 필요한 생성모델이 기본만 있어서 제대로 이미지를 생성하기가 어렵습니다.

처음 초기화 된 상태로 프롬프트로 이미지를 생성해 보았습니다.

 

생성 모델의 중요성을 설명하고자 아주 극단적으로 비교한 거긴 합니다만...

 

dragon girl 이라는 프롬프트로 다른건 안건드리고 바로 생성해 보았습니다.

 

기본 모델로 생성한 이미지

 

civitai.com 라는 사이트에서 Indigo Furry mix 라는 모델을 다운로드 받아 적용해 보았습니다.

다운로드 링크는 아래와 같습니다. 그외 사이트에 모델이 엄청 많으니 취향것 적용해 보시기 바랍니다.

https://civitai.com/models/34469/indigo-furry-mix

 

Indigo Furry mix - v105_hybrid | Stable Diffusion Checkpoint | Civitai

I AM A LAZY DOG XD so I am not gonna go deep into model tests like I used to do, and will not write very detailed instructions about versions. Plz ...

civitai.com

 

그리고 참고로 모델을 다운로드 받으실 때는 Type의 속성이 checkpoint인지를 확인해 주세요. 

 

모델을 적용한 후 동일한 프롬프트로 생성을 해보았습니다.

 

적합한 모델을 적용하여 생성한 이미지

 

단순 비교이긴 하지만 모델을 어떤걸 쓰느냐에 따라 결과물의 차이가 상당하다는 것을 알 수 있습니다.

그래서 디테일한 프롬프트도 중요하지만 어떤 모델을 적용하느냐도 결과물에 큰 영향을 끼치니 참고해 주세요.

 

그리고 설명은 안했지만 webUI가 아닌 다른 설치 방식도 많습니다.

하지만 제가 테스트를 안해보기도 했고 전문가 용인 경우가 많아서 제외하였습니다.

구글링하면 이것저것 많이 나오니 참고해 주세요 ^^

 

 

 

마지막으로 괜찮은 사이트 링크 공유하면서 마무리 하겠습니다.

감사합니다.

 

 

괜찮은 생성 모델 찾기

 

https://civitai.com/models

 

Civitai Models | Discover Free Stable Diffusion Models

Browse from thousands of free Stable Diffusion models, spanning unique anime art styles, immersive 3D renders, stunning photorealism, and more

civitai.com

 

https://huggingface.co/

 

Hugging Face – The AI community building the future.

 

huggingface.co

 

 

괜찮은 프롬프트 찾기

https://majinai.art/index.php

 

The image generation script search engine

The image generation script search engine Beta version Model: 7th_anime_3.1_A [6e350084a6] 7th_anime_3.1_Cg [f9077799a9] 7th_anime_v1.1 [44c6b3500e] 7th_anime_v1.1.safetensors [aeebd61508] 7th_anime_v2.5_B.ckpt [2184722eb3] 7th_anime_v2_A.ckpt [8bcc83d5] 7

majinai.art

 

https://pixai.art/

 

PixAI - Anime AI Art Generator for Free

Unlock creativity with PixAI's AI art generator. Generate high-quality anime AI art effortlessly. Explore AI tools, character templates, and more.

pixai.art

 

https://prompthero.com/

 

PromptHero - Search prompts for Stable Diffusion, ChatGPT & Midjourney

The #1 website for Artificial Intelligence and Prompt Engineering. Search the world's best AI prompts for models like Stable Diffusion, ChatGPT, Midjourney...

prompthero.com

 

https://www.ptsearch.info/articles/list_best/

 

Prompt Search

arrow_back arrow_forward

www.ptsearch.info

 

Stable Diffusion 으로 생성한 고양이 이미지

 

 

안녕하세요 Stable Diffusion Web UI 설치하는 방법을 정리해 보았습니다.

설치는 옛날에는 참 어려웠을 것 같은데 이젠 매우 쉬워져서 절차대로만 하면 금방 설치할 수 있습니다.

단지 컴퓨터 사양이 좋아야(GPU가 좋아야 합니다) 한다는건 예나 지금이나 변함이 없네요.

 

Stable Diffusion WebUI을 설치하는 방법은 크게 두가지 방법이 있습니다.

1. 구글 코랩을 이용하는 방법

2. 로컬에 지접 다운로드 해서 절치하는 방법

 

[구글 코랩을 이용하는 방법]

컴퓨터 사양에 상관없이 구글 드라이브를 활용하여 쉽게 이미지를 생성할 수 있습니다.

우선 필요한 것은 당연하게도 구글 계정이겠지요. 

 

다운로드를 위해서 우선 아래의 링크로 이동합니다.

https://github.com/AUTOMATIC1111/stable-diffusion-webui

 

GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI

Stable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.

github.com

이동후 아래 항목에서 List of Online Service를 클릭합니다.

링크를 클릭하면 아래의 사이트로 이동합니다.

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Online-Services

 

Online Services

Stable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.

github.com

 

하단에 보면 Google Colab이라는 항목이 있습니다. 아래의 Maintained by TheLastBen를 클릭해 주세요

 

링크를 클릭하면 아래의 사이트로 이동합니다.

https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast_stable_diffusion_AUTOMATIC1111.ipynb

 

fast_stable_diffusion_AUTOMATIC1111.ipynb

Run, share, and edit Python notebooks

colab.research.google.com

여기에서 하단에 보시면 Drive로 복사 버튼이 있습니다.

그 버튼을 누르고 내 구글 드라이브로 복사를 진행해 주세요

 

복사를 완료하면 아래처럼 내 드라이브에 사본이 저장 됩니다.

 

그 후에 아래의 순서대로 진행해 줍니다.

▶Connect Google Drive : 내 드라이브와 코랩을 연동해서 가상 드라이브로 생성됩니다


▶Install/Update AUTOMATIC1111 repo : Stable Diffusion 을 인스톨/업데이트를 합니다.
▶Requirements : 각종 설정들을 적용합니다.

 

모든 설치가 되면 아래와 같이 Done으로 체크가 됩니다.

 

 

 

필요한 모델을 설치하거나 로드해줍니다.

 

중간에 LoRA나 ControlNet 이 있지만 그건 나중에 설치하면 되고.. 스킵하겠습니다.

 

마지막으로 Start Stable-Diffusion을 실행합니다.

 

처음 하면 다운로드 하는게 많아서 시간이 좀 걸립니다.

 

실행이 다 끝나면 아래 Running on public URL이 뜨면 눌러서 들어가면 됩니다.

 

 

그러나... 현재 기준(2024.01.11) 코랩은 이제 무료가 아닙니다.

아래와 같은 팝업이 뜰겁니다.

 

유료 가입 페이지 입니다.

https://colab.research.google.com/signup

 

Colab 구독 가격

 

colab.research.google.com

 

 

아쉽지만 저는 테스트를 해볼 수가 없군요.

유료 구매를 하시면 동일한 절차로 바로 이용이 가능합니다.

단계는 쉽지만 그래서 많은 사람들이 이용하고 부하가 생기니 유료 전환을 해서 테스트 해보기에는 어려움이 있네요.

엄청 비싼건 아니니 관심이 있으시면 구매해서 해보시기를 추천합니다.

 

여튼.. 설치가 완료되서 WebUI가 뜨면 아래와 같이 편하게 이미지를 생성할 수 있습니다.

 

저는 직접 설치 방법으로 쓰고 있는데 블로그에 정리하다 보니 코랩 방식을 정리하게 되었네요.

글이 길어져서 다음에는 직접 설치 방법을 설명해 드리겠습니다.

 

감사합니다.

Stable Diffusion 로고(구글 이미지 검색)

 

 

Stable Diffusion를 연구하다 보니 SDXL이라는게 있더군요.

요즘 모델도 SD와 SDXL도 나오고 있습니다.

 

그래서 비교를 해보았습니다.

생성형 AI를 위해 모델을 다운로드 받는 방법은 다양합니다.

https://civitai.com/models  라는 사이트에서 다운 받는게 일반적이고요

civitai.com 홈페이지 메인

 

https://huggingface.co/ 라는 사이트도 유명합니다.

huggingface.co 홈페이지 메인

 

UI는 civitai.com 가 좋은 것 같지만... 뭐 결국 구글링하다가 링크로 들어가는 경우가 많아서 비슷비슷할 것 같네요..

 

여튼 SDXL 모델을 적용하기 위해서는 SDXL을 적용한 모델을 다운로드 받아야 합니다.

참고로 SDXL 모델은 모델 설명에 SDXL이라고 써있습니다. 잘 찾아서 다운로드 해주심 됩니다.

 

그리고 적용을 하고 나면 Stable Diffusion 에서 제대로 이미지 생성이 안되는 경우가 있습니다. 

우선 Stable Diffusion 의 최신 버전으로 설정해 주셔야 합니다.

현재 기준(2024.01.10)에서 v1.7.0이 최신 버전입니다.

 

버전이 낮다면 webui-user.bat 파일의 코드를 좀 수정해 주심 됩니다.

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS= --xformers --no-half-vae

git pull

call webui.bat

 

이렇게 추가해 주시면 됩니다.

저는 이렇게 해서 되었는데... 아마 안되면 구글링을 조금 해보면 새로 설치해서 되는 경우도 있습니다.

원인은 아무리 검색해 봐도 잘 안나오던데 재 설치가 답인 것 같습니다.

 

버전을 다운그레이드를 하려면

git reset --hard 버전코드

를 추가해 주면 된다고 합니다. 테스트는 안해봤습니다.

버전코드는 https://github.com/AUTOMATIC1111/stable-diffusion-webui 사이트에서 확인 가능합니다.

 

내가 설치한 Stable Diffusion의 버전은 웹페이지의 하단에 버전 번호를 보면 아실 수 있고 그 버전을 클릭하면 사이트로 이동하여 버전코드를 확인할 수 있습니다.

 

 

 

버전 업데이트까지 하고 모델도 다운받았고 이미지를 생성해 보겠습니다.

그런데 아래 이미지 같이 깨진 이미지가 생성이 되는 경우가 있습니다.

저도 이유를 몰라서 한참을 찾았는데 모르겠다는 분들이 많은 것 같아서 정리해 보았습니다.

 

 

SD VAE에 지정되는 값을 Automatic 으로 되어 있지 않으면 깨지는 것 같습니다.

VAE는 일종의 픽셀 인코딩이라고 보심 되는데 이게 호환이 안되어서 깨지는 것이고 이걸 바꿔주니 잘 되네요.

 

 

 

설정을 완료하고 개인적으로 테스트를 해보았습니다.

우선 XL로 좋아진 퀄리티를 확인하려면 컴터 사양이 훨씬 더 좋아야 한다는걸 깨달았습니다.
컴터 사양이 낮으면 XL로 해도 결과물이 육안으로 보면 비슷한 것 같았습니다.
왠지 그래픽 카드 사양이 월등히 좋으면 차이가 많이 날 것 같은 느끼적인 느낌이네요.
근데 그건 SD도 똑같이 사양이 좋아지면 퀄리티가 좋아지는거 아닐까? 라는 생각이 들기도 합니다.
그나저나 생성이 넘 오래 걸려서 SD로 그냥 하는게 정신건강에 좋을 것 같습니다.
뭐 하나 테스트로 생성하는데 몇 분~ 몇 십분 씩 걸림...;;;

 

이미지 순서대로
1. civitai.com에 올라온 샘플 이미지(SDXL모델+프롬프트)
2. SDXL모델로 생성한 이미지(juggernautXL)(Seed 생성)
3. 생성된 이미지의 Seed를 기준으로 SD모델로 생성한 이미지(1)
4. 생성된 이미지의 Seed를 기준으로 다른 SD모델로 생성한 이미지(2)

 

SD와 SDXL모델을 테스트하는데 오류인지 모르겠지만 같은 유형의 모델끼리는 Seed가 적용되는데 다른 유형끼리는 Seed가 적용이 안되는 느낌입니다.
2번 이미지를 생성하고 Seed를 유지하고 3번으로 생성을 했는데 다른 유형의 랜덤한 이미지가 생성되버렸네요.
3번에서 유지한 Seed는 4번에서 이미지를 생성할 때 유형이 유지되었습니다.
 
혹시 프롬프트로 테스트 해보실 분들이 있을수 있어 프롬프트와 설정을 남겨 두었습니다.
 
Sampling steps : 66
 
CFG Scale : 3
Prompt :
photograph, a path in the woods with leaves and the sun shining, by Julian Allen, dramatic autumn landscape, some light snowfall, birch trees, peace, rich cold moody colours, high resolution, oak trees
Natve Prompt :
(worst quality, low quality, normal quality, lowres, low details, oversaturated, undersaturated, overexposed, underexposed, grayscale, bw, bad photo, bad photography, bad art:1.4), (watermark, signature, text font, username, error, logo, words, letters, digits, autograph, trademark, name:1.2), (blur, blurry, grainy), morbid, ugly, asymmetrical, mutated malformed, mutilated, poorly lit, bad shadow, draft, cropped, out of frame, cut off, censored, jpeg artifacts, out of focus, glitch, duplicate, (airbrushed, cartoon, anime, semi-realistic, cgi, render, blender, digital art, manga, amateur:1.3), (3D ,3D Game, 3D Game Scene, 3D Character:1.1), (bad hands, bad anatomy, bad body, bad face, bad teeth, bad arms, bad legs, deformities:1.3)
Sampling method :

DPM++ 2M Karras

 

앞으로도 도움될만한 정보 있으면 남겨 놓겠습니다. ^^

감사합니다.

+ Recent posts