模型是必不可少的
模型是媒体生成工作流程的核心组件。通过组合和混合,它们能够实现多样化的创意效果。
模型 一词有多种含义。在这里,它指的是一种数据文件,包含节点图执行任务所需的信息。具体来说,它是一种数据结构,用于表示某种功能。作为动词,建模意味着对某物进行表示或提供示例。
在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 的示例文件ComfyUI/extra_model_paths.yaml.example
extra_model_paths.yaml 来使用, 并保持在 ComfyUI 的根目录下, 路径应该是 ComfyUI/extra_model_paths.yaml你也可以在 这里 找到配置示例文件 配置示例
比如,你需要额外让 ComfyUI 识别的模型文件位于下面的文件夹:
📁 YOUR_PATH/
  ├── 📁models/
  |   ├── 📁 loras/
  |   │   └── xxxxx.safetensors
  |   ├── 📁 checkpoints/
  |   │   └── xxxxx.safetensors
  |   ├── 📁 vae/
  |   │   └── xxxxx.safetensors
  |   └── 📁 controlnet/
  |       └── xxxxx.safetensors
my_custom_config:
    base_path: YOUR_PATH
    loras: models/loras/
    checkpoints: models/checkpoints/
    vae: models/vae/
    controlnet: models/controlnet/
my_custom_config:
    base_path: YOUR_PATH/models/
    loras: loras
    checkpoints: checkpoints
    vae: vae
    controlnet: controlnet
对于桌面版,请在原有配置路径下新增配置,而不覆盖掉安装过程中自动生成的路径配置,请在修改前备份对应的文件,这样在你配置错误时可以及时恢复
#Rename this to extra_model_paths.yaml and ComfyUI will load it
#config for a1111 ui
#all you have to do is change the base_path to where yours is installed
a111:
    base_path: path/to/stable-diffusion-webui/
    checkpoints: models/Stable-diffusion
    configs: models/Stable-diffusion
    vae: models/VAE
    loras: |
         models/Lora
         models/LyCORIS
    upscale_models: |
                  models/ESRGAN
                  models/RealESRGAN
                  models/SwinIR
    embeddings: embeddings
    hypernetworks: models/hypernetworks
    controlnet: models/ControlNet
#config for comfyui
#your base path should be either an existing comfy install or a central folder where you store all of your models, loras, etc.
#comfyui:
#     base_path: path/to/comfyui/
#     # You can use is_default to mark that these folders should be listed first, and used as the default dirs for eg downloads
#     #is_default: true
#     checkpoints: models/checkpoints/
#     clip: models/clip/
#     clip_vision: models/clip_vision/
#     configs: models/configs/
#     controlnet: models/controlnet/
#     diffusion_models: |
#                  models/diffusion_models
#                  models/unet
#     embeddings: models/embeddings/
#     loras: models/loras/
#     upscale_models: models/upscale_models/
#     vae: models/vae/
#other_ui:
#    base_path: path/to/ui
#    checkpoints: models/checkpoints
#    gligen: models/gligen
#    custom_nodes: path/custom_nodes
添加额外自定义节点路径
除了添加外部模型之外,你同样可以添加不在 ComfyUI 默认路径下的自定义节点路径
请注意,这并不会改变自定义节点的默认安装路径,只是在启动 ComfyUI 时会增加额外的路径搜索,你仍旧需要在对应的环境中完成自定义节点的依赖的安装,来保证其运行环境的完整性。
my_custom_nodes:
  custom_nodes: /Users/your_username/Documents/extra_custom_nodes
文件大小
相对于图像文件,模型文件可能非常大。一个典型的未压缩图像可能需要几MB的磁盘存储。生成的AI模型可能大到数万倍,单个模型可达数十GB。它们占用大量磁盘空间,并且在网络上传输需要很长时间。
模型训练和优化
生成式AI模型是通过在非常大的数据集上训练机器学习程序创建的,例如图像和文本描述的配对。AI模型并不明确存储训练数据,而是存储数据中隐含的相关性。
像Stability AI和Black Forest Labs这样的组织和公司发布“基础”模型,这些模型携带大量通用信息。这些是通用的生成AI模型。通常,基础模型需要进行优化,以获得高质量的生成输出。一个专门的社区致力于优化基础模型。新的优化模型产生更好的输出,提供新的或不同的功能,并/或使用更少的资源。优化后的模型通常可以在计算能力和/或内存较少的系统上运行。
辅助模型
模型功能可以通过辅助模型进行扩展。例如,艺术指导文本到图像的工作流程以实现特定结果,单靠扩散模型可能会很困难或不可能。额外的模型可以在工作流程图中优化扩散模型,以产生所需的结果。示例包括LoRA(低秩适应),一个针对特定主题训练的小模型;ControlNet,一个使用引导图像帮助控制构图的模型;以及Inpainting,一个允许某些扩散模型在现有图像中生成新内容的模型。
