Windows에서 GUI를 사용하여 로컬에서 안정적인 확산을 실행하는 방법
게시 됨: 2022-09-18PC에 로컬로 Stable Diffusion을 설치할 수 있지만 일반적인 프로세스에는 설치하고 사용하기 위해 명령줄로 많은 작업이 필요합니다. 다행스럽게도 Stable Diffusion 커뮤니티가 그 문제를 해결했습니다. 다음은 그래픽 사용자 인터페이스로 로컬에서 실행되는 Stable Diffusion 버전을 설치하는 방법입니다!
안정확산이란?
이 버전의 안정적인 확산을 실행하려면 무엇이 필요합니까?
GUI로 안정적인 확산을 설치하는 방법
먼저 파이썬 설치
Git 설치 및 GitHub 저장소 다운로드
모든 체크포인트 다운로드
GUI로 안정적인 확산을 사용하여 이미지를 생성하는 방법
인페인트를 위해 생성한 이미지를 마스킹하는 방법
"CUDA 메모리 부족" 오류 수정 방법
안정확산이란?
Stable Diffusion은 MidJourney나 DALL-E 2와 같이 텍스트 프롬프트에서 이미지를 생성하거나 기존 이미지를 텍스트 프롬프트로 수정할 수 있는 AI 모델입니다. Stability.ai에서 2022년 8월에 처음 출시했습니다. 수천 개의 다른 단어를 이해하고 거의 모든 스타일로 상상할 수 있는 거의 모든 이미지를 만드는 데 사용할 수 있습니다.
그러나 Stable Diffusion을 대부분의 다른 인기 있는 AI 아트 생성기와 차별화하는 두 가지 중요한 차이점이 있습니다.
- PC에서 로컬로 실행할 수 있습니다.
- 오픈 소스 프로젝트입니다
여기서 마지막 요점은 정말 중요한 문제입니다. 전통적으로 Stable Diffusion은 명령줄 인터페이스를 통해 설치 및 실행됩니다. 그것은 효과가 있지만 투박하고 직관적이지 않을 수 있으며, 그렇지 않으면 관심을 가질 사람들에게 진입 장벽이 됩니다. 그러나 오픈 소스 프로젝트이기 때문에 커뮤니티는 빠르게 사용자 인터페이스를 만들고 비디오 램(VRAM) 사용을 최소화하고 업스케일링 및 마스킹을 빌드하는 최적화를 포함하여 자체 기능을 추가하기 시작했습니다.
이 버전의 안정적인 확산을 실행하려면 무엇이 필요합니까?
이 버전의 Stable Diffusion은 Stability.ai에서 만들고 유지 관리하는 기본 저장소(리포지토리)의 분기점입니다. GUI(그래픽 사용자 인터페이스)가 있어 명령줄 인터페이스만 있는 일반 Stable Diffusion보다 사용하기 쉽고 대부분의 설정을 자동으로 처리하는 설치 프로그램이 있습니다.
관련: AI 이미지를 생성하기 위해 PC에서 안정적인 확산을 실행하는 방법
경고: 항상 그렇듯이 GitHub에서 찾을 수 있는 타사 소프트웨어 포크에 주의하십시오. 우리는 이것을 한동안 문제 없이 사용해 왔으며 수천 명의 다른 사람들도 마찬가지이므로 안전하다고 말하는 경향이 있습니다. 다행스럽게도 여기의 코드와 변경 사항은 오픈 소스 프로젝트의 일부 포크에 비해 작습니다.
이 포크에는 RAM이 적은 PC에서 실행할 수 있는 다양한 최적화, GFPGAN, ESRGAN, RealESRGAN 및 CodeFormer를 사용한 내장형 업스케일링 및 안면 기능, 마스킹이 포함되어 있습니다. 마스킹은 엄청난 일입니다. 다른 부분을 왜곡하지 않고 AI 이미지 생성을 이미지의 특정 부분에 선택적으로 적용할 수 있습니다. 일반적으로 인페인팅이라고 하는 프로세스입니다.
- 하드 드라이브에 최소 10GB의 여유 공간
- 6GB RAM이 있는 NVIDIA GPU(4GB로 작업할 수도 있음)
- Windows 11, Windows 10, Windows 8.1 또는 Windows 8을 실행하는 PC
- AUTOMATIC1111의 WebUI GitHub 리포지토리
- Python 3.10.6(최신 버전 및 대부분의 이전 버전도 괜찮음)
- 스테이블 디퓨전 공식 체크포인트 (9월 말 v1.5 체크포인트 주목!)
- GFPGAN v1.3 체크포인트(v1.4도 작동할 수 있음)
- 원하는 추가 ESRGAN 모델. 원하는 만큼 많이 또는 적게 사용할 수 있습니다.
GUI로 안정적인 확산을 설치하는 방법
설치 프로세스가 상당히 간소화되었지만 설치 프로그램을 사용하기 전에 수동으로 수행해야 하는 몇 가지 단계가 있습니다.
먼저 파이썬 설치
가장 먼저 해야 할 일은 repo 작성자가 권장하는 Python 버전 3.10.6을 설치하는 것입니다. 해당 링크로 이동하여 페이지 하단으로 스크롤한 다음 "Windows Installer(64비트)"를 클릭합니다.
다운로드한 실행 파일을 클릭하고 프롬프트를 진행합니다. Python이 이미 설치되어 있고 가장 확실하게 설치되어 있는 경우 "업그레이드"를 클릭하십시오. 그렇지 않으면 권장 프롬프트를 따르십시오.
참고: 해당 옵션이 있으면 Python 3.10.6을 PATH에 추가해야 합니다.
Git 설치 및 GitHub 저장소 다운로드
Stable Diffusion 설치 프로그램을 실행하려면 Windows에서 Git을 다운로드하여 설치해야 합니다. 64비트 Git 실행 파일을 다운로드하여 실행하고 특별히 염두에 두지 않는 한 권장 설정을 사용하기만 하면 됩니다.
관련: Windows에 Git을 설치하는 방법
다음으로 GitHub 리포지토리에서 파일을 다운로드해야 합니다. 녹색 "코드" 버튼을 클릭한 다음 메뉴 하단의 "ZIP 다운로드"를 클릭합니다.
파일 탐색기나 선호하는 파일 보관 프로그램에서 ZIP 파일을 연 다음 원하는 위치에 압축을 풉니다. 폴더는 Stable Diffusion을 실행하기 위해 이동해야 하는 위치입니다. 이 예에서는 C:\ 디렉터리에 압축을 풀었지만 필수 사항은 아닙니다.
참고: 실수로 "stable-diffusion-webui-master"를 빈 공간이 아닌 다른 폴더로 드래그하지 않도록 하십시오. 그렇게 하면 의도한 상위 폴더가 아닌 해당 폴더에 드롭됩니다.
모든 체크포인트 다운로드
이것이 작동하려면 몇 가지 체크포인트가 필요합니다. 첫 번째이자 가장 중요한 것은 안정적인 확산 체크포인트입니다. 체크포인트를 다운로드하려면 계정을 만들어야 하지만 계정에 필요한 것은 많지 않습니다. 필요한 것은 이름과 이메일 주소만 있으면 됩니다.
참고: 체크포인트 다운로드는 몇 기가바이트입니다. 즉시 완료되기를 기대하지 마십시오.
"sd-v1-4.ckpt"를 복사하여 이전 섹션의 "stable-diffusion-webui-master" 폴더에 붙여넣은 다음 "sd-v1-4.ckpt"를 마우스 오른쪽 버튼으로 클릭하고 이름 바꾸기를 누르십시오. 텍스트 필드에 "model.ckpt"를 입력하고 Enter 키를 누릅니다. "model.ckpt"인지 확인하십시오. 그렇지 않으면 작동하지 않습니다.
참고: 이름 바꾸기 기능은 Windows 11의 아이콘입니다.
GFPGAN 체크포인트도 다운로드해야 합니다. 우리가 사용하는 repo의 작성자는 GFPGAN v1.3 체크포인트를 요청했지만 사용해보고 싶다면 v1.4를 사용할 수 있습니다. 페이지를 아래로 스크롤한 다음 "V1.3 모델"을 클릭합니다.
"GFPGANv1.3.pth"라는 파일을 "sd-v1-4.ckpt" 파일과 마찬가지로 "stable-diffusion-webui-master" 폴더에 넣되 이름을 바꾸지는 마십시오 . 이제 "stable-diffusion-webui-master" 폴더에 다음 파일이 포함되어야 합니다.
원하는 만큼 ESRGAN 체크포인트를 다운로드할 수도 있습니다. 일반적으로 ZIP 파일로 패키지로 제공됩니다. 다운로드 후 ZIP 파일을 열고 ".pth" 파일을 "ESRGAN" 폴더에 압축을 풉니다. 다음은 예입니다.
ESRGAN 모델은 보다 구체적인 기능을 제공하는 경향이 있으므로 귀하에게 호소하는 몇 가지를 선택하십시오.
이제 기본 "stable-diffusion-webui-master" 폴더에 있는 "webui-user.bat" 파일을 더블 클릭하면 됩니다. 콘솔 창이 나타나고 다른 모든 중요한 파일을 가져오고 Python 환경을 구축하고 웹 사용자 인터페이스를 설정하기 시작합니다. 다음과 같이 표시됩니다.
참고: 이 작업을 처음 실행할 때는 최소 몇 분이 소요될 것으로 예상합니다. 인터넷에서 많은 것을 다운로드해야 합니다. 한 단계에서 부당하게 오랜 시간 동안 멈춘 것처럼 보이면 콘솔 창을 선택하고 Enter 키를 눌러 보십시오.
완료되면 콘솔에 다음이 표시됩니다.
로컬 URL에서 실행: http://127.0.0.1:7860 공개 링크를 만들려면 `launch()`에서 `share=True`를 설정하세요.
관련: 127.0.0.1 IP 주소는 무엇이며 어떻게 사용합니까?
GUI로 안정적인 확산을 사용하여 이미지를 생성하는 방법
좋습니다. Stable Diffusion의 WebUI 변형을 설치했으며 콘솔에서 "로컬 URL: http://127.0.0.1:7860에서 실행 중"임을 알립니다.
참고: 정확히 무슨 일이 일어나고 있습니까? 127.0.0.1은 localhost 주소입니다. 컴퓨터가 자체적으로 제공하는 IP 주소입니다. 이 버전의 Stable Diffusion은 자체 IP 주소를 통해 액세스할 수 있는 로컬 PC에 서버를 생성하지만 올바른 포트인 7860을 통해 연결하는 경우에만 가능합니다.
브라우저를 열고 주소 표시줄에 "127.0.0.1:7860" 또는 "localhost:7860"을 입력하고 Enter 키를 누릅니다. txt2img 탭에서 다음을 볼 수 있습니다.
이전에 안정적인 확산을 사용한 적이 있다면 이러한 설정이 익숙할 것이지만 가장 중요한 옵션이 의미하는 바에 대한 간략한 개요는 다음과 같습니다.
- 프롬프트: 만들고자 하는 것에 대한 설명.
- 롤 버튼: 프롬프트에 임의의 예술적 스타일을 적용합니다.
- 샘플링 단계: 출력을 받기 전에 이미지가 다듬어지는 횟수입니다. 일반적으로 많을수록 좋지만 수익이 감소합니다.
- 샘플링 방법: 샘플링 처리 방법을 제어하는 기본 수학. 이 중 아무거나 사용할 수 있지만 euler_a 및 PLMS가 가장 인기 있는 옵션인 것 같습니다. 이 백서에서 PLMS에 대한 자세한 내용을 읽을 수 있습니다.
- 얼굴 복원: GFPGAN을 사용하여 이상하거나 왜곡된 얼굴을 수정합니다.
- Batch Count: 생성할 이미지의 수입니다.
- 배치 크기: "배치"의 수입니다. 엄청난 양의 VRAM이 없는 한 이 값을 1로 유지하십시오.
- CFG Scale: Stable Diffusion이 사용자가 제공하는 프롬프트를 얼마나 주의 깊게 따를 것입니다. 숫자가 클수록 매우 신중하게 따르고 숫자가 작을수록 창의적인 자유를 줍니다.
- 너비: 생성하려는 이미지의 너비입니다.
- 높이: 생성하려는 이미지의 너비입니다.
- 시드: 난수 생성기에 대한 초기 입력을 제공하는 숫자입니다. 무작위로 새 시드를 생성하려면 -1로 둡니다.
"마법의 숲 속의 고지대 암소, 35mm 필름 사진, 선명"이라는 프롬프트에 따라 5개의 이미지를 생성하고 PLMS 샘플러, 50개의 샘플링 단계 및 5의 CFG 스케일을 사용하여 얻은 결과를 살펴보겠습니다.
팁: 작업이 너무 오래 걸리면 언제든지 "중단" 버튼을 눌러 생성을 중지할 수 있습니다.
출력 창은 다음과 같습니다.
참고: 이미지가 다릅니다.
상단 중간 이미지는 나중에 마스킹을 시도하는 데 사용할 이미지입니다. 개인적인 취향 외에는 특별한 선택을 할 이유가 없습니다. 원하는 이미지를 가져옵니다.
그것을 선택한 다음 "Inpaint로 보내기"를 클릭하십시오.
인페인트를 위해 생성한 이미지를 마스킹하는 방법
인페인팅은 환상적인 기능입니다. 일반적으로 안정적인 확산은 프롬프트에서 전체 이미지를 만드는 데 사용되지만 인페인팅을 사용하면 이미지의 일부를 선택적으로 생성(또는 재생성)할 수 있습니다. 여기에 두 가지 중요한 옵션이 있습니다. inpaint masked, inpaint not masked.
Inpaint Masked는 프롬프트를 사용하여 강조 표시한 영역 내에서 이미지를 생성하는 반면, Inpaint Masked는 그 반대의 작업을 수행합니다. Masked 영역만 보존됩니다.
먼저 마스크된 Inpaint에 대해 조금 다루겠습니다. 마우스 왼쪽 버튼을 누른 상태에서 이미지를 드래그하면 이미지 위에 흰색 레이어가 나타나는 것을 볼 수 있습니다. 교체하고자 하는 부분의 모양을 그리고 완전히 채워주세요. 당신은 지역을 돌고 있는 것이 아니라 전체 지역에서 마스킹을 하고 있습니다.
팁: 기존 그림에 무언가를 추가하려는 경우 마스크 영역을 만들고자 하는 대략적인 모양과 일치하도록 하는 것이 도움이 될 수 있습니다. 예를 들어, 원을 원할 때 삼각형 모양을 마스킹하는 것은 비생산적입니다.
고지대 소의 예를 들어 그에게 요리사 모자를 줍시다. 대략 셰프 모자 모양으로 영역을 가리고 "Batch Size"를 1보다 크게 설정해야 합니다. 이상적인(ish) 결과를 얻으려면 배수가 필요할 것입니다.
또한 "Fill", "Original" 또는 "Latent Nothing"이 아닌 "Latent Noise"를 선택해야 합니다. 장면에서 완전히 새로운 개체를 생성하려는 경우 최상의 결과를 생성하는 경향이 있습니다.
참고: 모자의 왼쪽 가장자리가 그의 뿔 일부를 삭제했음을 알 수 있습니다. "Mask Blur" 설정이 너무 높기 때문에 발생했습니다. 이미지에 그런 것이 보이면 "마스크 흐림" 값을 줄이십시오.
좋습니다. 아마도 요리사의 모자가 고지대 소를 위한 올바른 선택이 아닐 수도 있습니다. 당신의 하이랜드 소는 20세기 초반 분위기에 더 가깝습니다. 그래서 그에게 중산모를 줍시다.
얼마나 긍정적으로.
물론 Inpaint Not Masked를 사용하여 정반대의 작업을 수행할 수도 있습니다. 정의한 영역이 반대라는 점을 제외하고는 개념적으로 유사합니다. 변경하려는 영역을 표시하는 대신 보존하려는 영역을 표시합니다. 작은 개체를 다른 배경으로 이동하려는 경우에 종종 유용합니다.
"CUDA 메모리 부족" 오류를 수정하는 방법
이미지를 크게 만들수록 더 많은 비디오 메모리가 필요합니다. 가장 먼저 시도해야 할 것은 더 작은 이미지를 생성하는 것입니다. 안정적인 확산은 256×256에서 매우 다르지만 좋은 이미지를 생성합니다.
512×512 이미지에 문제가 없는 컴퓨터에서 더 큰 이미지를 만들고 싶거나 다양한 "메모리 부족" 오류가 발생하는 경우 도움이 될 구성 변경 사항이 있습니다.
메모장이나 원하는 다른 일반 텍스트 편집기에서 "webui-user.bat"를 엽니다. "webui-user.bat"를 마우스 오른쪽 버튼으로 클릭하고 "편집"을 클릭한 다음 메모장을 선택하기만 하면 됩니다. set COMMANDLINE_ARGS=
를 읽는 줄을 식별합니다. 바로 여기에서 Stable Diffusion이 실행되는 방식을 최적화하는 명령을 배치할 것입니다.
관련: Windows에서 배치 스크립트를 작성하는 방법
거대한 사진을 찍고 싶거나 GTX 10XX 시리즈 GPU의 RAM이 부족하다면 먼저 --opt-split-attention
시도하십시오. 다음과 같이 표시됩니다.
그런 다음 파일 > 저장을 클릭합니다. 또는 키보드에서 Ctrl+S를 누를 수 있습니다.
여전히 메모리 오류가 발생하면 명령줄 인수 목록(COMMANDLINE_ARGS)에 --medvram
을 추가해 보세요.
이전 명령이 도움이 되지 않으면 --always-batch-cond-uncond
를 추가하여 추가 메모리 문제를 시도하고 수정할 수 있습니다. VRAM 사용량을 훨씬 더 줄일 수 있는 --medvram
의 대안인 --lowvram
도 있지만 실제로 작동하는지 여부를 증명할 수는 없습니다.
사용자 인터페이스의 추가는 이러한 종류의 AI 기반 도구를 모든 사람이 액세스할 수 있도록 하는 데 있어 중요한 단계입니다. 가능성은 거의 무궁무진하며 AI 아트 전용 온라인 커뮤니티를 조금만 살펴봐도 이 기술이 아직 초기 단계일 때 얼마나 강력한지 알 수 있습니다. 물론 게임용 컴퓨터가 없거나 설정에 대해 걱정하고 싶지 않다면 언제든지 온라인 AI 아트 생성기 중 하나를 사용할 수 있습니다. 귀하의 항목이 비공개라고 가정할 수 없음을 명심하십시오.