Datawhale AI夏令营第四期魔搭-AIGC文生图方向Task1笔记

目录


前言

从零入门AI生图原理&实践帮助我们入门并实践 AIGC文生图、工作流搭建、LoRA微调等一系列内容,本文将总结我的task01所学知识和学习经历,同时各位读者也可以根据文档下方的操作过程跑通baseline,收获属于自己的第一份AI生图!


一、相关知识介绍

1.文生图简要介绍

文生图(Text-to-Image Generation)是一种通过文本生成图像的技术,该概念最早出现于计算机视觉和图像处理的早期研究中,早期的图像生成技术主要依赖于规则和模板匹配,通过预定义的规则将文本转换为简单的图形。伴随着深度学习,尤其是卷积神经网络(CNN)和生成对抗网络(GAN)的发展,文生图技术也取得了突破性进展,如今通过结合多个领域的技术,主要包括自然语言处理(NLP)、计算机视觉(CV),大模型预训练等,文生图技术在生成逼真图像方面达到了前所未有的高度。已经广泛应用于我们生活中的创意设计、教育辅助、娱乐产业和广告营销等领域。

文生图主要以SD系列基础模型为主,以及在其基础上微调的lora模型和人物基础模型等。

2.提示词

提示词(Prompts)是指用户输入的文本描述,它们是指导AI系统生成图像的关键指令。提示词的质量和准确性直接影响到生成图像的效果。

(1)一般写法:主体描述,细节描述,修饰词,艺术风格,艺术家  可包含下方的部分

主体(Subject)描述图像中的主要对象如“一只猫”、“一座山”或“一个人”
动作(Action)描述主体正在进行的动作“跳跃”、“奔跑”或“微笑”
环境(Environment)描述主体所处的环境或背景“在森林中”、“在城市里”或“在海滩上”
风格(Style)描述图像的风格或艺术手法“印象派”、“抽象”或“超现实主义”
情感(Emotion)描述图像传达的情感或氛围“快乐”、“悲伤”或“神秘”

(2)分类

正提示词(Positive Prompts)

指用户希望在生成的图像中看到的具体内容和特征,它们是生成图像的主要指导原则。

负提示词(Negative Prompts)

指用户不希望在生成的图像中看到的元素或特征。它们用于排除某些不想要的内容,以提高生成图像的质量和符合度。

举例

promts】Beautiful and cute girl, smiling, 16 years old, denim jacket, gradient background, soft colors, soft lighting, cinematic edge lighting, light and dark contrast, anime, super detail, 8k

负向prompts】(lowres, low quality, worst quality:1.2), (text:1.2), deformed, black and white,disfigured, low contrast, cropped, missing fingers

(3)提示词的编写技巧

在我们实际使用提示词时要尽量做到具体明确(使用简单直白的语言,AI可能不完全理解某些复杂的语言结构或文化隐喻),逻辑连贯,考虑上下文,考虑生成模型的能力。在生成图片后不断测试和调整,根据反馈不断修改提示词,最终得到自己满意的图片。

3.Lora

Stable Diffusion中的Lora(LoRA)模型是一种轻量级的微调方法,它代表了“Low-Rank Adaptation”,即低秩适应。Lora不是指单一的具体模型,而是指一类通过特定微调技术应用于基础模型的扩展应用。在Stable Diffusion这一文本到图像合成模型的框架下,Lora被用来对预训练好的大模型进行针对性优化,以实现对特定主题、风格或任务的精细化控制。

LoRA模型的核心思想是在预训练的大型语言模型的权重矩阵中引入低秩分解。具体来说,LoRA模型将原始的权重矩阵分解为两个较小的矩阵的乘积,其中一个矩阵是低秩矩阵。这种分解方式可以显著减少模型参数的数量,同时保持模型的表达能力。

4.ComfyUI

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

在ComfyUI平台的前端页面上,用户可以基于节点/流程图的界面设计并执行AIGC文生图或者文生视频的pipeline。

二、生成你的第一份图片!(操作步骤)

1.环境搭建

(1)开通阿里云PAI-DSW试用

