로딩...
comfyui
memory leak 이 있는 것 같다 한번 느려지기 시작하면 계속 느림
module
- animatediff
- animatediff models, lora 관련해서는 커스텀 디렉토리를 쓸 수 없다 symbolic link 를 쓰자;
확인사항
-
comfyui-cli
라는 놈도 있음
설치
ComfyUI
# 파이토치 for apple sillicon
# + https://developer.apple.com/metal/pytorch/
$ pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
# 가상환경 구성, 혹시나 해서 한번 해봄
$ pipenv shell
# 디펜턴시 설치
$ pip install -r requirements.txt
## or
$ pipenv run pip install -r requirements.txt
# 실행
$ python main.py # remote 접속허용을 원하는 경우 `--listen` 추가
Total VRAM 65536 MB, total RAM 65536 MB
Set vram state to: SHARED
Device: mps
VAE dtype: torch.float32
Using sub quadratic optimization for cross attention, if you have memory or speed issues try using: --use-split-cross-attention
****** User settings have been changed to be stored on the server instead of browser storage. ******
****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ******
Starting server
To see the GUI go to: http://127.0.0.1:8188
- 이후 주소 접속시 ui 확인 됨
- ui에서 queue 를 클릭하면 모델이 없다고 에러난다 아래 주소에서 다운로드후
models/checkpoints
디렉토리에 넣어준다 - Load checkpoint 노드에서 넣어준
checkpoint
를 선택하고queue
를 누르면 실행된다- m1max 64ram 기준으로 아무것도 건드리지 않고 기본 프롬프트로 25.85s 가 소요
ComfyUI Manager
- 커스텀노드(플러그인) 관리
- ComfyUi 폴더에서
custom_nodes
디렉토리 진입후 클론한다 - ComfyUi 재시작 필요
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
Lora
controlnet
- 생성되는 이미지의 윤곽선을 제안할 수 있음, 자세 혹은 건물 생김세
Stable Diffusion Video
ComfyUI-VideoHelperSuite
설치 필요- image to video
- AnimationDiff 의 경우 text to video
커스텀 노드
세트 | ||||
---|---|---|---|---|
Canvas Tab | 마스크 이미지 생성 | |||
0 | ComfyUI's ControlNet Auxiliary Preprocessors | 자세등 처리 | 리눅스에서는 추가적으로 파이썬 디펜던시 추가해줘야함 | |
0 | ComfyUI_IPAdapter_plus | Image Prompt | [URL] https://www.internetmap.kr/entry/IP-Adapter-too-many | InsightFace 추가 필요 |
ComfyUI-SDXL-EmptyLatentImage | 이미지 사이즈 설정시 유리 | |||
ReActor Node for ComfyUI | 다른 얼굴로 바꾸기 | |||
Face Detailer / (a1111: ADetailer) | 얼굴 고치기 | |||
InstantID | IPAdapter 와 유사 + 인물 유지 | InsightFace 추가 필요, SDXL 전용 | ||
UltimateSDUpscale | 설정을 가진 업스케일러 | |||
pythongosssss/ComfyUI-Custom-Scripts | 편의기능 + workflow export | |||
ComfyUI-VideoHelperSuite | SVD, animationDiff 에서 필요 | |||
ComfyUI-Crystools | 컴퓨터 자원 모니터링 기능 |
ControlNet
- IP Adapter 등을 사용할때 text prompt 가 제대로 동작하지 않으면
weight
를 0.7정도로 낮춰서 사용해본다 - IP Adapter
Image Prompt
로 현재 이미지에 대한 Text Prompt 가 입력된것으로 간주된다라고 생각하면 이해가 편하다Plus
가 들어간 모델은 더 많은 토큰을 써서 원본을 최대한 유지
- Open Pose
- 이미지에서 자세를 분석해서 자세를 적용한다
Plus Face
옵션은 얼굴 유지- 인페인트 전용 체크포인트를 사용한다면 효과가 좋다
- 인페인트 칠한 부분만 IP 가 적용된다
- 모델 다운로드 후
- /ipdapter 생성 모델 복사
- /clip_vision 생성 후 encoder 모델(CLIP vision 에서 사용됨) 복사(이름 변경 필요)
- custom_nodes
- Apply IPAdapter
- Load IPAdapter Model
- Load CLIP Vision
- Batch Images - 이미지를 여러개 섞어서 입력하려는경우
Apply ControlNet
은 text prompt 의 positive 를 입력으로 받아KSampler
로 아웃된다*Preprocessor
, ControlNet 을 적용하기 위해 이미지의 특성을 추출하여 이미지를 생성한다
Upscale
- 업스케일
- 얼굴 복구를 위해서도 씀
ReActor
- 얼굴을 다른 사진의 인물과 바꿔준다
- 여러명 가능
- 비디오도 가능
ComfyUI-N-Nodes
설치 필요
InstantID
- SDXL (Turbo) 전용
- 사진 -> embedding -> keypoint(얼굴정보 추출)
- 눈 코입의 위치만 지정하므로, 원본 사진과 비슷한 표정을 하려면 text prompt 로 묘사를 추가한다
- 설정
Control Weight
0.5Ending Control Step
0.4 ~ 0.6- 사용하는 checkpoint 마다 추천 설정이있으니 확인할 것
SDXL Lightning
- checkpoint 1,2,4,8 step 용
- LoRA 도 제공, 이건 SDXL Lightning 대신 SDXL 모델을 사용하면서 LoRA 로 동일한 효과를 낼 수 있도록 함
사용
- ComfyUI Manager
- 컴스텀 노드 사용을 위해 사용됨
- 커스텀 노드는 일종의 익스텐션
- 컴스텀 노드 사용을 위해 사용됨
- AI 로 생성된 이미지를 드래그해서 넣으면 생성 노드가 나타남
- 그룹화 가능
- 노드이름 변경가능
- txt2img ->
KSampler
에 입력되는CLIP
에 의해 결정 - img2img ->
KSampler
에 입력되는latent_iamge
에 의해 결정 input
디렉토리에 이미지 넣어두면 기본로드가 가능
체크 포인트 사용
- 모델마다 설정값이 다르니 참고
여러프롬프트를 사용해서 이미지 합성
Conditioning (Set Area)
->Conditioining (Combine)
노드로 합성 후 샘플링- 주로 배경
denoising 중인 이미지 여러개의 이미지를 중간에 하나로 합쳐서 생성
KSampler Advanced
를 사용하여 denoising 중인 이미지를Latent Composite
노드를 통해 합성- 주로 배경 + 인물
개념
checkpoint
clip
- prompt(string) -> model 이 이해하는 형태
- text encoder 개념
model
- denoise 주체
vae
- latent image - model 이 이해하는 이미지
- pixel image - 우리가 보는 이미지
- latent image(from sampler) -> pixel image
- decoder
옵션
- CFG
- 프롬프트를 얼마나 따를것인지, 높을수록 따름
- sampler
- lcm 로라 사용지 lcm 샘플러 사용
- a1111 의 경우 lcm 샘플러는
AnimationDiff
에 포함되어있음
- a1111 의 경우 lcm 샘플러는
- lcm 로라 사용지 lcm 샘플러 사용
- KSampler:
denoise
-> 값이 높을 수록 랜덤성을 부여
error
DWPose: Onnxruntime not found or doesn't come with acceleration providers, switch to OpenCV with CPU device. DWPose might run very slowly
UserWarning: DWPose: Onnxruntime not found or doesn't come with acceleration providers, switch to OpenCV with CPU device. DWPose might run very slowly
- onnxruntime 이 없어서 가속을 받지 못하는 문제 관련 패키지 설치
pip install onnxruntime onnxruntime-gpu
- 확인
DWPose: Onnxruntime with acceleration providers detected