背景
-
参赛者需在可图Kolors 模型的基础上训练LoRA 模型,生成无限风格,如水墨画风格、水彩风格、赛博朋克风格、日漫风格......
-
基于LoRA模型生成 8 张图片组成连贯故事,故事内容可自定义;基于8图故事,评估LoRA风格的美感度及连贯性
样例:偶像少女养成日记
1、主观评分
由评委对参赛作品进行投票,评审标准可以从技术运用(40%)、组图风格连贯性(30%)、整体视觉效果(30%)几方面进行评判投票。
2、客观评分
美学分数仅作评价提交是否有效的标准,其中美学分数小于6(阈值可能根据比赛的实际情况调整,解释权归主办方所有)的提交被视为无效提交,无法参与主观评分。
本文主要是根据主题生成限定的图,需要用lora的文生图。
Lora
在Stable Diffusion中,Lora(Low-Rank Adaptation)是一种轻量级的微调方法,它通过低秩矩阵分解技术,在保持大模型能力的同时,降低其复杂度,从而实现对特定主题、风格或任务的精细化控制。
以下是Lora在Stable Diffusion中的典型工作流程:
-
预训练大模型:首先,需要有一个预训练好的大模型,例如一个大规模的文本到图像合成模型。
-
选择特定主题或风格:确定您想要微调的特定主题或风格,例如某种特定的艺术风格、文化背景或者特定的物体。
-
生成初始提示词:创建一个初始提示词,这个提示词将作为微调的基础。这个提示词应该包含您想要微调的主题或风格的信息。
-
应用Lora微调:使用Lora微调技术,对大模型进行调整,以更好地匹配初始提示词。这通常涉及到在大模型的参数中引入额外的低秩矩阵,这些矩阵用于调整模型的输出,使其更接近初始提示词所描述的主题或风格。
-
生成图像:使用微调后的模型生成图像。由于模型已经被调整以更好地匹配特定主题或风格,因此生成的图像将更加符合您的期望。
Lora微调是一种非常有效的技术,它可以使得预训练的大模型更加适应特定的应用场景,从而提高生成图像的质量和准确性。
ComfyUI
ComfyUI 是一个工作流工具,主要用于简化和优化 AI 模型的配置和训练过程。通过直观的界面和集成的功能,用户可以轻松地进行模型微调、数据预处理、图像生成等任务,从而提高工作效率和生成效果。
以下是 ComfyUI 的典型工作流程:
-
创建项目:首先,用户需要创建一个新的项目,并指定项目的名称和目标。
-
选择模型:在项目中,用户可以选择预训练的模型或上传自己的模型。ComfyUI 支持多种类型的 AI 模型,包括文本到图像合成模型、图像生成模型等。
-
数据预处理:用户可以导入自己的数据集,并使用 ComfyUI 提供的工具进行数据预处理。这包括数据清洗、图像增强、标签生成等任务。
-
模型微调:使用 ComfyUI 的 Lora 微调技术,用户可以对模型进行微调,以更好地适应特定的应用场景。这通常涉及到在大模型的参数中引入额外的低秩矩阵,这些矩阵用于调整模型的输出,使其更接近用户期望的主题或风格。
-
训练模型:在数据预处理和模型微调完成后,用户可以开始训练模型。ComfyUI 提供多种训练选项,包括学习率调整、批量大小设置等,以帮助用户优化模型的性能。
-
生成图像:训练完成后,用户可以使用 ComfyUI 生成图像。由于模型已经被调整以更好地匹配特定主题或风格,因此生成的图像将更加符合用户的期望。
ComfyUI 是一个非常有用的工具,它可以帮助用户更轻松地进行 AI 模型的配置和训练过程,从而提高工作效率和生成效果。
2.baseline一站式跑通
1.开通阿里云PAI-DSW试用
-
在魔搭社区进行授权
链接:https://www.modelscope.cn/my/mynotebook/authorization
注意:如果创建实例或者授权问题,考虑阿里云欠费问题
点击返回notebook界面,启动完成后打开。然后双击后
2.跑通baseline内容
Git内容键入:
git lfs install
git clone https://www.modelscope.cn/datasets/maochase/kolors.git
然后进入ipynb内容。
本次文章思路为:
下面的代码块按照功能主要分成这几类
-
使用Data-Juicer处理数据,整理训练数据文件
-
使用DiffSynth-Studio在基础模型上,使用前面整理好的数据文件进行训练微调
-
加载训练微调后的模型
-
使用微调后的模型,生成用户指定的prompt提示词的图片
具体为:
1.安装 Data-Juicer 和 DiffSynth-Studio
!pip install simple-aesthetics-predictor
!pip install -v -e data-juicer
!pip uninstall pytorch-lightning -y
!pip install peft lightning pandas torchvision
!pip install -e DiffSynth-Studio
2.下载数据集
from modelscope.msdatasets import MsDataset
ds = MsDataset.load(
'AI-ModelScope/lowres_anime',
subset_name='default',
split='train',
cache_dir="/mnt/workspace/kolors/data"
)
保存数据集的图片及加载数据
import json, os
from data_juicer.utils.mm_utils import SpecialTokens
from tqdm import tqdm
os.makedirs("./data/lora_dataset/train", exist_ok=True)
os.makedirs("./data/data-juicer/input", exist_ok=True)
with open("./data/data-juicer/input/metadata.jsonl", "w") as f:
for data_id, data in enumerate(tqdm(ds)):
image = data["image"].convert("RGB")
image.save(f"/mnt/workspace/kolors/data/lora_dataset/train/{data_id}.jpg")
metadata = {"text": "二次元", "image": [f"/mnt/workspace/kolors/data/lora_dataset/train/{data_id}.jpg"]}
f.write(json.dumps(metadata))
f.write("\n")
import numpy as np
from PIL import Image
images = [np.array(Image.open(f"{i}.jpg")) for i in range(1, 9)]
image = np.concatenate([
np.concatenate(images[0:2], axis=1),
np.concatenate(images[2:4], axis=1),
np.concatenate(images[4:6], axis=1),
np.concatenate(images[6:8], axis=1),
], axis=0)
image = Image.fromarray(image).resize((1024, 2048))
image
生成部分图为
3.上传内容审核
-
移动结果文件
创建terminal,粘贴如下命令,回车执行
mkdir /mnt/workspace/kolors/output & cd cp
/mnt/workspace/kolors/models/lightning_logs/version_0/checkpoints/epoch\=0-step\=500.ckpt
/mnt/workspace/kolors/output/ cp /mnt/workspace/kolors/1.jpg /mnt/workspace/kolors/output/
下载内容
创建内容
点击魔搭链接,创建模型,中文名称建议格式:队伍名称-可图Kolors训练-xxxxxx
最后,请关闭实例,扣费哦
最后,感谢datawhale。