스테이블 디퓨전(StableDiffusion)

ComfyUI를 알아봅시다.

물범쌤 2024. 6. 25. 19:10

안녕하세요 여러분, 물범쌤입니다 :)

 

오프라인 세미나 날짜가 다가오면서 강의 준비로 시간을 많이 빼앗긴 탓에

포스팅이 조금 뜸했습니다.

그만큼 알찬 강의로 여러분들께 찾아뵈려고 준비중이니 기대해주시기 바랍니다.

 

오늘은 드디어 전에 말씀드렸던, ComfyUI에 대해서 알아보도록 하겠습니다.

 

Q. 쌤! 우리는 이미 web-ui로 이미지를 잘 뽑고 있는데

굳이 ComfyUI를 알아야 하나요?

 

A. 물론 이미지 생성이라는 기준에서 기존의 web-ui와 ComfyUI를 비교한다면

누가 더 낫다라고 말할순 없습니다.

하지만 ComfyUI의 특징인 사용자 중심의 커스터마이징과

높은 자원 절약도를 생각한다면,

PC사양이 낮다고 생각하시는 분들은 ComfyUI를 통해 web-ui보다

높은 이미지 생성속도를 얻으실 수 있고,

web-ui에서 가능했던 추가기능을 사용할수 있으며,

궁극적으로 현재 배포되고 있는 SD3를 사용할 수 있다는 메리트가 있습니다 :)

 

그럼 본격적으로 ComfyUI를 사용하러 가볼까요?


1. ComfyUI 설치

 

먼저 저를 따라서 스테빌리티 매트릭스를 설치하신 분들은

'add package' 버튼을 통해서 간편하게 설치하실 수 있습니다.

 

 

로컬 설치를 원하시는 분들은 아래의 URL로 이동해 주세요

https://github.com/comfyanonymous/ComfyUI

 

GitHub - comfyanonymous/ComfyUI: The most powerful and modular stable diffusion GUI, api and backend with a graph/nodes interfac

The most powerful and modular stable diffusion GUI, api and backend with a graph/nodes interface. - comfyanonymous/ComfyUI

github.com

web-ui를 설치했을 때 처럼, 'Install'을 검색해서 위의 화면을 찾아주세요.

파란색 글씨 'Direct link to download' 를 눌러주세요!


 

2. 저는 PC 사용자 이름이 한글로 되어있기 때문에,

C드라이브로 설치파일을 옮겨주었습니다.

사진에 보시는것처럼 설치파일이 Zip 이 아닌 7z로 되어있는데요,

알집이나 반디집 등의 압축해제 프로그램을 설치하시면

어렵지 않게 압축을 해제 하실 수 있을겁니다. 

 

 

 

압축 해제 이후에, 'ComfyUI_windows_portable' 폴더가 생기신 것을 확인하실 수 있습니다 :)

 


3.폴더 안으로 들어오면 매우 중요하다는 내용과 함께

읽어보라는 텍스트 파일이 있습니다.

메모장으로 연결해서 열어보면

 

오우 영어영어 하네요 ㅠㅠ

도와줘 파파고!

 

 

이제야 좀 보기 편하네요 :)

하나하나 살펴 봅시다.

먼저, NVIDIA 그래픽 카드가 있는 경우에는

배치 파일중에 run_nvidia_gpu.bat을 통해서 실행하라고 하네요

만일 cpu에 포함된 내장 그래픽을 사용하는 경우에는 run_cpu.bat을 사용하라고 하는데

아마 이 경우에는 이미지 생성속도가 매우 느릴거라고 예상이 됩니다.

 

UI 빨간색 오류 관련 내용으로 체크포인트가 있는지 확인하라고 하는데

ComfyUI는 web-ui처럼 기본 체크포인트 파일을 제공하지 않기 때문에

초기 설치 단계에서 그냥 실행하면 에러가 발생합니다.

물론, 우리는 이 사실을 알고있기 때문에 조치를 취하고 실행단계에 들어설 겁니다 :)

 

궁극적으로 맨 마지막에 있는 문단이 제일 중요한데

다른 UI간에 모델의 공유,

우리가 이미 설치한 web-ui에 설치한 모델들(체크포인트,로라)등을

공유할 수 있는 방법입니다.

설명서가 시키는 대로 한번 차근차근 따라해 보겠습니다.


4.ComfyUI 디렉토리에서 extra_model_paths.yaml.example 파일을 찾아서,

extra_model_paths.yaml로 바꿔주라고 합니다.

보통 이 파일을 '야믈'파일이라고 부릅니다.

이 야믈파일을 메모장을 열어서 드래그 앤 드롭 해주세요!

차근차근 보면 A1111버전 과 config하기 위해

어디에 설치했는지 적으라고 하고 base_path가 나와있습니다.

즉, base_path에 우리가 web-ui를 어디에 설치했는지 적으라는 뜻이네요?

 

만일 저를 따라서 설치하신 분들이라면 C드라이브 바로 밑에 설치되어 있겠죠?

보시는 것처럼 base_path에 설치 경로를 복붙해주고, 파일을 저장해줍니다.

그러면 우리가 web-ui를 사용하면서 다운로드 받았던 체크포인트 파일들을 공유할 수 있습니다.

 

이렇게 하면,아까 Read Me파일에서 봤었던

체크포인트가 없어서 발생되는 에러가 발생할 일이 없겠죠?

 

run_nvidia_gpu.bat 파일을 통해서 ComfyUI를 실행해 줍니다.


6. 아래의 화면은 ComfyUI실행시 가장 기초적으로 출력되는 화면입니다.

 

