Datawhale X 魔搭 AI夏令营第四期AIGC文生图方向Task3笔记

ComfyUI

什么是 ComfyUI

  • 基于节点工作的用户界面
  • 主要用于操作图像的生成技术
  • 模块化设计,每个步骤是一个节点

核心模块

核心模块有:模型加载器、提示词管理器、采样器、解码器

模型加载器:Load Checkpoint

  • 用于加载基础的模型文件,包含了 Model、CLIP、VAE 三部分
  • CLIP 将文本输入转化为模型可理解的输入(latent space embedding)
  • VAE 将 Latent space 中的 embedding 解码为像素级别的图像(解码器)

采样器:用于控制模型生成图像

  • 不同的采样取值会影响最终输出图像的质量和多样性
  • 采样器可以调节生成过程的速度和质量之间的平衡

这几个模块在 ComfyUI 的工作流程中的作用:

  1. 用户输入:
  • 用户通过ComfyUI的界面输入或选择一个文本提示词,比如“一只可爱的蓝色小猫”。
  1. 提示词管理器:
  • 解析用户输入的文本,提取关键信息。
  • 将文本提示词转换为模型能够理解的嵌入向量。
  1. 模型加载器:
  • 根据用户选择,加载相应的预训练模型,例如Stable Diffusion或GAN模型。
  • 确保模型权重是最新的,并准备好进行推理。
  1. 采样器:
  • 接收提示词管理器输出的嵌入向量。
  • 在模型的潜在空间中迭代采样,根据提示词生成图像。
  • 使用不同的采样策略,如DDIM、PLMS或Euler,以控制图像生成的过程。
  1. 解码器:
  • 接收采样器生成的潜在表示。
  • 将这些表示转换成RGB像素值,形成最终的图像。
  • 输出图像到用户界面,供用户查看和进一步操作。

LoRA 微调

原理

LoRA 通过在预训练模型的关键层中添加低秩矩阵来实现。这些低秩矩阵通常被设计成具有较低维度的参数空间,这样它们就可以在不改变模型整体结构的情况下进行微调。在训练过程中,只有这些新增的低秩矩阵被更新,而原始模型的大部分权重保持不变。

参数调整

根据 baseline 中的微调代码,有以下几点可作调整:

  • 调整 LoRA 的秩(lora_rank):
    增加秩: 如果模型表现不足,可以尝试增加 lora_rank 的值来提高模型的表达能力。但这也将增加模型的计算需求和内存使用。
    减少秩: 如果资源有限或过拟合,可以减少 lora_rank 的值。
  • 调整 LoRA 的 alpha 值(lora_alpha):
    增加 alpha: 增加这个值会加强 LoRA 对模型参数的调整,可能会带来更明显的效果,但也可能增加训练难度。
    减少 alpha: 如果训练不稳定或输出质量不佳,可以尝试减少 alpha 值。
  • 增加训练轮数(max_epochs):
    提高训练轮数可以让模型学习更多细节,通常会导致更好的输出质量。但要注意过拟合的风险。
  • 改进数据集:
    使数据集是高质量的,并且足够多样化,这样模型才能学习到丰富的特征。

我的调整

LoRA 微调

增大 lora_rank, lora_alpha 和 max_epochs

cmd = """
python DiffSynth-Studio/examples/train/kolors/train_kolors_lora.py \
  --pretrained_unet_path models/kolors/Kolors/unet/diffusion_pytorch_model.safetensors \
  --pretrained_text_encoder_path models/kolors/Kolors/text_encoder \
  --pretrained_fp16_vae_path models/sdxl-vae-fp16-fix/diffusion_pytorch_model.safetensors \
  --lora_rank 32 \
  --lora_alpha 8.0 \
  --dataset_path data/lora_dataset_processed \
  --output_path ./models \
  --max_epochs 10 \
  --learning_rate 5e-5 \
  --batch_size 16 \
  --center_crop \
  --use_gradient_checkpointing \
  --precision "16-mixed"
""".strip()

prompt 修改

主要在 task02 基础上,修改了图片中出现其他人的情况,将人物背景增加了更具体的描述:

prompt="古风,水墨画,黑色长发少女,眼神坚定,拔剑相助,上半身,轻便武侠服饰,背景为小镇街道混乱,四处可见惊慌失措的居民和嚣张的恶徒,侠女挺身而出,正义之举,维护秩序",
prompt="古风,水墨画,黑色长发少女,眼神敏锐,上半身,轻便武侠服饰,背景为客栈内的热闹酒桌,少女与几位江湖朋友围坐在一张桌子旁,少女坐于桌子左侧,和朋友共同举杯,谈笑风生",
prompt="古风,水墨画,黑色长发少女,温柔眼神,给受伤男孩施针,上半身,武侠服饰,男孩卧床,面露感激,背景为简陋小屋内",

结果

在这里插入图片描述

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值