Category Archives: AIGC

AIGC

【AIGC】ComfyUI常用概念备忘—-节点、数据、模型类型

一. 常见节点类型与作用

节点按照功能大致可以分为以下几类:

1. 加载模型节点

  • Checkpoints Loader:加载 .ckpt.safetensors 模型,输出模型检查点(Model Checkpoint)。

  • VAE Loader:加载对应的 VAE 文件。

  • CLIP Loader:加载用于文本编码的 CLIP 模型。

2. 文本提示节点

  • CLIP Text Encode:将用户输入的 Prompt 编码为语义向量(Text Condition),可作为生成条件。

  • CLIP Text Encode (Negative):负向提示词,用于去除不希望生成的元素。

3. 采样节点

  • KSampler:图像采样器,接收模型、提示、初始噪声等,生成最终图像。

  • KSampler (Advanced):带更多可控参数的采样版本。

4. 噪声和图像节点

  • Empty Latent Image:创建空白的潜空间图像张量(latent),用于起始输入。

  • Noise:生成随机噪声。

  • Latent to Image:将生成的 latent 图像解码为可见图像。

  • Image to Latent:将实际图像转换为 latent 表示。

5. 图像处理节点

  • Resize Image:改变图像分辨率。

  • Crop Image:裁剪图像。

  • Load Image / Save Image:读取/保存图像文件。

6. 控制模块

  • ControlNet Loader:加载 ControlNet 模型。

  • Apply ControlNet:在图像生成中应用 ControlNet 条件。

  • T2I Adapter:另一种控制模块,用于风格/姿态控制。

二. 节点之间的数据类型传递

不同节点之间的连接线,传递的是特定类型的数据:

数据类型 说明 常见来源 常见去向
Model Checkpoint 主模型结构及权重 Checkpoints Loader KSampler
CLIP Text Condition 文本提示的向量表示 CLIP Text Encode KSampler
Latent Image 潜空间图像(未解码) Empty Latent Image / KSampler Latent to Image
Image 普通 RGB 图像 Load Image / Latent to Image Resize / Save Image
Noise 随机噪声 Noise 节点 KSampler
VAE 解码器/编码器模型 VAE Loader Latent to Image 等
ControlNet Condition 条件图像等 Apply ControlNet KSampler
Prompt 文本字符串 用户输入 CLIP Text Encode

三. 常见模型格式

1. .safetensors(安全张量)

  • 开发者:由 Hugging Face 团队推出。

  • 优点

    • 安全:不使用 Python pickle,防止执行恶意代码。

    • 更快加载:支持零拷贝映射(mmap),加载速度更快。

    • 结构简单清晰:专门用于张量权重的存储。

  • 使用场景

    • 在 Hugging Face、ComfyUI、Diffusers 等生态中日益流行。

  • 适合谁:推荐在生产或部署时使用,因为它安全、加载快。


 2. .ckpt(Checkpoint)

  • 全称:checkpoint,常见于 TensorFlow、PyTorch。

  • 来源:Stable Diffusion 早期模型多使用此格式(如 v1-5-pruned.ckpt)。

  • 问题

    • 通常使用 Python 的 pickle 保存,存在代码执行风险

    • 体积通常大,因为可能包含训练中所有模块(如优化器、调度器等)。

  • 使用场景

    • 原始模型训练中保存断点,或早期模型发布格式。

  • 适合谁:用于开发调试或旧项目兼容。


 3. .pth(PyTorch权重)

  • 来源:PyTorch 官方推荐格式,用于保存 state_dict

  • 优点

    • 简洁,仅保存模型权重(不包含结构定义)。

  • 问题

    • 同样依赖 Python pickle存在安全隐患

    • 不跨平台,必须在 PyTorch 中读取。

  • 使用场景

    • 自己训练的模型中广泛使用。

  • 适合谁:熟悉 PyTorch 的用户、开发时保存模型权重。


