今天进入到“Datawhale X 魔搭 AI夏令营”第2部分内容的学习
Part1:了解一下 AI生图技术 的能力&局限
★ 了解了Kolors(可图)模型,下载了可图优质咒语,以便以后使用
☆试着操作了用创意海报工具PosterGenius生成了几张图,进行测试,体验不错
Part2:精读baseline——从零入门AI生图
☆之前就经常使用通义千问AI来 将音频转文字,今天第一次用它来分析代码。
以下是通义千问对 task1中运行的baseline中的所有代码按工作流程进行解释。
根据提供的代码,我们可以将其分为以下几个主要的工作流程部分:
### 1. 数据集加载与预处理
- **加载数据集**:
- 使用`MsDataset`从ModelScope加载`lowres_anime`数据集。
- 将数据集中的每个样本保存为图像文件,并将图像文件路径及描述文本写入`metadata.jsonl`文件。### 2. 数据清洗与过滤
- **创建数据处理配置**:
- 定义一个YAML配置文件,用于指定数据处理过程中的各种参数,如最小宽度、高度、宽高比等。
- 使用`dj-process`命令行工具,基于配置文件对数据进行清洗和过滤。
- 过滤后的数据保存到`result.jsonl`文件中。### 3. 数据整理与特征提取
- **整理数据**:
- 读取过滤后的数据,并将其转换为Pandas DataFrame。
- DataFrame包含每张图片的文本描述和文件名。
- DataFrame被保存到CSV文件中。
- **计算图像与文本相似度**:
- 使用CLIP模型计算图像与文本之间的相似度。
- 这一步骤有助于评估生成的图像与给定文本描述的一致性。### 4. 自定义数据集与数据加载器
- **创建自定义数据集类**:
- 定义了一个继承自`Dataset`的自定义数据集类`CustomDataset`。
- 这个类用于从DataFrame中读取图像和文本,并进行预处理。
- **创建数据加载器**:
- 使用`DataLoader`类创建数据加载器,用于批量加载数据。
- 数据加载器可以从自定义数据集中获取数据,并按批次返回。### 5. 图像生成
- **初始化图像生成模型**:
- 加载Stable Diffusion模型用于图像生成。
- 设置模型运行在GPU上,并设置随机种子以获得可复现的结果。
- **生成图像**:
- 根据不同的提示(prompt)生成图像。
- 每次生成后,将图像保存为文件。### 6. 图像合并
- **合并图像**:
- 将生成的图像合并成一张大图。
- 图像按照指定的方式排列,并调整大小以适应最终输出尺寸。综上所述,整个工作流涉及了数据集的加载与预处理、数据清洗与过滤、特征提取、自定义数据集与数据加载器的创建、图像生成以及图像合并等多个步骤。这些步骤共同构成了一个完整的图像生成与处理流程。
上面这段通义千问输出的结果,跳过了第一步1. 安装和卸载依赖包。
接着,又通过通义千问详细了解了安装simple-aesthetics-predictor、data-juicer的作用
`simple-aesthetics-predictor` 是一个 Python 库,用于预测图像的美学质量。它通常用于评估生成的图像是否具有良好的视觉效果,特别是在深度学习项目中,比如图像生成任务。
这里是如何安装和使用 `simple-aesthetics-predictor` 的基本步骤:
1. **安装**:
```bash
!pip install simple-aesthetics-predictor
```2. **导入库**:
```python
from simple_aesthetics_predictor import AestheticsPredictor
```3. **实例化预测器**:
```python
predictor = AestheticsPredictor()
```4. **预测图像的美学得分**:
```python
image_path = 'path/to/your/image.jpg'
score = predictor.predict(image_path)
print(f"美学得分: {score}")
```如果您已经安装了 `simple-aesthetics-predictor`,那么您可以直接跳到导入库和使用预测器的部分。
Data-Juicer 是一个由阿里巴巴集团研发的一站式数据处理系统,主要针对大型语言模型(LLMs)的数据预处理需求。它被设计用来提高数据的质量,使其更加丰富且更容易被LLMs所利用。Data-Juicer 提供了一系列的功能,包括但不限于:
- 细粒度的管道抽象,允许用户构建复杂的数据处理流程。
- 超过50个内置的操作符,可以轻松地组合和扩展。
- 可视化和自动评估能力,帮助用户更快地获得反馈。
- 支持零代码的数据处理,对于初学者友好。
- 提供现成的数据集、数据配方和插件工具。
- 适用于多模态数据处理。
如何使用 Data-Juicer
快速启动指南
安装 Docker: 确保您的环境中已经安装了 Docker。
拉取 Data-Juicer 镜像: 使用 Docker 命令从 Docker Hub 获取 Data-Juicer 的最新镜像。
Bash深色版本
1docker pull alibaba/data-juicer
运行 Data-Juicer 容器: 运行 Data-Juicer 的 Docker 容器,并映射端口以便能够访问 JupyterLab。
Bash深色版本
1docker run -p 8888:8888 alibaba/data-juicer
访问 JupyterLab: 在浏览器中打开 JupyterLab 页面,通常地址是 http://localhost:8888。
开始使用 Data-Juicer: 在 JupyterLab 中,您可以找到有关如何使用 Data-Juicer 的文档和教程。
更多资源
- 如果您想深入了解 Data-Juicer 的功能和使用方法,您可以查阅 Data-Juicer 的官方文档和 GitHub 仓库。
- GitHub 仓库:https://github.com/alibaba/data-juicer
- 论文地址:https://arxiv.org/abs/2309.02
- 论文页面:https://huggingface.co/papers/2309.02
下面还有很多代码看不太明白的,只能通过边看注释了解个大概。
Part3:实战演练一一基于话剧的连环画制作
你是一个文生图专家,我们现在要做一个实战项目,就是要编排一个文生图话剧 话剧由8张场景图片生成,你需要输出每张图片的生图提示词
具体的场景图片
1、女主正在上课
2、开始睡着了
3、进入梦乡,梦到自己站在路旁
4、王子骑马而来
5、两人相谈甚欢
6、一起坐在马背上
7、下课了,梦醒了
8、又回到了学习生活中
生图提示词要求
1、风格为古风
2、根据场景确定是使用全身还是上半身
3、人物描述
4、场景描述
5、做啥事情
例子: 古风,水墨画,一个黑色长发少女,坐在教室里,盯着黑板,深思,上半身,红色长裙
第一次接触到 用AI来编排一个文生图话剧 这样的用法。以下是通义千问输出的结果:
好的,根据您的要求,我将为您编写每个场景的生图提示词。我们确保这些描述符合古风的要求,并且包括您提到的所有要点。
### 场景 1: 女主正在上课
- **古风,工笔画**
- **一个黑色长发少女,身穿青色长裙**
- **坐在古朴的木桌前,手中拿着毛笔,凝视着摊开的书卷**
- **教室布置简洁,墙上挂着山水画卷轴**
- **专注地学习着**### 场景 2: 开始睡着了
- **古风,淡彩画**
- **黑色长发少女,穿着淡蓝色长袍**
- **头枕在手臂上,闭着眼睛,嘴角带着微笑**
- **教室一角,窗外洒进柔和的阳光**
- **沉浸在梦中**### 场景 3: 进入梦乡,梦到自己站在路旁
- **古风,水墨画**
- **黑色长发少女,穿着粉色长裙,手扶柳枝**
- **站在古道边,眺望着远方**
- **蜿蜒的小径延伸向远方,两旁是盛开的桃花**
- **沉思,仿佛在等待什么**### 场景 4: 王子骑马而来
- **古风,重彩画**
- **英俊的青年,身着金色铠甲,手持长剑**
- **骑着一匹白色骏马,马蹄轻扬**
- **道路中央,阳光从树梢间洒落**
- **缓缓而来,目光锁定前方的少女**### 场景 5: 两人相谈甚欢
- **古风,工笔画**
- **黑色长发少女与金甲青年相对而立**
- **两人交谈,表情愉悦,眼神交流**
- **花丛中,蝴蝶飞舞**
- **彼此分享着心中的秘密**### 场景 6: 一起坐在马背上
- **古风,淡彩画**
- **黑色长发少女,身着紫色长裙,侧坐马背**
- **金甲青年紧握缰绳,目光坚定**
- **马儿疾驰在花海之中**
- **两人共同旅行,享受着旅程**### 场景 7: 下课了,梦醒了
- **古风,水墨画**
- **黑色长发少女,穿着青色长裙**
- **坐在教室里,缓缓睁开眼睛**
- **教室空无一人,窗外夕阳西下**
- **从梦中醒来,回到现实**### 场景 8: 又回到了学习生活中
- **古风,工笔画**
- **黑色长发少女,身穿淡绿色长袍**
- **手持书卷,低头阅读**
- **教室里摆满了书籍和文房四宝**
- **专心致志地学习**接下来我们可以根据这些描述来生成图像。是否现在就开始生成这些图像?
接着,我让通义千问将以上信息做成表格,就已经输出图片了,如下:
已经为您生成了剩余场景的图像。这里是完整的表格:
场景编号 描述 图像链接 1 古风, 工笔画, 一个黑色长发少女, 身穿青色长裙, 坐在古朴的木桌前, 手中拿着毛笔, 凝视着摊开的书卷, 教室布置简洁, 墙上挂着山水画卷轴, 专注地学习着 2 古风, 淡彩画, 黑色长发少女, 穿着淡蓝色长袍, 头枕在手臂上, 闭着眼睛, 嘴角带着微笑, 教室一角, 窗外洒进柔和的阳光, 沉浸在梦中 3 古风, 水墨画, 黑色长发少女, 穿着粉色长裙, 手扶柳枝, 站在古道边, 眺望着远方, 蜿蜒的小径延伸向远方, 两旁是盛开的桃花, 沉思, 仿佛在等待什么 4 古风, 重彩画, 英俊的青年, 身着金色铠甲, 手持长剑, 骑着一匹白色骏马, 马蹄轻扬, 道路中央, 阳光从树梢间洒落, 缓缓而来, 目光锁定前方的少女 5 古风, 卡通风, 黑色长发少女, 穿着白色短裙, 脚踏一双红色绣花鞋, 手中提着灯笼, 行走在热闹的夜市中, 各种小摊贩售卖着美食和小玩意, 笑容满面, 热闹非凡 6 古风, 写意画, 黑色长发少女, 穿着黄色长裙, 站在桥头, 手中握着折扇, 远处是湖水与山峦, 微风吹动着衣裙, 若有所思, 湖面上有几只小舟, 清晨的宁静 7 古风, 漫画风格, 英俊的青年, 身着红色长衫, 手持一把纸伞, 站在雨中的石板路上, 雨滴从伞缘滑落, 眼神温柔, 注视着画面外的某人, 身后是古朴的建筑, 情意绵绵 8 古风, 水墨画, 英俊的青年, 身着蓝色长袍, 手持一卷书简, 站在竹林之中, 竹叶随风摇曳, 神态从容, 若有所悟, 身后是蜿蜒的山路, 深邃幽静 现在所有场景都已经生成完毕。如果您还需要其他帮助,请随时告诉我。
前4个场景 生成的图还比较符合故事情节,后4个场景生成的提示词和图 就偏离原意了。
然后我打开了baseline文件,修改相关提示词,然后再生成,生成出以下8张图
完成连环画