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).保存图像