成功开通PAI-DSW 试用 ,获得 5000算力时,有效期3个月

如果已经开通试用或试用已过期,可以跳过此步骤,使用魔搭免费GPU额度或寻找其他的算力方案

点击上方的蓝色字体,进入阿里云官网

注:若没有阿里云账号请首先完成账号注册,并按要求完成实名认证

(2)进行魔塔社区
授权

首先注册并绑定阿里云账号(老用户可以跳过)

      →   

      →    

     →     

接下来授权魔塔社区

      →    

       →    

  • (注:如果 在魔搭授权失败 或 点击【打开】无法打开,可到阿里云控制台创建 & 打开实例)

(3)创建并打开PAI实例

魔塔社区

↑点击上方蓝字进入网页

     →     

     →     

     →      

至此我们就已完成基本配置啦,离我们的图片越来越近啦~

2.运行代码,体验一站式 baseline

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

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

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

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

  4. 使用微调后的模型,生成用户指定的prompt提示词的图片

(1)下载baseline文件

git lfs install
git clone https://www.modelscope.cn/datasets/maochase/kolors.git

在上面我们完成的页面打开终端,可以看到右图信息

       

复制上方python代码并粘贴回车运行

(2)进入文件夹,打开baseline文件

          

(3)安装环境,重启kernel

安装 Data-Juicer 和 DiffSynth-Studio

Data-Juicer:数据处理和转换工具,旨在简化数据的提取、转换和加载过程

DiffSynth-Studio:高效微调训练大模型工具

          

(4)调整prompt,设置想要的图片风格,依次修改8张图片的描述

提示词设置方式详见相关知识介绍——提示词部分 

原范例代码为生成8图连环故事

(5)依次顺序运行剩余的代码块,点击代码框左上角执行按钮,最终获得图片

至此图片生成就结束啦~ 不满意的话还可以修改提示词及相关配置重新运行代码哦

若想要下载图片可以在列表左侧对应图片通过鼠标右键点击下载

如想要结果文件,可以通过以下步骤下载

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/

2.下载结果文件

双击进入output文件夹,分别下载两个文件到本地

(6)关闭PAI实例

运行完成后,记得回到魔搭,关闭实例,否则会一直消耗试用额度


三、总结与反思

以下是我生成的图片

 

第一张:小主角总是拖延,不珍惜时间。         

                  第二张:小主角在梦中遇到一位时间老人,给予他一枚时间沙漏代表他所剩的时间。

第三张:小主角发现沙漏中的沙子每天都在减少。
                                                             第四张:小主角开始意识到时间的宝贵,改变拖延的习惯。

第五张:小主角帮助朋友完成任务,鼓励他们珍惜时间。
                                                   第六张:小主角在学校发起“时间管理”活动,分享自己的经历。

第七张:小主角发现沙漏中的沙子越来越少,感到焦虑。

                               第八张:小主角醒来,发现一切只是一场梦,但从此他真正学会了珍惜时间。

经过多次提示词修改,可以看到总体质量还是不错的,但是仍然存在一些问题,例如:八张图片主角样貌不太一致,沙漏不太一致,画面风格不易控制等问题。期待在后面的学习中可以得到解决。

感悟部分:

在探索AI生图的旅程中,我仿佛打开了一扇通往无限创意世界的大门。通过代买进行AI生图就像是在与一个沉默的伙伴对话。我输入的每一行代码,都是对它的一次指令,而它反馈给我的,是一幅幅令人惊叹的图像。这个过程中,我深刻体会到了技术的力量和艺术的无限可能。随着不断的尝试和调整,我开始更加熟练地驾驭这个工具。我发现,通过微调参数,我可以引导AI生成更加符合我预期的图像。这个过程就像是在进行一场无声的对话,我通过代码表达我的想法,AI则通过图像回应我的期待。在这个过程中,我学会了如何与机器合作,如何通过代码去探索和表达我的创意。这是一次难忘的经历,也是一次对未来充满期待的探索,我也会继续努力,进一步学习如何训练自己的模型,如何优化微调参数,使生成的图像更逼真,更精彩!

  • 26
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值