当前位置: 首页 > web >正文

comfyUI背后的一些技术——Checkpoints

Checkpoints

Checkpoints本来指的是使用tensorflow训练存储的中间节点,便于继续训练。对应的是yTorch保存模型参数的格式.pt。

在comfyUI中的Checkpoints特指的是基座大模型。它是生成图片的核心模块,潜空间中的前向扩散和反向扩散就是通过它做的,也决定了生成图片的基本风格。

来源

下载Stable diffusion 的渠道有很多,Hugging Face 、Civitai、LIbLib等等,下面几种常用的模型都来自以上的网站:

来源Base Model风格

  • v1-5-pruned-emaonly-fp16.safetensors
Hugging FaceSD 1.5最经典的模型,适用于通用场景
  • FLUX.1-Krea-dev_ComfyUI
Hugging FaceF.1
  • F.1-Krea-dev-scaled-fp8

 
LIbLibF.1

wan2.2_t2v_low_noise_14B_fp16


 
LIbLib通义万相2.2
  • Dreamshaper 8
CivitaiSD 1.5

  • Anything V5
CivitaiSD 1.5
  • AbsoluteReality
CivitaiSD 1.5

基础模型

看模型描述还可以发现很多都是基于SD1.5。需要把SD1.5的大模型放入ComfyUI/models/checkpoints 文件夹存放下面。

xet

另外一个特点是模型文件以xet格式管理。xet是一种比LFS更高效的管理大文件的方法,可以快速上传和下载

ema-prun

在一些模型中,会有一些关键字,pruned,emaonly等

加权平均即EMA(Exponential Moving Average),使用加权平均主要是减少短期波动的影响,这样得到的模型泛化性更好,也更稳定。EMA Only模型仅存储EMA权重,而传统模型(如v1-5-pruned.ckpt)会同时保存EMA和非EMA权重。例如:

  • v1-5-pruned-emaonly.ckpt:4.27GB(仅EMA权重),适用于inference阶段,快速部署
  • v1-5-pruned.ckpt:7.7GB(包含EMA和非EMA权重),适用于fine-tuning
    体积缩减约45%,显著降低存储和传输成本。

safetensor

虽然名叫checkpoints,但是模型的格式大部分使用的是SafeTensor。如

flux1-krea-dev_fp8_scaled.safetensors,

这是因为 .ckpt 为了让我们能够从之前训练的状态恢复训练,好比从50%这个点位重新开始训练,从而保存了比较多的训练信息,比如模型的权重、优化器的状态还有一些Python代码。

这种做法有两个问题,一是可能包含恶意代码,因此不建议从未知或不信任的来源下载并加载.ckpt 模型文件;二是模型的体积较大,一般真人版的单个模型的大小在7GB左右,动漫版的在2-5GB之间。

而 .safetensors 模型则是 huggingface 推出的新的模型存储格式,专门为Stable Diffusion模型设计。这种格式的文件只保存模型的权重,而不包含优化器状态或其他信息,这也就意味着它通常用于模型的最终版本,当我们只关心模型的性能,而不需要了解训练过程中的详细信息时,这种格式便是一个很好的选择。

输出节点

看comfUI的工作流,checkpoint之后会有三个输出。因为工作流后面还有VAE和文本模块CLIP,所以在后续的文章中一起讲解。

reference:

1.SD教程|SD模型|关于Stable diffusion的各种模型,看这篇就可以了!_sd生成实物-CSDN博客

2.Stable Diffusion概要讲解_emaonly 模型-CSDN博客

3.ComfyUI 中为什么叫Checkpoint_comfyui 里 checkpoint-CSDN博客

http://www.xdnf.cn/news/18521.html

相关文章:

  • React:Umi + React + Ant Design Pro的基础上接入Mock数据
  • Unity编辑器相关
  • 基于STM32设计的大棚育苗管理系统(4G+华为云IOT)_265
  • RabbitMQ:技巧汇总
  • 如何用 SolveigMM Video Splitter 从视频中提取 AAC 音频
  • leetcode_238 除自身以外的数组乘积
  • 实践题:智能客服机器人设计
  • 【Dify(v1.x) 核心源码深入解析】prompt 模块
  • centos下安装Nginx(搭建高可用集群)
  • 利用随机森林筛查 “癌症点”
  • yggjs_react使用教程 v0.1.1
  • Excel中运行VB的函数
  • 自然处理语言NLP:One-Hot编码、TF-IDF、词向量、NLP特征输入、EmbeddingLayer实现、word2vec
  • Docker安装elasticsearch以及Kibana、ik分词器
  • Day24 目录遍历、双向链表、栈
  • k8s集合
  • GIS在城乡供水一体化中的应用
  • CT02-20.有效的括号(Java)
  • Flutter 线程模型详解:主线程、异步与 Isolate
  • 机器学习中的两大核心算法:k 均值聚类与集成学习
  • Linux之Ansible自动化运维(二)
  • 分布式集群压测+grafana+influxdb+Prometheus详细步骤
  • 小程序个人信息安全检测技术:从监管视角看加密与传输合规
  • 【StarRocks】-- SQL CTE 语法
  • Ubuntu22.04安装VMware Tools
  • STM32H750 CoreMark跑分测试
  • Chrome/360 浏览器 WebUI 资源底层机制解析:共享资源与专属资源的奥秘
  • Web自动化测试:测试用例流程设计
  • 如何处理项目中棘手的依赖版本冲突问题
  • Eino 框架组件协作指南 - 以“智能图书馆建设手册”方式理解