模型是必不可少的

模型是媒体生成工作流程的核心组件。通过组合和混合,它们能够实现多样化的创意效果。

模型 一词有多种含义。在这里,它指的是一种数据文件,包含节点图执行任务所需的信息。具体来说,它是一种数据结构,用于表示某种功能。作为动词,建模意味着对某物进行表示或提供示例。

在ComfyUI中,模型数据文件的典型示例是AI 扩散模型。它是一组庞大的数据集,表示文本与图像之间的复杂关系,从而实现文字与图片的相互转换。其他用于图像生成的常见模型示例包括多模态视觉和语言模型,如CLIP,以及图像放大模型,如RealESRGAN。

模型文件

模型文件是生成媒体制作的必需品。没有模型文件,工作流程将无法进行。ComfyUI安装包中不包含模型文件,但它通常可以自动下载并安装缺失的模型文件。许多模型可以通过ComfyUI管理器窗口下载和安装。模型还可以在以下网站获取:huggingface.cocivitai.greengithub.com

在ComfyUI中使用模型

  1. 下载并将其放置在ComfyUI程序目录中
    1. models文件夹中,您会找到各种类型模型的子文件夹,例如checkpoints
    2. ComfyUI管理器帮助自动化搜索、下载和安装的过程
    3. 如果ComfyUI正在运行,请重启它
  2. 在您的工作流程中,创建适合模型类型的节点,例如Load CheckpointsLoad LoRALoad VAE
  3. 在加载节点中,选择您希望使用的模型
  4. 将加载节点连接到工作流程中的其他节点

添加外部模型路径

如果你下载了模型但 ComfyUI 无法找到它,你可能需要在 yaml 文件中添加额外的模型搜索路径。

示例场景

你需要添加一个动态 LoRA,你的模型位于 C:\Users\YourUsername\models\animatediff_motion_lora

解决方案

  1. 使用正确的模型类型属性名称在 extra_model_paths.yaml 文件中添加以下配置
  2. 重启 ComfyUI
my_custom_config:
  loras: C:\Users\YourUsername\models\animatediff_motion_lora/

重要提示: 针对不同模型类型使用正确的属性名称:

  • loras - 用于 LoRA 模型
  • checkpoints - 用于 Checkpoints 模型
  • vae - 用于 VAE 模型
  • controlnet - 用于 ControlNet 模型
  • clip - 用于 CLIP 模型
  • upscale_models - 用于放大模型
  • embeddings - 用于文本反转嵌入
  • configs - 用于配置文件

例如,添加检查点模型:

my_custom_config:
  checkpoints: C:\Users\YourUsername\models\checkpoints/

YAML 配置文件位置

对于标准 ComfyUI 安装,请直接在 ComfyUI 文件夹(main.py 所在的位置)中创建 extra_model_paths.yaml 文件。

桌面应用程序说明

如果你使用的是 ComfyUI 桌面应用程序,配置文件的名称和位置都不同:

  • Windows:C:\Users\YourUsername\AppData\Roaming\ComfyUI\extra_models_config.yaml
    • 你可以在文件资源管理器地址栏中输入 %APPDATA%\ComfyUI 快速导航到此位置
  • macOS:~/Library/Application Support/ComfyUI/extra_models_config.yaml
    • 打开 Finder,按 Cmd+Shift+G 并输入 ~/Library/Application Support/ComfyUI
  • Linux:~/.config/ComfyUI/extra_models_config.yaml
    • 打开文件管理器并导航到隐藏文件夹 ~/.config/ComfyUI

如果该文件尚不存在,你可以使用任何文本编辑器自己创建它。

文件大小

相对于图像文件,模型文件可能非常大。一个典型的未压缩图像可能需要几MB的磁盘存储。生成的AI模型可能大到数万倍,单个模型可达数十GB。它们占用大量磁盘空间,并且在网络上传输需要很长时间。

模型训练和优化

生成式AI模型是通过在非常大的数据集上训练机器学习程序创建的,例如图像和文本描述的配对。AI模型并不明确存储训练数据,而是存储数据中隐含的相关性。

像Stability AI和Black Forest Labs这样的组织和公司发布“基础”模型,这些模型携带大量通用信息。这些是通用的生成AI模型。通常,基础模型需要进行优化,以获得高质量的生成输出。一个专门的社区致力于优化基础模型。新的优化模型产生更好的输出,提供新的或不同的功能,并/或使用更少的资源。优化后的模型通常可以在计算能力和/或内存较少的系统上运行。

辅助模型

模型功能可以通过辅助模型进行扩展。例如,艺术指导文本到图像的工作流程以实现特定结果,单靠扩散模型可能会很困难或不可能。额外的模型可以在工作流程图中优化扩散模型,以产生所需的结果。示例包括LoRA(低秩适应),一个针对特定主题训练的小模型;ControlNet,一个使用引导图像帮助控制构图的模型;以及Inpainting,一个允许某些扩散模型在现有图像中生成新内容的模型。