ComfyUI의 각 기능들은 '노드'라고 부르는 일종의 그룹으로 묶여져 있습니다.

각 노드는 인풋과 아웃풋이 선을 통해 연결되어 있습니다.

먼저, 입력되어 있는 프롬프트를 통해 샘플을 출력해 보겠습니다.

 

*우리가 web-ui에서 조절했던 주요 설정들은 대부분 KSampler노드에 포함되어 있습니다.

 

가장 왼쪽의 Load Checkpoint에 본인이 설치한 체크포인트로 설정되어있는지 확인해보시고

가장 오른쪽에 있는 컨트롤 노드에서 Queue Prompt를 클릭해 줍니다.

우주적인 색감이 담겨있는 유리병이 출력되었네요

이미지를 저장하기 위해서는 save Image 노드를 사용하거나

(노드 추가 방법은 빈 공간에서 우클릭 하시면 add node-Image 메뉴를 통해 추가하실 수 있습니다)

아니면, 이미지를 우클릭해서 직접 save Image를 클릭해 주시면 됩니다.


8.ComfyUI의 각 노드는 컴퓨터 파일과 동일하게 작동합니다.

따라서 Ctl+C,Ctl+V를 통해 복사하는것도 가능한데요.

각 노드들을 똑같이 복사해서 2개의 이미지를 한번에 생성하려고 합니다.

이렇게 하면, 체크포인트 노드에서 다른 체크포인트를 사용해서

각 체크포인트로 동일한 프롬프트를 입력했을때의 차이를 한 눈에 비교할 수 있습니다.

(연결이 제대로 되지 않은 노드는 사진과 같이 빨간색 테두리가 생겨서 사용자가 알아볼 수 있습니다.)

 

SDXL베이스로 제작한 기초이미지
DreamShaper로 제작한 기초 이미지

 


9. ComfyUI는 이미지 제작에 사용되었던 노드들을

하나의 그룹으로 묶어서 관리할 수 있습니다.

우리는 이것을 하나의 워크플로우 라고 부릅니다.

 

우측의 컨트롤 노드에서 Save를 누르면,

현재 사용자가 설정한 워크플로우를 공유할 수 있는 파일로 만들어줍니다.

Load는 워크플로우 파일을 불러오는 기능인데,

대부분 그냥 워크플로우 파일 자체를 ComfyUI창에 드래그 앤 드롭하시는 편입니다.

Clear는 ComfyUI 내에 있는 모든 노드를 삭제합니다.

다른 사람이 만든 이미지를 드래그 앤 드롭하려고 할 때 사용합니다.

Load Default는 초기 상태의 UI로 되돌리는 기능입니다.


 

10. ComfyUI를 사용하기 위해서 기초적으로 설치해야 하는 기능이 있습니다.

바로 ComfyUI매니저 입니다.

먼저 ComfyUI가 설치된 경로로 이동해서 custom_nodes 폴더를 찾아들어가 주세요

그곳에서 바로 'cmd'를 실행해 줍니다.

 

그럼 여러분이 ComfyUI를 설치한 경로에서 명령창이 켜지게 될텐데요

 

그곳에 아래의 구문을 복붙해 주세요.

 

git clone https://github.com/ltdrdata/ComfyUI-Manager.git

 

**파일을 다운로드 받아서 설치하는 방법도 있는데, 제가 해봤더니 오류가 자주 발생합니다.

우리는 web-ui설치를 위해 git을 이미 설치했기 때문에 이 방법으로 간편하게 설치할 수 있습니다.

 

확장 프로그램설치하면 저희 항상 하는게 뭐죠? 바로 재시작입니다 :)

 

 

재시작 후에는 위에 보시는 것 처럼 컨트롤 노드 하단에 Manager가 추가되어있는 것을 보실 수 있습니다.

 

ComfyUI 매니저의 주요 기능은 다음과 같습니다.

 

1.ComfyUI의 버전과 확장파일들의 업데이트를 원클릭으로 진행할 수 있습니다.

 

2.이미지 생성을 위한 추가 노드 설치가 필요할때,

Install Missing Custom Nodes 메뉴를 통해 간편하게 설치할 수 있습니다.

 

3.Model Manager를 통해 손쉽게 모델링 파일을 다운로드 할 수 있습니다.

 

4.워크플로우 갤러리를 통해 워크플로우를 공유하는 사이트에 접속할 수 있습니다.

 

이 중에서 가장 유용하게 사용되는 기능이 바로 2번의 기능입니다.

매니저를 사용하지 않으면 이미지 생성을 위해 다운받아야 하는 노드가 무엇인지

사용자가 add node 창에서 일일히 찾아야 하는 수고로움이 있는데

매니저를 통해 이 불편함을 해소할 수 있습니다.


ComfyUI 매니저를 설치했으니,

지난번 SD3에서 보류했었던 워크 플로우 예제를 해결해 보겠습니다.

지난번에는 화면에 보이는 SD Upscaler 노드가 설치되어 있지 않아서 이미지를 생성할 수 없었는데

Install Missing Custom Nodes 메뉴를 통해 설치를 완료하고 나니 오류가 사라졌습니다.

 

생성 완료!


오늘은 ComfyUI의 설치 방법부터 기초예제의 생성

그리고 ComfyUI매니저 설치방법까지 알아보았습니다.

 

이 컨텐츠가 유익하셨다면 공감(♡)과 댓글 부탁드리겠습니다.

 

그럼 모두들 좋은 하루 되세요! ^^

반응형