在云端运行 ComfyUI

在 Google Colab 上运行 ComfyUI

ComfyUI 不仅可以在本地安装,还可以在云端平台上运行。本文将介绍如何在 Google Colab 上运行 ComfyUI,这是一种便捷的云端使用方法。

Google Colab 的特点和优势

Google Colab(Colaboratory)是 Google 提供的一个免费的云端 Jupyter 笔记本环境,它具有以下特点和优势:

  1. 免费使用:Google Colab 提供免费的 GPU 和 TPU 资源,让用户可以无需本地硬件即可运行深度学习模型。

  2. 预装环境:Colab 预装了许多常用的机器学习和数据科学库,如 TensorFlow、PyTorch、OpenCV 等,省去了环境配置的麻烦。

  3. 协作功能:可以轻松地与他人共享和协作编辑笔记本,非常适合团队项目和教学使用。

  4. 与 Google Drive 集成:可以直接从 Google Drive 中加载数据和保存结果,方便数据管理。

  5. 在线运行:只需要一个浏览器就可以运行代码,不受设备和操作系统的限制。

  6. 持久化存储:虽然运行环境是临时的,但可以将代码和数据保存到 Google Drive,实现持久化存储。

  7. 社区支持:有大量的示例笔记本和社区支持,可以快速学习和解决问题。

对于 ComfyUI 用户来说,使用 Google Colab 运行 ComfyUI 可以避免本地安装的复杂性,同时利用云端的强大计算资源,特别适合没有高性能 GPU 的用户或者想要快速尝试 ComfyUI 的新手。

💡

如果你只是尝试运行ComfyUI Google 有提供了一定了免费使用额度,如果你是长期使用建议开通 Colab Pro 或者 Pro+ 注册开通地址:https://colab.research.google.com/signup (opens in a new tab)

在 Google Colab 上运行 ComfyUI

Google Colab 是一个免费的云端 Jupyter 笔记本环境,非常适合用来运行 ComfyUI, 不过有一定的使用时长限制 Comfyui 官方提供了对应的脚本,你可以在 comfyui_colab.ipynb (opens in a new tab) 找到对应的文件

🚀

.ipynb 文件是 Jupyter Notebook 文件格式。使用这个文件可以在 Google Colab 上运行 创建一个虚拟环境用于运行各类型的应用

编辑和修改 .ipynb (可选)

💡

这个部分的内容是可选的,如果你不需要额外的模型和安装额外插件等,这一部分的说明会比较冗长,你可以直接跳转到下一个部分直接使用官方默认的配置开始,后续如果需要自己修改配置再查看这部分的内容

在默认的配置下,官方提供的脚本下载的模型和文件比较少,如果你需要使用一些额外的模型,可以对 comfyui_colab.ipynb 文件进行编辑,建议下载并安装 Vscode (opens in a new tab) .ipynb 进行编辑 官方的代码主要提供了以下步骤

  1. 环境设置 设置工作环境和选项,包括是否使用 Google Drive 存储和是否更新 ComfyUI。此部分确保所需的依赖和文件被正确配置。

  2. 下载模型和检查点 负责从外部源下载所需的模型和检查点,供后续使用。用户可以根据需要选择下载特定的模型。

  3. 运行 ComfyUI 这一部分分为三个子部分,提供不同的方式来访问 ComfyUI:

  • 3.1 使用 Cloudflared 通过 Cloudflared 创建一个隧道,使外部用户能够访问运行的 ComfyUI。

  • 3.2 使用 Localtunnel 使用 Localtunnel 生成一个外部可访问的链接,以便访问 ComfyUI。

  • 3.3 使用 Colab IFrame 在 Colab 笔记本中通过 iframe 显示 ComfyUI 界面,便于用户在同一环境中操作。

  • 第一步环境配置我们一般你按默认运行

  • 第二步会要求下载额外的模型和文件,并且提供了常用模型的下载,在这一步我们需要按需来添加调整修改

  • 第三步,是安装运行完成后如何运行 ComfyUI 的方式,我们按需选择其中一个即可

按需修改第二步中需要下载的 ComfyUI 模型

使用 Vscode 打开代码编辑如下 comfyui_colab_preview

如下面的图片所示,我们可以注意到官方在这里有写了提示

原文: Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want) 中文:下载一些模型/检查点/vae或自定义comfyui节点(取消注释您想要的命令) 你可以看到在不同部分都有备注好了对应的模型,比如下面部分的 Checkpoints 模型

# Checkpoints
 