4. .onnx(Open Neural Network Exchange)

  • 来源:微软、Facebook 主导开发的 跨平台格式

  • 优点

    • 跨框架:可在 PyTorch、TensorFlow、ONNX Runtime、NVIDIA TensorRT 等中使用。

    • 适合部署:结构与权重同时包含,适合导入推理引擎。

  • 使用场景

    • 导出模型用于 Web、移动、C++ 等非 Python 环境。

  • 适合谁:需要模型跨平台部署或优化推理性能的开发者。


5. .gguf(Grokking General Unified Format)

  • 来源ggml 系列项目(如 llama.cpp)推出的新格式,继承自 .ggml

  • 目标:用于 轻量化模型的本地推理,尤其适用于 CPU-only 运行、边缘设备。

  • 特点

    • 支持量化(如 Q4_0、Q5_K),文件体积小。

    • 与 LLaMA、Mistral、Gemma 等 LLM 配合使用。

  • 使用场景

    • 本地轻量推理(例如在 Mac、树莓派、安卓手机上运行大模型)。

  • 适合谁:希望在设备端低资源环境中运行 LLM 的用户。

四. 模型的量化与压缩

1. 什么是量化?

在原始训练后的模型中,权重通常是使用 32 位浮点数(float32) 存储的。

而“量化”就是将这些高精度浮点权重,转换为更低位数的整数表示,比如:

类型 原始精度 压缩后的精度 示例
FP32(float32) 32位浮点数 原始模型
Q8 8位整数 精度略下降 常见于轻量推理
Q4_0Q5_K 4位/5位整数 进一步压缩 gguf 格式中常见

2.为什么要量化?

目的 效果
减少文件体积 从几 GB 缩小到几百 MB,适合本地推理(尤其 CPU)
提升推理速度 整数计算比浮点计算快,适用于边缘设备
降低内存占用 低位宽张量占用更少 RAM,可在内存有限设备运行
⚠️ 略微精度损失 通常影响有限,尤其是在大模型中微不足道

3. Q4_0、Q5_K 是什么?

它们是不同的 量化等级/方法,你可以理解为压缩的“清晰度级别”:

量化等级 位宽 精度 文件体积 说明
Q8_0 8 位 精度几乎不变
Q5_K 5 位 性能和质量折中
Q4_0 4 位 极限压缩,精度略降

4. 浮点精度降低(压缩) vs 整数量化(量化)

项目 FP32 ➝ FP16/FP8 FP32 ➝ INT8 / Q4_0
类型 浮点 ➝ 浮点 浮点 ➝ 整数
是否严格算量化 ❌ 严格来说不是 ✅ 是标准量化
是否有指数位 ✅ 有(保留范围) ❌ 无(线性/分段)
计算精度 比较高,近似 FP32 精度低,依赖校准或训练
加速平台 GPU(如 NVIDIA Tensor Cores) CPU / GPU / 推理芯片
AIGC

【AIGC】ComfyUI+Flux日常P图示例:换装、局部修改

今天来介绍一个ComfyUI-Flux的换装工作流。和ComfyUI示例里自带的类似功能工作流相比,此工作流增加了一个“PaintEditor”节点,作用是可以用画笔圈出说要修改的部位,这样可以让ComfyUI做出更精确的修改,同时又尽可能的保留原图其他部分的状态,话不多说,我们先来看一下实际的效果:

Before imageAfter image

(提示词:Change the clothing in the red-framed area to Leopard print skirt everything else in the image exactly the same, including all other people, background, poses, and facial features.)

可以看出,除了提示词要求的修改短裙,包括模特的面部表情、姿势在内的整张图的其他部分均未改变,甚至面部阴影也没有变化。

关于PaintEditor节点,安装地址:https://github.com/Pixelailabs/paint_editor。关键步骤:点击paint_editor节点里的“open paint editor”按钮,并用红笔圈出要修改的部分

