DataWhale夏令营第四期魔搭- AIGC方向 task03笔记


前言

经过task01的初次运行和大致了解,对文生图有了进一步的理解;
同时,过了task02的代码和过程的解读,也对原理和操作步骤有了更深刻的理解。

那咱么现在为了痛快的文生图,用task01的 后端页面看起来不太舒服,同时对于用户来说不友好;这就要开始今天的课题了。


一、ComfyUI的了解

1.认识ComfyUI

在这里插入图片描述

可以看出内容冗余,对于开发者来说是好的。但是对于使用者和新手来说,甚是不友好。 /

所以就有了 GUI-------------(图形用户界面是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,除了降低用户的操作负担之外,对于新用户而言,图形界面对于用户来说在视觉上更易于接受,学习成本大幅下降,也让电脑的大众化得以实现。 )

对于咱们这方面,也有专门的ComfyUI .-------------------(GUI的一种,是基于节点工作的用户界面,主要用于操作图像的生成技术,ComfyUI 的特别之处在于它采用了一种模块化的设计,把图像生成的过程分解成了许多小的步骤,每个步骤都是一个节点。这些节点可以连接起来形成一个工作流程,这样用户就可以根据需要定制自己的图像生成过程。)

使用GUI图片如下:

在这里插入图片描述

再一看,改提示词和图片尺寸的地方,就显而易见了。

2. GUI的图片生成流程

在这里插入图片描述

二、Lora微调

1. Lora和微调简介

LoRA (Low-Rank Adaptation) 微调是一种用于在预训练模型上进行高效微调的技术。它可以通过高效且灵活的方式实现模型的个性化调整,使其能够适应特定的任务或领域,同时保持良好的泛化能力和较低的资源消耗。这对于推动大规模预训练模型的实际应用至关重要。(新型的微调技术/相比于全部参数调整

微调:微调是机器学习中一种针对特定任务或用例调整预训练模型的过程。这样做可以使得模型更好地适应特定领域的需求。具体来说,它是基于已经在大规模数据集上预训练好的模型,使用特定数据集进行进一步训练,以提高模型在该领域的表现。例如,在生成式AI的基础模型训练中,微调可以是一种基本技术。(
理解的就是对原有的不满意,相对参数进行修改,以达到目的

2.Lora微调的优势和详细内容

优势如下:
在这里插入图片描述

详细内容 :
在这里插入图片描述

3.Lora实例详解

来看Task02的Lora的代码:

import os
cmd = """
python DiffSynth-Studio/examples/train/kolors/train_kolors_lora.py \ # 选择使用可图的Lora训练脚本DiffSynth-Studio/examples/train/kolors/train_kolors_lora.py
  --pretrained_unet_path models/kolors/Kolors/unet/diffusion_pytorch_model.safetensors \ # 选择unet模型
  --pretrained_text_encoder_path models/kolors/Kolors/text_encoder \ # 选择text_encoder
  --pretrained_fp16_vae_path models/sdxl-vae-fp16-fix/diffusion_pytorch_model.safetensors \ # 选择vae模型
  --lora_rank 16 \ # lora_rank 16 表示在权衡模型表达能力和训练效率时,选择了使用 16 作为秩,适合在不显著降低模型性能的前提下,通过 LoRA 减少计算和内存的需求
  --lora_alpha 4.0 \ # 设置 LoRA 的 alpha 值,影响调整的强度
  --dataset_path data/lora_dataset_processed \ # 指定数据集路径,用于训练模型
  --output_path ./models \ # 指定输出路径,用于保存模型
  --max_epochs 1 \ # 设置最大训练轮数为 1
  --center_crop \ # 启用中心裁剪,这通常用于图像预处理
  --use_gradient_checkpointing \ # 启用梯度检查点技术,以节省内存
  --precision "16-mixed" # 指定训练时的精度为混合 16 位精度(half precision),这可以加速训练并减少显存使用
""".strip()
os.system(cmd) # 执行可图Lora训练    

参数表:
在这里插入图片描述

三,训练集的get

训练集:数据集是指一组相关的数据样本,通常用于机器学习、数据挖掘、统计分析等领域。数据集可以是数字、文本、图像、音频或视频等形式的数据,用于训练和测试机器学习算法和模型。

当我们进行图片生成相关的工作时,我们需要根据我们的需要选择合适的训练集(训练场景/数据类型/数据量等)。

总结

感觉挺好,但缺乏历练。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值