티스토리 뷰

카테고리 없음

ComfyUI MacOS에 설치하기

tech_curioso 2024. 3. 21. 14:30
728x90
반응형

들어가기

설치 환경: M1 Macbook Pro (16GB, Sonoma)

 

Stable Diffusion 모델을 활용하기 위한 UI 중 플로우 단위로 설계가 가능한 ComfyUI를 알게 되었다.

공부해보기 위해 M1 MacBook Pro에 설치 작업을 한 내용을 작성한다. 

 

 

conda 설치하기(miniconda) 

comfyUI 깃헙에서 설치 방법이 안내되어 있고 윈도우, 맥, 리눅스 모두 지원한다. 

기본적으로 conda 환경안에  pytorch nightly 버전 상에서 돌아가고 있다. 

지금은 잘 확실하지 않지만 애플칩을 위해 conda(아나콘다)를 대신하기 위해 초창기에 miniforge가 있었는데 이 도구 대신에 miniconda를 새로 설치해서 깔아야 해서 기존의 miniforge를 쓰고 있던 나는 이 패키지를 지우고 miniconda를 설치해야 했다. 

 

minoconda를 설치해서 무리 없이 쓰고 있는 사람은 곧바로 개발 가상 환경  구축 단계로 넘어가면 된다. 

miniforge 지우기 

다음 링크를 참조하여 따라하면 된다.

https://github.com/conda-forge/miniforge#uninstallation

 

GitHub - conda-forge/miniforge: A conda-forge distribution.

A conda-forge distribution. Contribute to conda-forge/miniforge development by creating an account on GitHub.

github.com

 

conda init --reverse --dry-run
conda init --reverse


CONDA_BASE_ENVIRONMENT=$(conda info --base)
rm -rf ${CONDA_BASE_ENVIRONMENT}


rm -f "${HOME}/.condarc"
rm -fr ${HOME}/.conda

 

miniconda 설치하기 

맥 brew 패키지로 간단하게 설치가 가능하다.

brew install miniconda

 

설치된 미니콘다가 셸에서 사용 가능한 상태로 초기화 해준다.

conda init zsh
source ~/.zshrc

 

이제 콘다 환경으로 개발 패키지 환경을 관리할 수 있게 된다.

 

comfyui  개발 환경 구축 

개발 환경 구축

파이토치를 설치하기 위한 환경을 콘다로 먼저 구축한다. 

conda create --name comfyui python=3.10

 

구축한 comfyui 환경을 활성화 시킨다. 

conda activate comfyui

 

터미널 창에 (comfyui)로 시작하는 패키지 환경으로 바뀌게 된다. 

 

파이토치 설치

pytorch-nightly 버전을  conda를 이용해서 설치한다.

conda install pytorch torchvision torchaudio -c pytorch-nightly

 

comfyui  설치 

 

소스 복사

comfyui 깃헙 소스를 원하는 폴더를 만들고 그 안에 클론한다. 

 git clone https://github.com/comfyanonymous/ComfyUI.git

 

체크 포인트(모델 파일) 복사

github 설치 안내 파일에 다음과 같은 체크 포인트 파일들을 찾아서 넣으라는 메시지가 있다.

Put your SD checkpoints (the huge ckpt/safetensors files) in: models/checkpoints

Put your VAE in: models/vae

 

검색 해보니 학습된 결과물인 체크포인트 파일을 허깅 페이스의 stabilityai가 공유한 링크에서 다운 받아 해당 폴더로 넣어야 한다.

 

다음 파일을 models/checkpoints 폴더에 넣으면 된다. 

https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main/vae_1_0

 

stabilityai/stable-diffusion-xl-base-1.0 at main

 

huggingface.co

https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/tree/main

 

stabilityai/stable-diffusion-xl-refiner-1.0 at main

 

huggingface.co

 

다음 파일을 models/vae에 넣으면 된다. 

https://huggingface.co/stabilityai/sdxl-vae/tree/main

 

stabilityai/sdxl-vae at main

Detected Pickle imports (3) "collections.OrderedDict", "torch._utils._rebuild_tensor_v2", "torch.FloatStorage" What is a pickle import?

huggingface.co

 

예를 들어 다음과 같이 탐색기 창에 다운로드 받은 폴더를 이동시켜 넣는다.

 

앞으로 comfyui에 맞게 설계된 다른 모델 파일들이 이렇게 확장될 수 있다고 생각하니 마음이 웅장해 진다. 

 

관련 패키지 설치

파이토치외에 관련 패키지가 requirement.txt에 기술되어 있으므로 다음 명령어를 이용하여 설치한다.

pip install -r requirement.txt

 

 

 

comfyui  실행

이제 다음 명령어로 소스를 실행시킨다.

python main.py --force-fp16

 

디스플레이 되는 메시지 마지막에 웹 주소가 나타나는데 이 링크를 누르거나 브라우저에 타이핑해 접속한다.

Total VRAM 16384 MB, total RAM 16384 MB
Forcing FP16.
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

 

다음과 같이 브라우저에 comfyui 화면이 보이게 된다. 

 

'Queue Prompt'가 일종의 실행에 해당하는 것으로 실행되는 블럭을 녹색 가장자리 표시로 보여주고 실행이 완료되면 마지막 노드에 생성된 이미지가 다음 그림과 같이 나타내는 것을 알 수 있다.

 

 

 

 

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함