Google Colab에서 ComfyUI 실행하기
ComfyUI는 로컬 설치뿐만 아니라 클라우드 플랫폼에서도 실행할 수 있습니다. 이 문서에서는 Google Colab을 사용하여 ComfyUI를 실행하는 방법을 소개합니다. 이는 클라우드 기반의 편리한 방법입니다.
Google Colab의 특징 및 장점
Google Colab (Colaboratory)은 Google에서 제공하는 무료 클라우드 기반 Jupyter 노트북 환경입니다. 다음과 같은 특징과 장점이 있습니다:
-
무료 사용: Google Colab은 무료 GPU 및 TPU 자원을 제공하여 사용자가 로컬 하드웨어 없이도 딥러닝 모델을 실행할 수 있습니다.
-
사전 설치된 환경: Colab은 TensorFlow, PyTorch, OpenCV 등 많은 일반적인 머신러닝 및 데이터 과학 라이브러리가 사전 설치되어 있어 환경 설정의 번거로움을 줄여줍니다.
-
협업 기능: 다른 사람과 노트북을 쉽게 공유하고 공동 편집할 수 있어 팀 프로젝트 및 교육에 이상적입니다.
-
Google Drive와의 통합: Google Drive에서 데이터를 직접 로드하고 결과를 저장할 수 있어 데이터 관리가 용이합니다.
-
온라인 실행: 코드 실행에 브라우저만 필요하며, 기기나 운영 체제에 제한받지 않습니다.
-
지속적인 저장: 실행 환경은 일시적이지만, 코드를 Google Drive에 저장하여 지속적으로 보관할 수 있습니다.
-
커뮤니티 지원: 많은 예제 노트북과 커뮤니티 지원이 있어 빠른 학습과 문제 해결이 가능합니다.
ComfyUI 사용자에게 Google Colab을 사용하여 ComfyUI를 실행하는 것은 로컬 설치의 복잡성을 피하면서 강력한 클라우드 컴퓨팅 자원을 활용할 수 있는 방법입니다. 고성능 GPU가 없거나 ComfyUI를 빠르게 시도해보고 싶은 초보자에게 특히 적합합니다.
ComfyUI를 처음 시도하는 경우, Google은 일정량의 무료 사용을 제공합니다. 장기 사용자라면 Colab Pro 또는 Pro+ 구독을 추천합니다. 등록 및 구독 링크: https://colab.research.google.com/signup
Google Colab에서 ComfyUI 실행하기
Google Colab은 무료 클라우드 기반 Jupyter 노트북 환경으로, ComfyUI를 실행하기에 매우 적합하지만 사용 시간 제한이 있습니다. ComfyUI는 공식적으로 관련 스크립트를 제공하며, comfyui_colab.ipynb에서 찾을 수 있습니다.
.ipynb 파일은 Jupyter Notebook 파일 형식입니다. 이 파일을 사용하여 Google Colab에서 다양한 유형의 애플리케이션을 실행하고 가상 환경을 만들 수 있습니다.
.ipynb 편집 및 수정 (선택 사항)
이 부분은 선택 사항입니다. 추가 모델 및 플러그인 설치가 필요하지 않다면 이 섹션은 길어질 수 있습니다. 다음 부분으로 넘어가 공식 기본 설정으로 바로 시작할 수 있습니다. 설정을 직접 수정해야 할 경우 나중에 이 섹션을 참조할 수 있습니다.
기본 설정에서는 공식 소스에서 제공하는 스크립트가 적은 수의 모델과 파일을 다운로드합니다. 추가 모델이 필요하다면 comfyui_colab.ipynb
파일을 편집할 수 있습니다. .ipynb 파일을 편집하려면 VSCode를 다운로드 및 설치하는 것이 좋습니다.
공식 코드는 주로 다음 단계를 제공합니다:
-
환경 설정 작업 환경 및 옵션을 설정하며, Google Drive 저장소 사용 여부 및 ComfyUI 업데이트 여부를 포함합니다. 이 부분은 필요한 종속성과 파일이 올바르게 구성되었는지 확인합니다.
-
모델 및 체크포인트 다운로드 외부 소스에서 필요한 모델 및 체크포인트를 다운로드하여 이후 사용을 준비합니다. 사용자는 필요에 따라 특정 모델을 선택하여 다운로드할 수 있습니다.
-
ComfyUI 실행 이 부분은 세 개의 하위 섹션으로 나뉘어져 있으며, ComfyUI에 접근하는 다양한 방법을 제공합니다:
-
3.1 Cloudflared 사용 Cloudflared를 통해 터널을 생성하여 외부 사용자가 실행 중인 ComfyUI에 접근할 수 있도록 합니다.
-
3.2 Localtunnel 사용 Localtunnel을 사용하여 외부에서 접근 가능한 링크를 생성하여 ComfyUI에 접근합니다.
-
3.3 Colab IFrame 사용 Colab 노트북 내의 iframe을 통해 ComfyUI 인터페이스를 표시하여 동일한 환경에서 사용자가 조작할 수 있도록 합니다.
-
환경 설정의 첫 번째 단계는 일반적으로 기본값으로 실행합니다.
-
두 번째 단계에서는 추가 모델 및 파일 다운로드가 필요하며, 일반적으로 사용되는 모델에 대한 다운로드를 제공합니다. 이 단계에서는 필요에 따라 추가 및 수정이 필요합니다.
-
세 번째 단계는 설치 및 설정 완료 후 ComfyUI를 실행하는 방법에 관한 것입니다. 필요에 따라 이 방법 중 하나를 선택합니다.
두 번째 단계에서 모델 파일 수정 필요 시
아래와 같이 VSCode에서 코드를 열어 편집합니다.
아래 이미지에서 볼 수 있듯이, 공식 소스에서 힌트를 작성해 두었습니다.
원문: Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want) 한국어: 일부 모델/체크포인트/vae 또는 사용자 정의 comfyui 노드를 다운로드합니다 (원하는 명령의 주석을 해제하세요) 아래 섹션의 체크포인트 모델과 같이 각 부분에 해당하는 모델이 주석으로 표시되어 있습니다.
- 환경 설정의 첫 번째 단계는 일반적으로 기본값으로 실행합니다.
- 두 번째 단계에서는 추가 모델 및 파일 다운로드가 필요하며, 일반적으로 사용되는 모델에 대한 다운로드를 제공합니다. 이 단계에서는 필요에 따라 추가 및 수정이 필요합니다.
- 세 번째 단계는 설치 및 설정 완료 후 ComfyUI를 실행하는 방법에 관한 것입니다. 필요에 따라 이 방법 중 하나를 선택합니다.
두 번째 단계에서 모델 파일 수정 필요 시
아래와 같이 VSCode에서 코드를 열어 편집합니다.
아래 이미지에서 볼 수 있듯이, 공식 소스에서 힌트를 작성해 두었습니다.
Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want)
아래 섹션의 체크포인트 모델과 같이 각 부분에 해당하는 모델이 주석으로 표시되어 있습니다.
# Checkpoints
### SDXL
### 이러한 워크플로우 예제를 추천합니다: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/
# SDXL ReVision
#!wget -c https://huggingface.co/comfyanonymous/clip_vision_g/resolve/main/clip_vision_g.safetensors -P ./models/clip_vision/
# SD1.5
!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/
# SD2
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/
추가 모델을 다운로드하려면 해당 #!wget
명령어 앞의 #
을 제거하여 주석 처리를 해제하세요. 이렇게 하면 실제 실행 중에 해당 모델이 지정된 경로에 다운로드됩니다. 예를 들어, SDXL 모델을 다운로드하려면 다음과 같이 해당 줄의 주석을 해제합니다:
# SD1.5
!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/
추가 모델을 다운로드하려면 해당 #!wget
명령어 앞의 #
을 제거하여 주석 처리를 해제하세요. 이렇게 하면 실제 실행 중에 해당 모델이 지정된 경로에 다운로드됩니다. 예를 들어, SDXL 모델을 다운로드하려면 다음과 같이 해당 줄의 주석을 해제합니다:
!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/
!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/
사용자 정의 모델을 추가하려면 source
섹션에 해당 코드를 추가할 수 있습니다
!wget -c file_address -P .model_path
아래와 같이 sd_xl_refiner_1.0.safetensors를 ./models/checkpoints/ 폴더에 다운로드하는 것과 같습니다
"!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/\n",
어떤 폴더에 넣어야 할지 잘 모르겠다면, ComfyUI 파일 구조 섹션을 참조하세요.
필요한 경우 사용자 정의 플러그인을 다운로드하는 스크립트 추가
공식 예제는 사용자 정의 플러그인을 설치하기 위한 다음 코드 예제를 제공합니다
#!cd custom_nodes && git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; cd comfy_controlnet_preprocessors && python install.py
이 코드는 여러 단계로 나뉩니다
-
!cd custom_nodes
custom_nodes 폴더로 들어갑니다. 이 폴더는 ComfyUI 플러그인의 설치 폴더입니다 -
git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors;
git을 사용하여 해당 코드를 이 폴더에 복제합니다. custom_nodes 아래에 comfy_controlnet_preprocessors 폴더가 생성되어 플러그인 코드를 저장합니다 -
cd comfy_controlnet_preprocessors
새로 복제된 플러그인 폴더로 들어갑니다 -
python install.py
Python을 사용하여 스크립트를 실행하여 플러그인 종속성을 설치합니다. 해당 플러그인이 종속성을 어떻게 설치하는지 확인해야 합니다. 일부 플러그인은 install.py 파일을 제공하지 않고 requirements.txt 파일만 제공할 수 있으며, 이 경우 마지막 명령을pip install -r requirements.txt
로 수정해야 합니다
예를 들어, ComfyUI-Manager 플러그인을 설치해야 하는 경우 다음과 유사한 명령을 구성해야 합니다
!cd custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Manager; cd pip install -r requirements.txt
ComfyUI-Manager 플러그인을 개별적으로 설치하고 관련 종속성을 설치할 수 있습니다.
편집 후, 후속 프로세스를 위해 해당 .ipynb 파일을 저장하세요.
공식 버전의 .ipynb 설정을 사용하는 단계는 다음과 같습니다:
1. 준비
-
먼저, Google 계정이 필요합니다. 아직 계정이 없다면, Google 공식 웹사이트에서 등록하세요.
-
Google 계정에 로그인한 후, Google Colab을 방문하세요.
-
(선택 사항) 수정된 .ipynb 파일을 준비하세요.
2. ComfyUI Colab 노트북 열기
Colab에서는 도움말 메뉴에서 언어 옵션을 변경할 수 있습니다.
- Colab 페이지에서 상단 메뉴 바의 “파일” > “노트북 열기”를 클릭하세요.
-
팝업 창에서 “GitHub” 탭을 선택하거나, 편집한 파일이라면 “업로드”를 선택하세요.
-
검색 상자에 다음 URL을 입력하세요:
https://github.com/comfyanonymous/ComfyUI/blob/master/notebooks/comfyui_colab.ipynb
- 검색 결과에서
comfyui_colab.ipynb
파일을 클릭하세요.
3. 노트북 실행하여 런타임 환경 및 모델 파일 플러그인 설치 완료하기
-
노트북이 열리면 여러 개의 코드 셀이 보일 것입니다.
-
맨 위부터 각 코드 셀의 왼쪽에 있는 재생 버튼을 클릭하거나, 단축키 Shift+Enter를 사용하여 코드를 실행하세요.
해당 코드가 실행을 완료하고 “done”이라고 표시될 때까지 기다린 후 다음 코드 셀을 실행해야 합니다. 먼저 첫 두 코드 셀을 실행하여 해당 환경과 종속성을 설치하고, 이후의 코드 셀은 실행 방법을 선택하는 것입니다.
4. ComfyUI 실행 방법 선택하기
제공된 설정 파일에는 세 가지 실행 방법이 제공됩니다. 이 중 하나만 선택하여 실행하면 됩니다.
- cloudflared를 사용하여 ComfyUI 실행 (권장)
- localtunnel을 사용하여 ComfyUI 실행
- colab iframe을 사용하여 ComfyUI 실행 (두 번째 실행 방법이 불가능할 때)
ComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)
This is the URL to access ComfyUI: https://xxxxxx.trycloudflare.com
마지막 URL을 클릭하여 ComfyUI에 접속하세요
2. localtunnel을 사용하여 ComfyUI 실행하기 실행 후, 다음과 같은 메시지가 나타날 것입니다
ComfyUI finished loading, trying to launch localtunnel (if it gets stuck here localtunnel is having issues)
The password/enpoint ip for localtunnel is: 34.125.230.29
your url is: https://xxxx.loca.lt
마지막 URL을 클릭한 후, 열린 페이지에 위의 비밀번호를 입력하세요. 예를 들어, 제 경우에는 34.125.230.29
입니다. 이렇게 하면 실행할 수 있습니다.
3. colab iframe을 사용하여 ComfyUI 실행하기
이 실행 방법은 URL을 열 필요가 없습니다. 실행 후, 코드 블록 아래에 작업 인터페이스가 표시됩니다.
사용 후에는 해당 실행 인스턴스를 즉시 중지해야 합니다. 그렇지 않으면 실행 시간이 차감됩니다.
생성된 노트북 파일을 나중에 사용하는 방법?
사용한 노트북 파일은 자동으로 Google Drive에 저장됩니다. 언제든지 해당 노트북 파일을 열고 오른쪽 상단의 “Run” 버튼을 클릭하여 다시 실행할 수 있습니다.
- Google 계정에 로그인한 후 https://drive.google.com/drive/my-drive
- Colab Notebooks 폴더를 클릭하세요.
- 이전에 실행한 .ipynb 파일을 찾아 colab에 들어갑니다.
주의 사항
- Google Colab의 무료 버전은 사용 시간 제한이 있으며, 일반적으로 몇 시간입니다. 장시간 사용이 필요하다면 유료 버전으로 업그레이드를 고려하세요.
- 각 사용 후에는 작업을 저장하고 Colab 노트북을 닫아 리소스를 해제하세요.
- 클라우드에서 실행되므로, 파일 업로드 및 다운로드가 로컬 실행보다 약간 느릴 수 있습니다.
다른 온라인 플랫폼에서 ComfyUI 실행하기
Google Colab 외에도 ComfyUI 실행 환경을 제공하는 다른 온라인 플랫폼이 있습니다:
- ComfyUI Web | 영어 사이트: https://huggingface.co/spaces/kadirnar/ComfyUI-Demo