如上图,除了修改服装,这个工作流还可以修改图片中的其他元素,比如:

Before imageAfter image

(提示词:Change the horse in the red-framed area to the Ostrich …)

Before imageAfter image

(提示词:Change the character in the red-framed area to the Ultraman…)

点击这里下载此工作流。

——
over
转载请注明出处:http://www.jiangkl.com/2025/07/aigc_comfyui_flux_change_clothes/

AIGC

Midjourney常用参数备忘

–v,选择模型版本
–aspect/–ar,出图宽高比,如 –ar 16:9
–stylize/–s,样式化程度,即更偏艺术风格还是更接近现实,0~1000,默认100
–quality/–q,图像质量,0.25/0.5/1/2,数值越大清晰度越高,时间也越长
–seed,指定种子,保证一致性
–chaos/–c,图像生成的随机性,0~100,数值越高,图像变化越大
–no,排除指定元素,如 –no water
–tile,创建可无缝拼接的重复图案,可用于壁纸、地板
–niji,使用专门动漫和漫画风格设计的版本生成图片,如 –niji 6
–iw,使用单张或多张参考图作为生图的参考,结合提示词生图,0~3,值越大参考程度越大,如 https://xxx/图片url A woman xxx, –iw 1.5
–cref,角色一致性,可与–cw配合使用,可设定生产图片的风格和参考图片的风格相似度,cw越大、可排斥生产图片和参考图片五官、服饰基本一样,如 Science ficton warrior…, –cref https://xxxx/参考图片地址 –cw 100
–sref,参考风格图像,如 –sref retro sculpture, –sref https://xxx/图片地址 –sw 500

AIGC 业界杂谈

AI谱曲与舞蹈

本文介绍两个好玩的AI工具,都是今年上半年新推出的,都是国外的的网站,趁现在不用魔法就能白嫖,有兴趣的可以试试:
第一个是AI作曲网站,suno.com,这是我用它谱的曲子,歌词是用chatgpt写的,大家可以听听效果
春之歌 >>
操作不复杂,只要在create页面,上传歌词、设定曲风就可以了
第二个是AI合成舞蹈,viggle.ai,这个用起来相对复杂一些,要选择一个舞蹈动作模版,再选一张四肢清晰的正脸照片,就可以了。这是它的官方宣传视频,

需要注意的是,一定要选正脸照片,否则AI可以能给换张脸^_^;一定要选四肢清晰的照片,不能是穿裙子之类的衣服,否则AI区分不出四肢,出来动作会很奇怪
——over
转载请注明出处: 昆仑的山头

AIGC

使用GPT-SoVITS克隆声音

GPT-SoVITS是一个集模型训练、声音合成于一体的开源AI声音处理项目,项目地址:https://github.com/RVC-Boss/GPT-SoVITS,感兴趣的可以照项目主页readme里的安装方法安装。这个安装难度不高,比较麻烦的python版本的匹配,可以通过conda为其单独开安装一个python版本:conda create –name py39 python=3.9
项目安装完以后,需要到项目目录内看一下是否自动下载了模型(包括models和Weights),模型地址见readme。我这边实际测试,windows版本自动安装了模型,但mac版本的就没有自动安装模型,需要手动下载、再按要求放入指定目录
GPT-SoVITS的使用分简单和复杂两种办法,简单方法是使用项目自带模型。具体做法是,启动webui后,选择“1-GPT-SoCITS-TTS”-“1c-推理”,然后点选项目的“是否开启TTS推理WebUI”,待自动打开新页面后,选择系统的GPT模型和SoVITS模型,上传准备好的参考音频、输入参考音频文本内容,参考音频需要控制在3~10秒;然后输入要合成的文体,点击“合成语音”,但是这种合成出来效果并不好,而且容易出错,大家可以感受一下
示例音频
文本:“小草偷偷地从土地里钻出来,嫩嫩的,绿绿的。园子里,田野里,瞧去,一大片一大片满是的。坐着,躺着,打两个滚,踢几脚球,赛几趟跑,捉几回迷藏。风轻悄悄的,草软绵绵的”
合成音频
更推荐的做法,是自己训练模型,也不算复杂,首先,要先找一段3~5分钟尽量感觉干净无噪声、无背景音乐的人声音频,然后按如下步骤操作:
1. 使用“前置数据集获取工具”,在“0b-语音切分工具”内,选择音频输入输出路径后,点击“开启语音切割”,将语音切割成多个小段
2. 将上一步的分段语音输出路径,拷贝到下面的“0c-中文批量离线ASR工具”内,点击“开启离线批量ASR”,将语音自动识别为文字文本

