模型是必不可少的
模型是媒体生成工作流程的核心组件。通过组合和混合,它们能够实现多样化的创意效果。
模型 一词有多种含义。在这里,它指的是一种数据文件,包含节点图执行任务所需的信息。具体来说,它是一种数据结构,用于表示某种功能。作为动词,建模意味着对某物进行表示或提供示例。
在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/models 之外管理你的模型文件,可能出于以下原因:
- 你有多个 ComfyUI 实例,你想要让这些实例共享模型文件,从而减少磁盘占用
- 你有多个不同的类型的 GUI 程序,如:WebUI, 你想要他们共用模型文件
- 模型文件无法被识别或读取到
我们提供了通过 extra_model_paths.yaml 配置文件来添加额外模型搜索路径的方法。
不同 ComfyUI 版本配置文件位置
Portable 及自部署
ComfyUI Desktop
对于便携版和手动安装的 ComfyUI版本,你可以在 ComfyUI 的根目录下找到 extra_model_paths.yaml.example 的示例文件复制并重命名为 extra_model_paths.yaml 来使用, 并保持在 ComfyUI 的根目录下, 路径应该是 ComfyUI/extra_model_paths.yaml你也可以在 这里 找到配置示例文件 如果你使用的是 ComfyUI 桌面应用程序,你可以参考下图打开额外模型的配置文件:
或者通过下面的位置打开:对应的配置文件不应该被改变
配置示例
比如,你需要额外让 ComfyUI 识别的模型文件位于下面的文件夹:
那么你可以进行如下的配置来让 ComfyUI 识别到你设备上的模型路径
或者使用
对于桌面版,请在原有配置路径下新增配置,而不覆盖掉安装过程中自动生成的路径配置,请在修改前备份对应的文件,这样在你配置错误时可以及时恢复
或者你也可以参考默认的 extra_model_paths.yaml.example 来配置,保存之后, 需要 重启 ComfyUI 才能生效。
下面是完整的原始的配置配置示例:
添加额外自定义节点路径
除了添加外部模型之外,你同样可以添加不在 ComfyUI 默认路径下的自定义节点路径
请注意,这并不会改变自定义节点的默认安装路径,只是在启动 ComfyUI 时会增加额外的路径搜索,你仍旧需要在对应的环境中完成自定义节点的依赖的安装,来保证其运行环境的完整性。
下面是一个简单的配置示例(Mac 系统),请根据你的实际情况进行修改,并新增到对应的配置文件中,保存后需要 重启 ComfyUI 才能生效:
文件大小
相对于图像文件,模型文件可能非常大。一个典型的未压缩图像可能需要几MB的磁盘存储。生成的AI模型可能大到数万倍,单个模型可达数十GB。它们占用大量磁盘空间,并且在网络上传输需要很长时间。
模型训练和优化
生成式AI模型是通过在非常大的数据集上训练机器学习程序创建的,例如图像和文本描述的配对。AI模型并不明确存储训练数据,而是存储数据中隐含的相关性。
像Stability AI和Black Forest Labs这样的组织和公司发布“基础”模型,这些模型携带大量通用信息。这些是通用的生成AI模型。通常,基础模型需要进行优化,以获得高质量的生成输出。一个专门的社区致力于优化基础模型。新的优化模型产生更好的输出,提供新的或不同的功能,并/或使用更少的资源。优化后的模型通常可以在计算能力和/或内存较少的系统上运行。
辅助模型
模型功能可以通过辅助模型进行扩展。例如,艺术指导文本到图像的工作流程以实现特定结果,单靠扩散模型可能会很困难或不可能。额外的模型可以在工作流程图中优化扩散模型,以产生所需的结果。示例包括LoRA(低秩适应),一个针对特定主题训练的小模型;ControlNet,一个使用引导图像帮助控制构图的模型;以及Inpainting,一个允许某些扩散模型在现有图像中生成新内容的模型。
