datawhale X 魔搭 AI夏令营可图Kolors-LoRA风格故事赛

背景

  1. 参赛者需在可图Kolors 模型的基础上训练LoRA 模型,生成无限风格,如水墨画风格、水彩风格、赛博朋克风格、日漫风格......

  2. 基于LoRA模型生成 8 张图片组成连贯故事,故事内容可自定义;基于8图故事,评估LoRA风格的美感度及连贯性
    样例:偶像少女养成日记

1、主观评分

由评委对参赛作品进行投票,评审标准可以从技术运用(40%)、组图风格连贯性(30%)、整体视觉效果(30%)几方面进行评判投票。

2、客观评分

美学分数仅作评价提交是否有效的标准,其中美学分数小于6(阈值可能根据比赛的实际情况调整,解释权归主办方所有)的提交被视为无效提交,无法参与主观评分。

本文主要是根据主题生成限定的图,需要用lora的文生图。

Lora

在Stable Diffusion中,Lora(Low-Rank Adaptation)是一种轻量级的微调方法,它通过低秩矩阵分解技术,在保持大模型能力的同时,降低其复杂度,从而实现对特定主题、风格或任务的精细化控制。

以下是Lora在Stable Diffusion中的典型工作流程:

  1. 预训练大模型:首先,需要有一个预训练好的大模型,例如一个大规模的文本到图像合成模型。

  2. 选择特定主题或风格:确定您想要微调的特定主题或风格,例如某种特定的艺术风格、文化背景或者特定的物体。

  3. 生成初始提示词:创建一个初始提示词,这个提示词将作为微调的基础。这个提示词应该包含您想要微调的主题或风格的信息。

  4. 应用Lora微调:使用Lora微调技术,对大模型进行调整,以更好地匹配初始提示词。这通常涉及到在大模型的参数中引入额外的低秩矩阵,这些矩阵用于调整模型的输出,使其更接近初始提示词所描述的主题或风格。

  5. 生成图像:使用微调后的模型生成图像。由于模型已经被调整以更好地匹配特定主题或风格,因此生成的图像将更加符合您的期望。

Lora微调是一种非常有效的技术,它可以使得预训练的大模型更加适应特定的应用场景,从而提高生成图像的质量和准确性。

 ComfyUI

ComfyUI 是一个工作流工具,主要用于简化和优化 AI 模型的配置和训练过程。通过直观的界面和集成的功能,用户可以轻松地进行模型微调、数据预处理、图像生成等任务,从而提高工作效率和生成效果。

以下是 ComfyUI 的典型工作流程:

  1. 创建项目:首先,用户需要创建一个新的项目,并指定项目的名称和目标。

  2. 选择模型:在项目中,用户可以选择预训练的模型或上传自己的模型。ComfyUI 支持多种类型的 AI 模型,包括文本到图像合成模型、图像生成模型等。

  3. 数据预处理:用户可以导入自己的数据集,并使用 ComfyUI 提供的工具进行数据预处理。这包括数据清洗、图像增强、标签生成等任务。

  4. 模型微调:使用 ComfyUI 的 Lora 微调技术,用户可以对模型进行微调,以更好地适应特定的应用场景。这通常涉及到在大模型的参数中引入额外的低秩矩阵,这些矩阵用于调整模型的输出,使其更接近用户期望的主题或风格。

  5. 训练模型:在数据预处理和模型微调完成后,用户可以开始训练模型。ComfyUI 提供多种训练选项,包括学习率调整、批量大小设置等,以帮助用户优化模型的性能。

  6. 生成图像:训练完成后,用户可以使用 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内容。

本次文章思路为:

下面的代码块按照功能主要分成这几类

  1. 使用Data-Juicer处理数据,整理训练数据文件

  2. 使用DiffSynth-Studio在基础模型上,使用前面整理好的数据文件进行训练微调

  3. 加载训练微调后的模型

  4. 使用微调后的模型,生成用户指定的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.上传内容审核

 
  1. 移动结果文件

    创建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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值