3. 使用“0c-语音文本校对标注工具”,点击“开启打标webUI”,在新页面内校对语音文本(嫌webui不好用,可以自己找到上一步生成的opt文件,然后用自己习惯的文本编辑器修改)

4. 切换到“1-GPT-SoVITS-TTS”选项卡,在第一行输入你想要的模型名称
5. 在“1A-训练集格式化工具”内,输入切分音频.list路径,和打标opt文件路径,点击最下方“一键三连”,开始格式化进程,输出内容会放在项目路径下logs目录内


6. 切换到“1B-微调训练”,依次“开启SoVITS训练”和“开启GTP训练”,开始训练模型。这一步看电脑配置,配置低或者CPU运行的话,会很慢
模型训练完成后,重复本文开始的步骤:切换到“1C-推理”,点击“开启webui”,点击“刷新模型路径”,找到自己训练的GTP和SoVITS模型,再试一下刚才的语音,感觉音色好了不少:
但董佳耀的语音太冲,所以重新用更舒缓的语音训练了一个模型,效果还不错:
舒缓语音参考音频
舒缓语音训练结果:
——over
转载请注明出处: 昆仑的山头
———-
一周后补充:
“鄙视小帅、理解小帅、曾经小帅”
比较了GPT-SoVITS,和其他渠道的音频合成效果,最终还是选择了自己曾经鄙视的“解说小帅”,理由很简单:清晰! O(∩_∩)O哈哈~

AIGC

玩转StableDiffusion.10——老照片放大、上色

今天来说一个StableDiffusion的实用技术:老照片放大上色。StableDiffusion里有不少功能都能对图片做放大,但是对比下来,针对不同的照片类型,效果还是差异很大的,这里就介绍一种对小尺寸、但相对清晰的黑白照片的处理过程。分两步,先放大、再上色。
第一步,进入“后期处理”选项卡(有些版本也翻译成“附加功能”),按下图所示做设置、对图片做放大

如果放大效果不理想,可以调整放大算法多尝试几次。关于各种放大算法的差异,可以参阅这篇知乎文章:https://zhuanlan.zhihu.com/p/672717691
第二部,将放大后的图片导入到图生图,然后按如下方式,使用ControlNet的控制类型:Recolor
因为要上色,所以这里重绘幅度设置较大。来看一下处理前后的对比

除了上面提到的图片给放大的方法,针对模糊、褪色的老照片,还可以综合采用ControlNet的其他类型,以及脚本里的“Ultimate SD upscale”,尝试对照片做处理。手头有多年前用手机隔着相框拍的黑白旧照片,模糊、还有麻点,等我找到了修复这种照片的方法,会再写一篇blog o(* ̄︶ ̄*)o
对了,补充一下Recolor模型的下载地址:https://huggingface.co/lllyasviel/sd_control_collection/blob/main/ioclab_sd15_recolor.safetensors
——over
转载请注明出处: 昆仑的山头

AIGC

玩转StableDiffusion.9——把文字和logo隐藏进图片

先上几幅“秀色可餐”的美图