### SDXL
### I recommend these workflow examples: 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/

比如在默认的脚本里是只下载了 SD1.5 的模型

# 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 文件地址 -P .模型路径

就像下面这个下载 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 文件结构 部分的说明

按需下载 ComfyUI 的自定义节点(插件)

官方示例中提供的安装自定义插件代码示例如下

#!cd custom_nodes && git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; cd comfy_controlnet_preprocessors && python install.py

这边的代码分为几个步骤

  1. !cd custom_nodes 进入 custom_nodes 文件夹,这是 comfyUI 插件的安装文件夹

  2. git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; 使用 git 克隆对应的代码到这个文件夹,它会在 custom_nodes下创建一个 comfy_controlnet_preprocessors 文件夹用于存储插件代码

  3. cd comfy_controlnet_preprocessors 进入刚克隆的的插件文件夹

  4. python install.py 使用 python 运行安装插件依赖的脚本,需要查看对应的插件安装依赖的方式,有的插件可能没有提供 install.py 文件而只有 requirements.txt 这个文件,则最后的命令需要修改成pip install -r requirements.txt

比如你需要安装插件 ComfyUI-Manager (opens in a new tab), 则你需要构建类似如下的命令

!cd custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Manager; cd pip install -r requirements.txt

这样可以实现单独安装 ComfyUI-Manager 这个插件并安装相关依赖的目的

编辑完成后保存对应的 .ipynb 文件用于后续流程

以下是使用 ComfyUI 版本的.ipynb 配置的步骤说明:

1. 准备工作

  1. 首先,您需要一个 Google 账号。如果还没有,请前往 Google 官网 (opens in a new tab) 注册一个。

  2. 登录您的 Google 账号后,访问 Google Colab (opens in a new tab)

  3. 准备(可选)你修改完成的 .ipynb 文件

2. 打开 ComfyUI Colab 笔记本

💡

Colab 可以在 帮助菜单修改语言选项

  1. 在 Colab 页面,点击顶部菜单栏的 "文件/Files" > "打开笔记本/Open Notebook"。

open-notebook

  1. 在弹出的窗口中,选择 "GitHub" 选项卡,如果是你编辑过的文件选择 "上传/upload"

  2. 在搜索框中输入以下 URL:

    https://github.com/comfyanonymous/ComfyUI/blob/master/notebooks/comfyui_colab.ipynb

open-notebook

  1. 点击搜索结果中的 comfyui_colab.ipynb 文件。

3. 运行 Notebook 完成运行环境和模型文件插件安装

  1. 笔记本打开后,您会看到一系列的代码单元格。

  2. 从顶部开始,依次点击每个代码单元格左侧的播放按钮,或使用快捷键 Shift+Enter 来运行代码。

open-notebook

你需要等待对应的代码运行完成显示 "done" 后再运行下一个代码单元格,先运行前两个代码单元格用于安装对应的环境和依赖,后续的代码单元格是用于选择运行方式的

4. 选择运行 ComfyUI 的方式

在提供的配置文件里,提供了三种运行的方式,你只需要选择其中一个方式运行即可

  1. Run ComfyUI with cloudflared (推荐)
  2. Run ComfyUI with localtunnel
  3. Run ComfyUI with colab iframe (当第二个运行方式无法使用时)

1.Run ComfyUI with cloudflared 运行完成后你会看到

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.Run ComfyUI with localtunnel 运行完成后你会看到类似

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 ,然后在打开的页面的 Tuneel Password 中填写上面的 password 比如在我的例子中是 34.125.230.29,这样就可以运行

3.Run ComfyUI with colab iframe

这个运行方式的话不用打开 URL 运行完成之后会在代码块下方展示操作界面

使用完成后记得及时停止对应的运行实例,否则会扣除运行时间

关闭 Google Colab

后续如何使用创建过的笔记本文件?

你使用过的笔记本文件会自动保存到你的 google drive 中,你可以随时打开对应的笔记本文件,然后点击右上角的 "运行" 按钮即可重新运行

注意事项

  • Google Colab 的免费版本有使用时间限制,通常为几个小时。如果需要长时间使用,可以考虑升级到付费版本。
  • 每次使用完毕后,记得保存您的工作并关闭 Colab 笔记本,以释放资源。
  • 由于是在云端运行,上传和下载文件可能会比本地运行稍慢一些。

其他在线平台运行 ComfyUI

除了 Google Colab,还有其他一些在线平台提供了 ComfyUI 的运行环境: