Datawhale AI 夏令营----AIGC文生图
一、赛事介绍 1、背景知识 2、比赛任务 3、文生图简介 4、数据集介绍 二、Task1 baseline解析 1、导入相关库 2、数据集处理 3、保存数据 4、训练模型,查看训练脚本的输入参数 5、加载模型 6、生成图片
一、赛事介绍
1、背景知识
2、比赛任务
需在可图Kolors 模型的基础上训练LoRA 模型,生成无限风格,如水墨画风格、水彩风格、赛博朋克风格、日漫风格等,基于LoRA模型生成 8 张图片组成连贯故事,故事内容可自定义
3、文生图简介
文生图(Text-to-Image Generation)是一种通过文本生成图像的技术,其发展历程可以追溯到早期的计算机视觉和自然语言处理研究。文生图主要以SD系列基础模型为主,以及在其基础上微调的lora模型和人物基础模型等。
4、数据集介绍
使用MsDataset类从modelscope的数据集中加载名为AIModelScope/lowres_anime的数据集,这个数据集包含一系列的动漫图片,执行这段代码后,ds变量将包含AI-ModelScope/lowres_anime数据集的训练集部分,这些数据将存储在指定的缓存目录/mnt/workspace/kolors/data中(如果数据尚未下载,则会自动下载到该目录)。之后,你可以使用ds变量来访问数据集,例如进行迭代以获取图片和标签,用于训练机器学习模型。
二、Task1 baseline解析
1、导入相关库
2、数据集处理
这段代码首先定义了一个多行字符串 data_juicer_config,该字符串包含了Data Juicer工具的配置信息,用于指定数据处理的各个方面。
3、保存数据
在这段代码中,并没有直接应用复杂的算法,主要使用了文件I/O、JSON处理、图像处理(Pillow库)、Pandas DataFrame操作以及进度条显示等技术和方法,具体来说,它执行了以下步骤:
1).文件和数据读取:使用open函数和**file.readlines()**方法读取JSON Lines(JSONL)格式的文件。
2).数据提取:从每个JSON对象中提取出text和image字段。
3).图像处理:使用PIL.Image(Python Imaging Library的一个分支,现在称为Pillow)来打开和保存图像。
4).数据整理:将提取的文本和生成的图像文件名整理成两个列表texts和file_names,然后将这两个列表转换成Pandas DataFrame。DataFrame是Pandas库中用于数据分析和处理的一种重要数据结构
5).数据导出:将DataFrame导出为CSV文件(逗号分隔值文件)
4、训练模型,查看训练脚本的输入参数
下载模型:"Kolors" 和 "SDXL-vae-fp16-fix" 指特定的预训练模型
-! ,-h 或 --help 选项通常用于显示命令行工具的帮助信息。
5、加载模型
导入了几个来自不同库的类和函数,来加载模型
6、生成图片
使用了基于Stable Diffusion模型的某种接口,使用了基于文本提示的AI绘图技术(如Stable Diffusion),通过设置一系列的参数来指定希望生成的图像的内容和风格,并最终将生成的图像保存为文件。
torch.manual_seed(0)
image = pipe(
prompt="二次元,一个红色短发小女孩,在家中沙发上坐着,双手托着腮,很无聊,全身,黑色连衣裙",
negative_prompt="丑陋、变形、嘈杂、模糊、低对比度",
cfg_scale=4,
num_inference_steps=50, height=1024, width=1024,
)
image.save("1.jpg")
1).设置随机种子
2).构建绘图请求
3).保存图像
总结
### 文章总结:《Datawhale AI 夏令营----AIGC文生图》#### 一、赛事介绍
**背景知识**:
- 文生图(Text-to-Image Generation)技术的发展背景和重要性。
**比赛任务**:
- 参赛者需在Kolors模型基础上训练LoRA模型,生成多种风格(如水墨画、水彩、赛博朋克、日漫)的图片,并利用这些风格创作一个由8张图片构成的连贯故事,故事内容自定义。
**文生图简介**:
- 文生图技术通过文本来自动生成图像,依托于SD系列基础模型及LoRA和人物基础模型的微调。
**数据集介绍**:
- 使用名为AIModelScope/lowres_anime的数据集,包含动漫图片,通过MsDataset类加载,支持下载和缓存。
#### 二、Task1 baseline解析
**1、导入相关库**:
- 未具体列出,但该步骤是开始任何模型的基础,包括了数据处理、模型训练及图像生成所需的各种库。
**2、数据集处理**:
- 使用Data Juicer工具的配置信息进行数据预处理,包括文件读取、数据提取(text和image)、图像处理(Pillow)、数据整理(Pandas DataFrame)和数据导出(CSV)。
**3、保存数据**:
- 主要通过文件I/O和数据处理技术,将处理后的数据保存为适合后续处理或训练的格式。
**4、训练模型,查看训练脚本的输入参数**:
- 下载特定的预训练模型("Kolors"和"SDXL-vae-fp16-fix"),使用命令行工具的帮助信息来了解如何设置参数进行训练。
**5、加载模型**:
- 导入多个库和函数来成功加载预训练的模型,为后续的图片生成做准备。
**6、生成图片**:
- 使用Stable Diffusion模型或类似接口,通过设定具体的文本提示、负面提示、配置参数和图像尺寸来生成高质量的图像,并将结果保存为文件。示例代码展示了如何生成一张包含特定描述和图像风格的二次元风格图片。
**总结流程**:
- 从数据处理到模型加载,再到最终的图片生成,本文详细介绍了Datawhale AI夏令营中AIGC文生图项目的核心步骤和关键技术,帮助参赛者了解并实施一个完整的文生图项目流程。