效果还不错吧 ^_^,这种图片隐藏文字的方式,很适合做海报、节日主题图。下面就来说说具体做法:
需要用到ControlNet的qrcode、brightness模型,下载地址:https://huggingface.co/lllyasviel/control_v11p_sd15_scribble/tree/main,大模型推荐realisticVisionV40_V4OVAE,或者其他写实模型,正反向关键词参考:“winter,snowstorm,night,((nobody)),”、“deformed iris, deformed pupils, semi-realistic,cgl,3d,render,sketch, cartoon, drawing, anime”,ControlNet两个单元配置如下


点击生成:
换个logo图试试

——over
转载请注明出处: 昆仑的山头

AIGC

玩转StableDiffusion.8——借助lora:Pixel生成动画序列图

接触StableDiffusion这么久,昨天终于看到了一个和自己本行接近的应用:通过专用Lora做动画序列图,这是C站给出的效果:

于是马上下载了对应的大模型和Lora。具体做法并不复杂,大模型选择counterfeitxl_v25,Lora选择Pixel_Xl_V1,正向提示词基本也是照葫芦画瓢:“1Girl,red short “hair,purple_sailor_dress,((((((side view, running, sequence frames)))))),,masterpiece,best,quality,White background,”,其他保持默认

然后启用一个ControlNet,选择OpenPose,上传以前项目里的动画序列作为动作模版,预处理获取姿态,但实际运行预处理效果并不好,预处理出来,总是得不到正确的动作姿态,换了几个也都不行~~
换个思路:把示例图换成真人会怎么样?于是找了一段跑步视频,截几张图拼起来~~~~StableDiffusion果然更多还是给真人用的,姿态一下只就出来了:

来看运行效果:


~~实话说,效果不算好。不过,这个方向是对的,以AIGC的发展速度,相信用不了多久,就能炼出作为生产力的专用大模型和Lora ^_^
——over
转载请注明出处: 昆仑的山头

AIGC

玩转StableDiffusion.7——InstantId制作风格化照片

上次提到使用InstantId做换脸,这次就试试其官方突出推广的“风格化照片”功能,先来看看成果,第一组是原图,下面是各种风格转化效果







有点感觉吧~~有几个其实并不理想,如果多跑几张,应该会有更好的效果,无奈InstantId对显存要求很高,我的10G显卡跑着有点吃力,每张图基本都要5-10分钟以上(⊙o⊙)…
废话不错说,下面是基本的操作步骤~~其实和之前使用图生图做换脸是一样的:


——over
转载请注明出处: 昆仑的山头

AIGC

玩转StableDiffusion.6——任意更换电商图背景

无意间看到了使用StableDiffusion更换商品图背景的方法,这里分享出来,比ps来的要简单些,而且融入更好。首先,需要安装一个名为“rembg”的插件,然后切换到“后期处理”界面,上传一个淘宝找来的香水图片,选择最下面“移除背景”、选择“u2net”、“回送蒙版”,点击”生成”按钮,即可得到一张黑白的蒙版图。这里注意,第一次运行可能会需要下载模型,时间会比较久:

下载蒙版图,(我这个示例图找的不太好,前景的标签也被加进去了,可以到ps里处理一下,把左边标签留下的白框涂掉)。切换到“图生图”、“上传重绘蒙版”,分别上传刚才的商品图、和蒙版图,提示词输入你想要的效果,如下图设置,比较重要的是,因为我们是要整个换背景,所以最下方“重绘幅度”设置为1。ok,点击“生成”,稍等片刻,既可以看到效果。

可以看出,输出图自然给了原图瓶子立体和阴影效果,还是很不错的。

当然,有时因为对提示词理解的原因,输出图会多出一个“瓶子”,比如下面这样…这时可以尝试换换提示词,或者点生成几张。

当然,同样的方法也可以给人换背景,不过效果不如“规则的商品”更容易控制,大家感受一下:

——over
转载请注明出处: 昆仑的山头