카테고리 없음

ComfyUI 사용하기

왕초보코딩러 2024. 9. 30. 23:45
728x90

 

ComfyUI란

Stable Diffusion 모델을 위한 GUI 툴

하드웨어가 낮은 컴퓨터에서도 사용할 수 있다

다양한 모델 지원

Checkpoint. Lora사용 가능

작업 환경 json으로 저장 가능

 


두 가지 방법 중 원하는 방법으로 설치하시면 됩니다

방법1

1. ComfyUI 설치

 

requirements.txt 설치

pip install -r requirements.txt

 

+ 추가로 해줘야 할 것

1. numpy 버전 확인

버전 1인지 확인

pip show numpy

 

2.

torch가 cpu 버전 torch로 깔렸기 때문에 gpu를 사용할 것이라면 삭제 후 다시 설치해야 한다

pip uninstall torch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

 

위의 예시는 저의 cuda 버전에 맞춘 것이기 때문에

자신의 cuda 버전에 맞게 설치하시면 됩니다

https://developer.nvidia.com/cuda-downloads

 

CUDA Toolkit 12.1 Downloads

Get the latest feature updates to NVIDIA's proprietary compute stack.

developer.nvidia.com

 

2. ComfyUI Manager 설치

상위 폴더(ComfyUI)로 이동
cd ..

 

ComfyUI 실행
python main.py

 

 

http://127.0.0.1:8188로 들어가면 됩니다

이런 화면이 나온다면 된 것입니다

 


방법2

1. ComfyUI 설치

깃허브의 Direct link to download를 눌러줍니다

 

압축을 풀고 실행 환경에서 그 폴더를 옮겨줍니다

 

그 안에

run_nvidia_gpu를 클릭하면 cmd창이 켜집니다

 

서버 주소가 나오면 클릭해줍니다

 

이런 화면이 나온다면 된 것입니다

 

 

2. ComfyUI Manager 설치

scripts > install-manager-for-portable-version.bat 클릭

download raw file 클릭

 

다운로드된 파일을 실행 환경에 이동시킵니다.

더블클릭하면 설치가 됩니다.

 

원래 cmd창을 끄고 다시 실행시키켰을 때

이렇게 뜨면 설치가 잘 된 것입니다.


ComfyUI 살펴보기

 

-Load Checkpoint

diffusion model checkpoint과 diffusion model을 불러옵니다.

 

-CLIP Text Encode (Prompt) 두 개

CLIP 모델의 텍스트 인코더를 사용하여 텍스트를 임베딩 벡터로 변환하는 단계(텍스트와 이미지의 연관성을 찾는다)

 

+ CLIP 모델이란: 텍스트와 이미지의 관계를 학습한 모델

2가지 구성요소

1. 텍스트 인코더: 텍스트 -> 벡터

2. 이미지 인코더: 이미지 -> 벡터

이렇게 얻은 텍스트 벡터와 이미지 벡터는 동일한 차원의 벡터  공간에 매핑되고, 대조 학습을 통해 이미지와 텍스트 간의 연관성을 학습한다.

 

Positive CLIP Text Encode (Prompt)에는 원하는 이미지의 프롬프트를 작성, Negative  CLIP Text Encode (Prompt)에는 제거하고 싶은 요소를 쓴다.

 

-KSampler

이미지 생성 옵션

  • seed: 랜덤으로 노이즈를 만든다(같은 노이즈라면 같은 이미지 얻을 수 있음)
  • contraol_after_generate: seed 값 바꿀 수 있도록(fixed를 사용하면 고정)
  • steps: 노이즈가 제거되는 denoise 과정 횟수(낮을수록 빨리 생성되지만 품질은 별로일 수 있다)
  • cfg: 프롬프트를 얼마나 반영할건지(높을수록 강하게 반영. lora 모델을 넣을 때 프롬프트를 정확히 따라갈 수 있도록 하기 위해 많이 사용)
  • sampler_name: 샘플링(이미지 생성) 알고리즘 종류(euler, heun, dpm 등을 많이 사용)
  • scheduler: 노이즈 제거 방식과 속도를 결정하는 알고리즘 종류
  • denosie: 노이즈 제거 양. (낮을수록 초기 이미지의 구조가 유지)

+ sampling은 모델이 이미지를 생성하는 전체 과정으로, denoising을 포함한 일련의 변환 단계를 모두 포함 sampler_name이 전체적인 이미지 생성의 큰 흐름을 결정한다면, scheduler는 그 흐름 내에서 노이즈 제거 방식의 세부 사항을 조정하는 역할

 

-Empty Latent Image

생성될 이미지의 사이즈 설정

batch_size는 생성될 이미지 장 수

 

 

-VAE Decode

 

VAE를 사용하여 벡터 -> 이미지 decode