司机社

标题: ai绘画授之于渔 内陆帝国 ComfyUI [打印本页]

作者: yin30666    时间: 2023-3-30 20:03
标题: ai绘画授之于渔 内陆帝国 ComfyUI
本帖最后由 yin30666 于 2023-7-17 03:33 编辑

看到很多地方都在讨论comfyUI和webUI哪个更好,我的看法是 比如说学会了达芬奇就一定要把adobe的pr删除嘛,就不能两个都学了不是
1.png
webUI相比comfyUI,前者优点是 好用的插件很多,比如最近在用的颜色管理插件的cutoff随机颜色,随机背景的wildcard,以及视频帧到视频帧的mov2mov,但硬币有正反,凡事有两面,缺点也很明显,就是webUI就像巨大的黑箱子一样,对新手特别友好的同时,不知道算法和流程的咱们,出现奇怪的图,多肢体的图,根本不知道应该改动哪里,所以这时就需要comfyUI来帮忙更进一步了解webUI生成图的全流程

它是先加载随机数种子seed加载配置文件configs和主模型CheckpointLoader,把模型送给显卡GPU,如果没有GPU就用CPU,之后 最先加载 可附加网络模型Lora loader送给正负面词条的文本编码器
ClipTextEncoder,如果词条里有embeddings模型,则加载对应embeddings
2.png
继续去加载controlnet插件的姿势预处理器Preprocessor和准备的图片Load Image,之后读取采样器数据KSampler,CFG缩放CFG Scale其他详细设置(虽然在代码界面CFG,采样步数等参数是在文本编码器之前),接着加载一张512空白图片,对这张图片全部重绘(其实是去噪)
3.png
把所有数据输入给VAE解码器VAE Decoder,再把在潜在空间Latent space的采样数据转换成像素空间对应的 值域0-255,最后生成图片,保存图片
4.png
因为第一期是魔法咒语,对应这次聊聊界面各个英文的含义
Stable Diffusion 稳定的扩散模型,完胜了其他直接在像素空间上操作的DALL-E和VQGAN,因为Latent Diffusion在潜在空间上操作,降低所需显卡算力的同时,只损失很少的手部,脸部和文字细节,从而生成低失真高质量的图片
5.png
VAE Decoder 解码器,因为扩散模型在训练时会损失一些脸部,文字细节,所以用VAE模型帮助增加并修复一些细节,但是看来没有特别好的修复手部细节,毕竟一只手27块手骨,当时学画手我都学了1年不是
6.png
Clip TextEncoder 文本编码器,把正负面词条转换成数字串,比如全果completely nude 对应数字串是5989,16630 然后用Text transformer再转化成 embeddings条件(1,77,768) ,1代表batch size,77代表75个数字串tokens加上起始的token结束的token,一共77个,768代表的是向量单位
7.png
Sampling steps 迭代步数,比如设置为25步,随机种子跑第一步的时候可以中断生成,就能看到一张有各种颜色的噪点图
8.png
Seed 随机数种子,根据这个数字,生成一张特定的噪点图,用文本编码器最后生成的数据作为条件,来指导ai去噪的方向(同理图生图的重绘程度,也是去噪程度,只不过不使用种子生成的图片,而是素材图片)

Sampling method 采样方法 每种方法对应各自的采样顺序,可以理解成上面的去噪顺序,所以生成图效果不好的时候,可以尝试改变采样方法
9.png
Restore faces 面部修复和Hires.fix 高分辨率修复,是在VAE解码器修复细节之后,使用不同的放大算法,比如BSRGAN和最近在用的UltraSharp,也可以只加载一张图片,来做到图片放大
10.png
Batch size 单批数量,文生图界面里是生成几张,最多设置为8,lora训练脚本界面是每次训练选素材图片里的几张图片,所以训练步数等于 训练数据集图片数量*单张训练次数*最大epoch值 除以Batch size值,单批训练图片数量越多,训练速度越快,但显卡占用也会提升,具体怎么设置训练参数在下一期教程帖
Dreambooth 大模型训练,通过自定义训练数据集词条,类数据集词条来设置 咱们的触发词,可以训练特定物品,人物,颜色,姿势,风格等等所有类型,但需要准备高质量的训练数据集,类数据集相对于训练数据集的权重叫prior loss weight先验损失权重,可以在设置里更改,默认0.75,推荐1
jiaocheng (2).png
Lora 模型训练,用脚本的方式,通过txt文件里写的词条去底模形里找同类词条,相当于每写一个词条就ps抠掉那部分,剩下的部分,比如脸部,带衣服的人物,就是特定触发词louyixiao,之后同时训练UNet 神经网络和 Text Encoder 文本编码器两个输出,前者用在Additional Networks可附加网络插件界面里,后者用在正面词条里<lora:sijishe:1>,暂时只知道放在正面词条里的lora会和embeddings模型有权重冲突,除了这个应该没区别

Embeddings 模型训练,不适合训练人物,一般用来强化位置关系的词条,比如杯子在桌子上cup on table,牛奶在胸上 cum on breasts,掰开小穴 spread pussy by self

最后加上Hypernetwork超网络和Aesthetic Gradient美术风格梯度一起说,Lora因为泛用性偏低,所以最适合训练单一人物,dreambooth因为泛用性偏高,但需要一步步添加素材图片和降低学习率,参数设置麻烦但可以训练任何东西,embeddings适合训练物品,强化位置关系,剩下两个因为泛用性太高,适合训练各种画风,还没研究,想把lora这把剑磨成了再去研究

链接里有我的comfyUI整合包,找了很多自定义节点放了进去,只需要更改./ComfyUI/extra_model_paths.yaml文件,右键文本档案打开,把里面的模型位置base_path改成你的webui的位置,这样comfyUI就会自动加载webui的模型,不需要一个一个拖拽
comfyUI的embeddings模型使用方法是在词条里填写embedding:模型名字,具体使用方法就不截图了,就是双击之后搜索对应的节点名字,或者鼠标右键然后在选项框里添加节点,连接节点是左右都行,但拆连线,只能从后往前,按工作流json的流程图说,就是从右边拆掉节点,output文件夹里有很多的图片和工作流,都可以直接拖到comfyUI界面直接加载模块,生成图片快捷键是ctrl+回车,和webui一样,一菲老师的lora模型也在comfyUI的models/lora里,权重为0.6-0.75,主模型是chillout_fix32,可以用webui的lora编辑器自行研究
继续去研究lora磨剑和comfyUI分区域作图了,output里面有一个工作流说是可以连接到chatgpt的,需要API,这个我就不懂了,我只知道webui启用API来使用outpaint插件,但比划了几下感觉效果一般
内陆帝国一词来自于游戏<极乐迪斯科>,之前就把游戏cg的图拿出来训练了一下画风,巨帅













欢迎光临 司机社 (https://sjsvv.vip/) Powered by Discuz! X3.4