在 Google Colab 上运行 ComfyUI

ComfyUI Wiki

本文介绍了如何在云端平台上运行 ComfyUI,包括使用 Google Colab 和其他在线平台的方法。

ℹ️ 更新说明: 此页面可能不总是反映最新信息。请查看官方文档获取最新引导。

在 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

在 Google Colab 上运行 ComfyUI

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

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

编辑和修改 .ipynb(可选)

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

在默认配置中,官方提供的脚本下载的模型和文件较少。如果你需要使用一些额外的模型,可以对 comfyui_colab.ipynb 文件进行编辑。建议下载并安装 VSCode 来编辑 .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 的方式,我们按需选择其中一个即可。

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

使用 VSCode 打开代码编辑,如下所示: comfyui_colab_preview

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

下载一些模型/检查点/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/

如果你想要下载额外的模型,只需取消对应 #!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/

如果你不熟悉具体应该放到哪个文件夹,请参考 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,则需要构建类似如下的命令:

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

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

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

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

1. 准备工作

  1. 首先,您需要一个 Google 账号。如果还没有,请前往 Google 官网 注册一个。
  2. 登录您的 Google 账号后,访问 Google Colab
  3. 准备(可选)您修改完成的 .ipynb 文件。

2. 打开 ComfyUI Colab 笔记本

Colab 可以在帮助菜单中修改语言选项。
  1. 在 Colab 页面,点击顶部菜单栏的 "文件" > "打开笔记本"。
open-notebook
  1. 在弹出的窗口中,选择 "GitHub" 选项卡;如果是您编辑过的文件,选择 "上传"。

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

3. Run ComfyUI with colab iframe 这种运行方式不需要打开 URL。运行完成后,会在代码块下方显示操作界面。

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

关闭 Google Colab

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

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

注意事项

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

其他在线平台运行 ComfyUI

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

评论

使用 GitHub 登录后即可参与讨论。

评论加载中…