Kolors(可图)模型
Kolors是由快手团队开发的大规模文本到图像生成模型(可图 · 模型库 (modelscope.cn))根据链接的文章内容,Kolors在视觉质量、复杂语义准确性以及中英文字符的文本渲染方面,显著优于开源和专有模型。此外,Kolors支持中英文输入,在理解和生成中文特定内容方面表现出色,因此其在我们的学习使用上更顺畅。同时魔搭社区上还开源有可图优质咒语书(可图优质咒语书 · 数据集 (modelscope.cn)),方便完善我们想生成图片的提示词。
通义千问大模型
对于现代学习者来说,AI是一个值得好好利用,可以提升学习效率的工具,此次学习中使用了通义千问大语言模型,它具有优秀的编程与技术支持能力。
利用通义千问,可以方便我们了解代码整体框架,这次学习的Baseline框架如下:
1. 环境准备
首先安装了所需的Python包:
simple-aesthetics-predictor
: 可能是一个用于评估图像美学质量的库。
data-juicer
: 用于数据处理和清洗的库。
peft
, lightning
, pandas
, torchvision
: 分别用于高效微调模型、简化PyTorch训练流程、数据操作以及计算机视觉任务的库。
DiffSynth-Studio
: 可能是一个与图像生成或编辑相关的库。
同时卸载了pytorch-lightning
,并安装了新版本的pytorch-lightning
和相关库。
2. 数据集加载与预处理
使用ModelScope加载了一个名为lowres_anime
的数据集,并指定子集名称和拆分类型。
将数据集中的图像转换为RGB模式,并保存到磁盘。
生成metadata.jsonl
文件,其中包含了图像路径和对应的文本描述。
3. 数据处理
创建了data_juicer_config.yaml
配置文件,用于定义数据处理的操作流程,包括图像尺寸过滤和长宽比过滤。
使用data-juicer
对数据集进行了处理,输出结果保存到result.jsonl
。
4. 数据分析
读取处理后的数据集,将其转换为Pandas DataFrame,并保存为CSV文件。 使用CLIP模型计算图像和文本之间的相似度得分。5. 自定义数据集类
定义了一个CustomDataset
类,继承自torch.utils.data.Dataset
,用于处理DataFrame中的数据。
创建数据加载器DataLoader
来批量加载数据。
6. 图像生成
加载了StableDiffusionPipeline
,这是一个基于扩散模型的图像生成器。
设置随机种子以确保生成结果的一致性。
通过不同的提示(prompt)生成多个图像,并保存到磁盘。
7. 合并图像
最后,将生成的图像合并成一个大的图像,并调整大小结合大语言模型的分析可以快速得知代码大框架,之后再对有疑问的代码块进行分析。
基于话剧的连环画制作
本次Task2的内容是基于话剧的连环画制作,在Task1的基础上,通过修改提示词,使生成的图片具有逻辑性,而编写提示词的过程依旧可以使用通义千问来提高效率,
由通义千问给出提示词后,还需自己进行修改,我的提问中场景2是上课时间,但AI的回答“教室里的学生渐渐散去” 有些不符,需要改正。所以在使用大语言模型时,一定要有自己的思考,模型也会犯错。
在代码中的“prompt”和“negative_prompt”中修改后所得代码如下:
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. **Kolors(可图)模型**:
- 由快手团队开发,是一款大规模的文本到图像生成模型,支持中英文输入,尤其在中文处理和复杂语义准确性上表现突出。
- 在视觉质量、中英文文本渲染等方面显著优于其他开源或专有模型,提供了便利的中英文内容生成体验。
- 魔搭社区还提供了可图优质咒语书数据集,帮助用户完善生成图片所需的提示词。
2. **通义千问大模型**:
- 作为一款强大的AI模型,通义千问在编程与技术支持方面具备显著能力,助力学习者提升效率。
- 在文章中,通义千问被用于辅助理解代码整体框架,并通过其在任务流程中的使用,详细讲解了从环境准备到图像生成的全过程。
3. **学习与实践流程**:
- **环境准备**:安装了必要的Python包,如用于评估图像美学质量的`simple-aesthetics-predictor`,数据清洗的`data-juicer`,以及模型训练和计算机视觉相关的多种库。
- **数据集操作**:加载`lowres_anime`数据集,并进行RGB转换、生成元数据文件、数据清洗和数据分析等操作。
- **自定义数据集类与加载**:通过继承`torch.utils.data.Dataset`创建自定义数据集类,并使用`DataLoader`进行批量数据加载。
- **图像生成**:利用`StableDiffusionPipeline`,基于扩散模型进行图像生成,并通过修改提示词生成具有逻辑性的图片,最后合并生成的大图像并调整尺寸。
4. **基于话剧的连环画制作**:
- 在Task2中,通过调整通义千问提供的提示词并执行代码,生成了符合课堂场景的国画风格图像。强调了在使用AI大模型时,用户需自行修正模型可能存在的错误,以确保生成内容的准确性。
整体而言,本文展示了如何利用Kolors模型及通义千问等先进工具,在文本到图像生成领域进行高效学习与实践,强调了AI辅助下的代码理解和图像生成过程的精细化控制。