“Datawhale X 魔搭 AI夏令营”Day03

一、打卡

Datawhale

二、学习

1、ComfyUI

(1)、什么是ComfyUI

GUI 是 "Graphical User Interface"(图形用户界面)的缩写。简单来说,GUI 就是你在电脑屏幕上看到的那种有图标、按钮和菜单的交互方式。

ComfyUI 是GUI的一种,是基于节点工作的用户界面,主要用于操作图像的生成技术,ComfyUI 的特别之处在于它采用了一种模块化的设计,把图像生成的过程分解成了许多小的步骤,每个步骤都是一个节点。这些节点可以连接起来形成一个工作流程,这样用户就可以根据需要定制自己的图像生成过程。

详细可见b站视频:

1 万字系统剖析ComfyUI | Stable Diffusion:GUI全盘点 | ComfyUI系统性教程原理篇04 | Ai+建筑_哔哩哔哩_bilibili

(2)、ComfyUI核心模块

核心模块由模型加载器、提示词管理器、采样器、解码器

  • 模型加载器:Load Checkpoint用于加载基础的模型文件,包含了Model、CLIP、VAE三部分
  • CLIP模块将文本类型的输入变为模型可以理解的latent space embedding作为模型的输入
  • 解码器:VAE模块的作用是将Latent space中的embedding解码为像素级别的图像
  • 采样器:用于控制模型生成图像,不同的采样取值会影响最终输出图像的质量和多样性。采样器可以调节生成过程的速度和质量之间的平衡。

Stable Diffusion的基本原理是通过降噪的方式(如完全的噪声图像),将一个原本的噪声信号变为无噪声的信号(如人可以理解的图像)。其中的降噪过程涉及到多次的采样。采样的系数在KSampler中配置:

  • seed:控制噪声产生的随机种子

  • control_after_generate:控制seed在每次生成后的变化

  • steps:降噪的迭代步数,越多则信号越精准,相对的生成时间也越长

  • cfg:classifier free guidance决定了prompt对于最终生成图像的影响有多大。更高的值代表更多地展现prompt中的描述。

  • denoise: 多少内容会被噪声覆盖 sampler_name、scheduler:降噪参数

(3)、ComfyUI图片生成流程

1、加载模型:选择一个图像生成模型,例如 majicMIX realistic/v7 或者其他任何可用的大模型。

  •       选择一个合适的模型,例如 majicMIX realistic/v7
  •       设置模型的参数,如 clip_skip 等。

2、配置采样器:设置采样器,如 k_sampler。

  • 选择 k_sampler 或者其他采样器。
  • 设置采样步数、CFG scale 和其他参数。

3、设置提示词:定义正向提示词和反向提示词。

  • 创建两个正向提示词,分别用于控制图像的左右两半部分。
  • 创建一个反向提示词,用于排除不想要的元素或改善图像质量。

4、控制图像区域:使用 Condition Inside Area 节点来指定每个提示词影响的图像区域

  • 使用 Condition Inside Area 节点来指定提示词生效的区域。
    • 对于左侧人物,设置 x=0, width=512, height=512。
    • 对于右侧人物,设置 x=512, width=512, height=512。

5、合并条件:使用 Condition Combine 节点将多个条件组合在一起。

6、图像解码:使用 VAE 解码器来生成图像。

7、预览图像:查看生成的图像效果。

 如果需要,可以进一步细化提示词或使用其他节点来改进图像质量

(4)、20分钟速通安装ComfyUI

在这里,我们按照学习文档使用魔搭社区提供的Notebook和免费的GPU算力体验来使用ComfyUI

注意注意

当执行到最后一个节点的内容输出了一个访问的链接的时候,复制链接到浏览器中访问如果链接访问白屏,或者报错,就等一会再访问重试,程序可能没有正常启动完毕,我个人首次跑的时候用了Day01的模型,报错说没有文件执行不了

因此我又建了一个实例

启动后,新建命令框,直接粘贴代码就可以了

下载安装ComfyUI的执行文件task1中微调完成Lora文件

git lfs install
git clone https://www.modelscope.cn/datasets/maochase/kolors_test_comfyui.git
mv kolors_test_comfyui/* ./
rm -rf kolors_test_comfyui/
mkdir -p /mnt/workspace/models/lightning_logs/version_0/checkpoints/
mv epoch=0-step=500.ckpt /mnt/workspace/models/lightning_logs/version_0/checkpoints/   

双击ComfyUI.ipynb文件进入运行

最后一定要等跟如图这样的才去打开链接,防止加载不充分

 需要加载的工作流在今日的学习文档里面,可以自行下载

首次点击生成图片会加载资源,时间较长,大家耐心等待

2、Lora详解

(1)、参数详情表

(2)、 UNet、VAE和文本编码器的协作关系

1. UNet (U-Net)

UNet 是一种卷积神经网络架构,最初用于生物医学图像分割任务。它由一个收缩路径(编码器)和一个扩展路径(解码器)组成。UNet 在许多计算机视觉任务中表现出色,特别是那些涉及像素级预测的任务,如语义分割。

2. VAE (Variational Autoencoder)

VAE 是一种生成模型,它可以学习输入数据的概率分布,并从中采样以生成新的样本。VAE 通过一个编码器将输入映射到一个潜在空间,并通过一个解码器从潜在空间重建输出。这种模型可以用于图像生成、风格转移等任务。

3. 文本编码器

文本编码器,如BERT、RoBERTa或其他基于Transformer的模型,可以用来处理自然语言处理任务,如文本分类、情感分析、机器翻译等。这些模型擅长捕获文本的上下文信息,并能够生成高质量的文本表示。

  • UNet:负责根据输入的噪声和文本条件生成图像。在Stable Diffusion模型中,UNet接收由VAE编码器产生的噪声和文本编码器转换的文本向量作为输入,并预测去噪后的噪声,从而生成与文本描述相符的图像

  • VAE:生成模型,用于将输入数据映射到潜在空间,并从中采样以生成新图像。在Stable Diffusion中,VAE编码器首先生成带有噪声的潜在表示,这些表示随后与文本条件一起输入到UNet中

  • 文本编码器:将文本输入转换为模型可以理解的向量表示。在Stable Diffusion模型中,文本编码器使用CLIP模型将文本提示转换为向量,这些向量与VAE生成的噪声一起输入到UNet中,指导图像的生成过程

1. 条件图像生成
  • 文本编码器:将文本描述转换为潜在向量。
  • VAE:使用文本编码器生成的潜在向量作为条件,生成相应的图像。
  • UNet:可以用于细化生成的图像,例如通过图像到图像翻译,将粗略的生成结果转化为更精细的结果。
2. 语义分割
  • 文本编码器:提取文本描述的关键特征。
  • UNet:基于文本描述进行语义分割。
  • VAE:可以用于生成背景或细节部分,从而增强最终分割结果的真实感。
3. 图像到图像翻译
  • 文本编码器:提供翻译指导,例如描述所需的样式或目标类别。
  • UNet:执行主要的图像到图像翻译任务。
  • VAE:可以用于生成缺失的细节或添加随机变化以增加多样性。
4. 跨模态检索
  • 文本编码器:将文本查询转换为嵌入表示。
  • UNet:用于图像特征提取。
  • VAE:可以用于生成图像的潜在表示,从而实现跨模态匹配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值