首页 > 其他分享 >“Datawhale X 魔搭 AI夏令营”Day03

“Datawhale X 魔搭 AI夏令营”Day03

时间:2024-08-17 20:22:38浏览次数:16  
标签:编码器 AI VAE Datawhale 生成 Day03 UNet 图像 文本

一、打卡

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:可以用于生成图像的潜在表示,从而实现跨模态匹配。

标签:编码器,AI,VAE,Datawhale,生成,Day03,UNet,图像,文本
From: https://blog.csdn.net/xuanEpiphany29/article/details/141261158

相关文章

  • Datawhale X魔搭 AI夏令营
    DatawhaleX魔搭AI夏令营AIGC方向Task02学习笔记1.活动简介从零入门AI生图原理&实践是Datawhale2024年AI夏令营第四期的学习活动(“AIGC”方向),基于魔搭社区“可图Kolors-LoRA风格故事挑战赛”开展的实践学习—— 适合想入门并实践AIGC文生图、工作流搭建、Lo......
  • Datawhale X魔搭 AI夏令营 第四期 AIGC方向 task03笔记
    一、ComfyUI  1、这次课首先介绍了ComfyUI,什么是ComfyUI?ComfyUI主要用于生成图像。它采用基于节点的工作流程,为用户提供更大的控制力和灵活性。用户可以通过连接不同的节点来直观地构建工作流程,并且允许对图像进行高级定制。用户还可以拖放节点、轻松调整参数,并实时查看......
  • SciTech-BigDataAIML-LLM-Transformer Series-Self-Attention:由Dot-Product(向量点乘)
    SelfAttention:由Dot-Product(向量点乘)说起https://lulaoshi.info/deep-learning/attention/transformer-attention.html#self-attention-从向量点乘说起Transformer[1]论文提出了一种Self-Attention(自注意力机制),Self-Attention的最核心的公式为:\(\large\begin{align*}......
  • 【网络流模板题 EK增广路】luogu P2740 [USACO4.2] 草地排水Drainage Ditches)
    [P2740USACO4.2]草地排水DrainageDitches)大意:网络流模板做法:EK增广路#include<cstdio>#include<queue>#include<deque>#include<stack>#include<map>#include<cmath>#include<algorithm>#include<iostream>#include......
  • NP2011-SW-23-DHCP Snooping_DAI_IP源保护
    dhcp欺骗dhcpsnooping原理:一启用后,可以将交换机的端口分为trusted接口和untrusted接口,默认在交换机上启用后,所有接口变为untrusted接口,需要手工设置trunsted接口。对于untrusted接口,只能收到dhcp请求消息,drop掉dhcp的相应消息,并且也不会向这个接口发送出dhcp的请求消息。对于......
  • 使用RAG-Chroma和LangChain构建强大的问答系统
    标题:使用RAG-Chroma和LangChain构建强大的问答系统内容:使用RAG-Chroma和LangChain构建强大的问答系统引言在人工智能和自然语言处理领域,检索增强生成(Retrieval-AugmentedGeneration,RAG)技术正在迅速崛起。本文将介绍如何使用RAG-Chroma模板和LangChain框架构建......
  • AI时代的程序员:如何在变革中保持竞争力
            随着AIGC(如ChatGPT、MidJourney、Claude等)大语言模型的接连涌现,AI辅助编程工具正以惊人的速度改变着程序员的工作方式。这些工具不仅可以加速代码编写和调试,还能帮助开发者解决复杂问题。AI的崛起引发了广泛的讨论:程序员是否会被AI取代?还是说,AI将成为程序员工......
  • sleep()和wait()区别
    importlombok.*;/*o.wait();释放锁...Thread.sleep(6000);6004...**/publicclassT{@SneakyThrowspublicstaticvoidmain(String[]args){Objecto=newObject();newThread(()->{synchronized(o)......
  • Datawhale X 魔搭 AI夏令营 AIGC方向 Task3
    ComfyUI简介ComfyUI是一个基于节点工作流稳定扩散算法的图形界面,它通过将稳定扩散的流程巧妙分解成各个节点,成功实现了工作流的精准定制和可靠复现。基本概念节点工作流:ComfyUI的核心是基于节点式的工作流程,这种设计允许用户将复杂的稳定扩散过程分解为多个可独立操作的节点,通......
  • Langchain pandas agent - Azure OpenAI account
    Langchainpandasagent结合AzureOpenAI账户使用时,主要涉及到通过AzureOpenAI提供的自然语言处理能力,来操作pandasDataFrame或进行相关的数据处理任务。以下是关于这一结合使用的详细解析:一、Langchainpandasagent概述在LangChain中,Agent是一个核心概念,它代表了......