Datawhale X 魔搭 AI夏令营夏令营第四期 Task3

Part 1: 工具初探 - ComfyUI应用场景探索

  1. ComfyUI简介

    • ComfyUI 是一种基于节点的用户界面,专用于图像生成技术。其模块化设计将图像生成过程分解为多个步骤,用户可以通过连接不同的节点创建自定义的图像生成工作流程。
    • 优势:模块化灵活性、可视化界面、多模型支持、调试与优化、开放与可扩展、用户友好性。
  2. ComfyUI核心模块

    • 模型加载器提示词管理器采样器解码器等。
  3. ComfyUI图片生成流程

    • 通过加载模型、设置提示词、配置采样器等步骤,逐步生成图像。
  4. 安装ComfyUI

    • 步骤:下载脚本代码、执行安装程序、进入预览界面。
  5. 工作流示例

    • 不带Lora的工作流带Lora的工作流 样例,帮助用户熟悉基础操作与高级功能。
      在这里插入图片描述

Part 2: LoRA微调

  1. LoRA简介

    • LoRA(Low-Rank Adaptation)是一种用于高效微调预训练模型的技术,通过在模型关键层添加低秩矩阵实现微调,保持模型泛化能力并减少资源消耗。
  2. LoRA微调代码

    • 详细讲解了LoRA微调的关键代码段,涉及模型路径设置、参数配置等。
  3. UNet、VAE和文本编码器的协作关系

    • UNet:生成图像的核心模型。
    • VAE:负责图像的潜在空间映射。
    • 文本编码器:将文本提示转化为向量输入UNet。
      以下是LoRA训练代码和参数表的总结:

LoRA 训练代码

import os
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 16 \ 
  --lora_alpha 4.0 \ 
  --dataset_path data/lora_dataset_processed \ 
  --output_path ./models \ 
  --max_epochs 1 \ 
  --center_crop \ 
  --use_gradient_checkpointing \ 
  --precision "16-mixed" 
""".strip()
os.system(cmd)  # 执行LoRA训练脚本

参数详情表

参数名称参数值说明
pretrained_unet_pathmodels/kolors/Kolors/unet/diffusion_pytorch_model.safetensors指定预训练UNet模型的路径
pretrained_text_encoder_pathmodels/kolors/Kolors/text_encoder指定预训练文本编码器的路径
pretrained_fp16_vae_pathmodels/sdxl-vae-fp16-fix/diffusion_pytorch_model.safetensors指定预训练VAE模型的路径
lora_rank16设置LoRA的秩(rank),影响模型的复杂度和性能
lora_alpha4设置LoRA的alpha值,控制微调的强度
dataset_pathdata/lora_dataset_processed指定用于训练的数据集路径
output_path./models指定训练完成后保存模型的路径
max_epochs1设置最大训练轮数为1
center_crop启用中心裁剪,用于图像预处理
use_gradient_checkpointing启用梯度检查点,节省显存
precision"16-mixed"设置训练时的精度为混合16位精度(half precision),这可以加速训练并减少显存使用

LoRA微调的关键点

  • LoRA的秩(rank) 决定了微调的表达能力与训练效率的平衡。
  • Alpha值 控制微调对模型的影响强度。
  • 使用梯度检查点 能够节省显存,是在有限资源条件下进行高效训练的常用技巧。
  • 混合精度训练 通过使用16位浮点数加速训练过程,并减少显存占用。

这部分总结了LoRA训练的关键代码和参数,帮助更好地理解和执行LoRA微调任务。

Part 3: 准备高质量数据集

  1. 选择数据集的关键维度

    • 需求与目标:明确应用场景、数据类型、数据量。
    • 数据集来源:包括公开数据平台、API或爬虫获取、数据合成、数据增强、购买或定制数据集等渠道。
  2. 常见数据集推荐

    • ImageNetOpen ImagesFlickrCelebALSUN 等。

总结与展望

  • 学习体验:通过深入理解工具和微调技术,提升了AI生成图像的能力。
  • 团队开发时间:鼓励团队交流与合作,持续迭代作品。
  • 社群交流:继续在社群中分享和讨论学习心得,推动共同进步。
  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值