模型
模型是必不可少的
模型是媒体生成工作流程的核心组件。通过组合和混合,它们能够实现多样化的创意效果。
模型 一词有多种含义。在这里,它指的是一种数据文件,包含节点图执行任务所需的信息。具体来说,它是一种数据结构,用于表示某种功能。作为动词,建模意味着对某物进行表示或提供示例。
在ComfyUI中,模型数据文件的典型示例是AI 扩散模型。它是一组庞大的数据集,表示文本与图像之间的复杂关系,从而实现文字与图片的相互转换。其他用于图像生成的常见模型示例包括多模态视觉和语言模型,如CLIP,以及图像放大模型,如RealESRGAN。
模型文件
模型文件是生成媒体制作的必需品。没有模型文件,工作流程将无法进行。ComfyUI安装包中不包含模型文件,但它通常可以自动下载并安装缺失的模型文件。许多模型可以通过ComfyUI管理器窗口下载和安装。模型还可以在以下网站获取:huggingface.co、civitai.green和github.com。
在ComfyUI中使用模型
- 下载并将其放置在ComfyUI程序目录中
- 在models文件夹中,您会找到各种类型模型的子文件夹,例如checkpoints
- ComfyUI管理器帮助自动化搜索、下载和安装的过程
- 如果ComfyUI正在运行,请重启它
- 在您的工作流程中,创建适合模型类型的节点,例如Load Checkpoints、Load LoRA、Load VAE
- 在加载节点中,选择您希望使用的模型
- 将加载节点连接到工作流程中的其他节点
添加外部模型路径
如果你下载了模型但 ComfyUI 无法找到它,你可能需要在 yaml 文件中添加额外的模型搜索路径。
示例场景
你需要添加一个动态 LoRA,你的模型位于 C:\Users\YourUsername\models\animatediff_motion_lora
。
解决方案
- 使用正确的模型类型属性名称在
extra_model_paths.yaml
文件中添加以下配置 - 重启 ComfyUI
重要提示: 针对不同模型类型使用正确的属性名称:
loras
- 用于 LoRA 模型checkpoints
- 用于 Checkpoints 模型vae
- 用于 VAE 模型controlnet
- 用于 ControlNet 模型clip
- 用于 CLIP 模型upscale_models
- 用于放大模型embeddings
- 用于文本反转嵌入configs
- 用于配置文件
例如,添加检查点模型:
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
- 打开 Finder,按
- Linux:
~/.config/ComfyUI/extra_models_config.yaml
- 打开文件管理器并导航到隐藏文件夹
~/.config/ComfyUI
- 打开文件管理器并导航到隐藏文件夹
如果该文件尚不存在,你可以使用任何文本编辑器自己创建它。
文件大小
相对于图像文件,模型文件可能非常大。一个典型的未压缩图像可能需要几MB的磁盘存储。生成的AI模型可能大到数万倍,单个模型可达数十GB。它们占用大量磁盘空间,并且在网络上传输需要很长时间。
模型训练和优化
生成式AI模型是通过在非常大的数据集上训练机器学习程序创建的,例如图像和文本描述的配对。AI模型并不明确存储训练数据,而是存储数据中隐含的相关性。
像Stability AI和Black Forest Labs这样的组织和公司发布“基础”模型,这些模型携带大量通用信息。这些是通用的生成AI模型。通常,基础模型需要进行优化,以获得高质量的生成输出。一个专门的社区致力于优化基础模型。新的优化模型产生更好的输出,提供新的或不同的功能,并/或使用更少的资源。优化后的模型通常可以在计算能力和/或内存较少的系统上运行。
辅助模型
模型功能可以通过辅助模型进行扩展。例如,艺术指导文本到图像的工作流程以实现特定结果,单靠扩散模型可能会很困难或不可能。额外的模型可以在工作流程图中优化扩散模型,以产生所需的结果。示例包括LoRA(低秩适应),一个针对特定主题训练的小模型;ControlNet,一个使用引导图像帮助控制构图的模型;以及Inpainting,一个允许某些扩散模型在现有图像中生成新内容的模型。