stable diffusion中的u net

Stable Diffusion 包含几个核心的组件:

  • 一个文本编码器(在 Stable Diffusion 中使用 CLIP 的 ViT-L/14 的文本编码器),用于将用户输入的 Prompt 文本转化成 text embedding
  • 一个 Image Auto Encoder-Decoder,用于将 Image 编码成隐含向量  ,或者从隐含向量 中还原出图片;
  • 一个 UNET 结构,使用 UNET 进行迭代降噪,在文本引导下进行多轮预测,将随机高斯噪声  转化成图片隐含向量 

 

这三个部分是相互独立的,其中最重要的是 UNET 结构。UNET 是从噪音中生成图像的主要组件,在预测过程中,通过反复调用 UNET,将 UNET 预测输出的 noise slice原有的噪声中去除,得到逐步去噪后的图像表示。Stable Diffusion Model 的 UNET 包含约 860M 的参数,以 float32 的精度编码大概需要 3.4G 的存储空间。整个 UNET 的如下图所示:

Stable Diffusion Unet 结构

图中列出了 UNET 的核心组件和各组件的参数数量。其中主要的组件包括:

ResnetBlock

左下角小图展示了 ResnetBlock 的结构。Resnet 接受两个输入:latent 向量,和 timestep_embedding。latent 向量经过卷积变换后和经过全连接投影的 timestep_embedding 做加和,再和经过 skip connection 的原始 latent 向量做加和,送入另一个卷积层,得到经 Resnet 编码变换后的 latent 输出。

注意左侧的 ResnetBlock 和右侧的 ResnetBlock 的细微不同。左侧的 Resnet Block 接受的 latent 向量从 UNET 的上一层传入,而右侧的 ResnetBlock 除了接受 UNET 上一层的结果 latent 外,还需要接受左侧对应的 UNET 层的输出,两个 latent concat 起来作为 输入。所以,如果右侧的 ResnetBlock 上层的输出结果 shape 为 (64, 64, 320),左侧对应 UNET 层的输出结果为 (64, 64, 640),那么这个 ResnetBlock 得到的输入 latent 的 shape 为 (64, 64, 960)。

Spatial Transformer(Cross Attention)

右下角小图展示了 Spatial Transformer 的结构。Spatial Transformer 同样接受两个输入:经过上一个网络模块(一般为 ResnetBlock)处理和变换后的 latent 向量,及对应的 context embedding(文本 prompt 经过 CLIP 编码后的输出)。latent 向量对应的是是图片 token,和 context embedding 做 cross attention 之后,得到变换后的 latent 向量(通过注意力机制,将 token 对应的语义信息注入到模型认为应该影响的图片 patch 中)。 Spatial Transformer 输出的 shape 和输出的 shape 保持一致,但在对应的位置上融合了语义信息。

DownSample/UpSample

DownSample 将 latent 向量的前两个轴的大小缩减 50%,而 UpSample 将 latent 向量的前两个轴的大小增大一倍。DownSample 使用一个步长为 2 的二维卷积来实现,同时将输入 latent 向量的 channel 数变化成输出 latent 向量的 channel 数;而 UpSample 使用插值算法来实现,在插值之后进行一个步长为 1 的卷积,同时通过一个步长为 1 的二维卷积来将输入 latent 向量的 channel 数变化成输出 latent 向量的 channel 数。

需要注意的是,在整个 UNET 执行一次的过程中,timestep_embedding 和 content embedding 始终保持不变。而在 UNET 反复执行多次的过程中,timestep_embedding 每次都会发生变化,而 content embedding 始终保持不变。在迭代过程中,每次 UNET 输出的 noise_slice 都原有的 latent 向量相减,作为下次迭代时,UNET 的 Latent 输入。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/351315.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Selenium自动化之弹窗处理

1.前言 我们在使用Selenium做Web自动化测试时,页面经常出现弹窗,如果不处理后续的测试脚本就无法正常运行,今天我们就带大家一起来学习如何处理Web页面上的弹窗。 2.Web页面弹窗的分类 弹窗通常有3种:Alert类型弹框、Confirm类…

leetcode98. 验证二叉搜索树(java)

验证二叉搜索树 leetcode98. 验证二叉搜索树题目描述 递归法解题思路代码演示 中序遍历解法解题思路代码演示 二叉树专题 leetcode98. 验证二叉搜索树 leetcode 98.验证二叉搜索树 来源:力扣(LeetCode) 链接:https://leetcode.cn/…

excel手机版_excel仓库管理手机版导出软件

在生产企业管理经营中、时常需要采用excel表格来制作仓库管理,然而excel制作的仓库只能在电脑端操作、非常的不方便。是不是可以由手机来替代同时也可以实现多人协同的管理方式。 事实现移动端的功能非常的强大、利用云服务计算就可以达到excel仓库管理的效果&#…

初识EasyUI

2.1何为EasyUI. EasyUI的全称是“JQuery EasyUI”,是一种基于jQuery、Angular、Vue和React的用户界面的插件的集合,EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样…

养鸡场的计算机管理,养鸡场管理系统7.3 免费版

综合养鸡场管理系统是一款专业的养鸡场专业必备软件,用户在这里可以很好的对鸡场进项系统化的管理,有需要的朋友们快来东坡下载吧! 进鸡及存栏、饲养管理、鸡蛋管理、售鸡管理、饲料管理、药品管理、财务管理八个功能模块 软件介绍 该系统功能…

财务软件Linux版本,免费财务会计软件GnuCash 2.6.17发布

GnuCash开发团队几天前宣布推出其个人和小型企业财务会计软件GnuCash 2.6.17的新维护版本,其中包含各种错误修复和一些翻译更新。 GnuCash 2.6.16之后的更改包括: 如果有交易,请防止更改某些帐户选项 修复Windows的网上银行向导崩溃 打开帐户…

e树企业管理系统 服务器连接,e树企业管理系统erp软件

e树企业管理系统erp软件是一款功能强大的进销存管理软件,软件操作简单,功能实用,支持进销存BOM生产MRP质检(IQC/FQC/PQC)车间日报/简单排产应收应付固定资产实际成本算法财务,欢迎需要的用户下载体验! 功能介绍 1>.进销存BOM生…

致远a8-v5-6.0协同管理软件_易达酒吧管理软件下载-易达酒吧管理软件v10.0免费版...

易达酒吧管理软件顾名思义是一款功能强大,专业实用的优秀酒店管理软件,软件根据服务性行业实际管理要求打造,软件具有会员销售、退还、存款、禁用(挂失、作废、临时禁用)等功能,相当的实用。 基本简介 易达酒吧管理支持打折、计次…

销售管理系统软件免费版(超实用销售管理系统)

说到销售管理系统,相信很多企业并不陌生,是因为销售管理系统已经成为大多数企业最不可或缺的工具。销售管理系统通常提供完整的销售管理功能模块,帮助企业对销售流程进行全面管理,提升销售效率,降低运作成本。该软件支…

实用工具 | 语音文本对齐MFA的安装及使用

Montreal Forced Aligner(MFA)[1]是一个用于将音频和文本进行对齐的工具。它可以用于语音识别、语音合成和发音研究等领域。MFA支持多种语言和语音,用户可以根据需要自定义训练模型。 本博客介绍如何使用MFA对音频和文本进行对齐&#xff0c…

几款免费开源的企业管理软件

1、2bizbox 官方地址:http://www.2bizbox.cn/ 2BizBox就是为中小制造企业量身定做的高品质ERP 。 2BizBox ERP软件不但永久免费,还提供了完备的后续增值服务:云ERP、培训、实施、二次开发、BizCare客户保障计划等,这些服务为企业实施ERP提供…

2022好用的手机库存管理软件排行榜前十名 手机库存管理app

市面上的服装进销存软件那么多?该如何选到适合自己的那款呢?最好的方法是看看大家的选择。 大众的选择即是合适的,这是有道理的,顺便看看大家的评价来选择,就不会差了。小编整理了最受欢迎的十大进销存软件,希望对大家有用。 第一名:秦丝进销存 软件介绍:秦丝主要集采购、销…

易软门诊管理9.1破解版

1、升级之前一点做好软件的数据备份和软件备份,以防升级不成功造成暂时不能用。 备份包含(软件安装目录的database文件夹和YRclinic文件) 2、每次升级完毕,系统默认的用户Admin拥有软件所有功能的操作权限。自己分配的将没有此权…

库存管理 库存管理软件榜单 库存管理软件排名 库存管理提高效率的办法

做生意的最不可少的软件就是进销存,告别手工记账,大大地提高运营效率。 但是市面上的进销存软件那么多,一个个去试要花费很多精力,最好的运气是一眼相中。 今天小编就来整理老板们最推荐的10款进销存软件,希望能帮到你。 第一名:秦丝进销存 推荐指数:★★★★★ 秦丝主以Sa…

库存管理软件免费版软件哪个好用?

阅读本文您将了解:1.库存管理系统软件免费的有哪些;2.库存管理系统软件怎么选。 一、库存管理系统软件免费的有哪些 1、简道云 官网:https://www.jiandaoyun.com 简道云仓库管理系统涵盖仓库管理全流程,可以进行在线填报数据&am…

【自动化测试基础】Appium自动化环境搭建保姆级教程

APP自动化测试运行环境比较复杂,稍微不注意安装就会失败。我见过不少朋友,装了1个星期,Appium 的运行环境还没有搭好的。 搭建环境本身不是一个有难度的工作,但是 Appium 安装过程中确实存在不少隐藏的比较深的坑,如果…

【AI】InsCode AI 创作助手 --使用心得

CSDN AI写作助手上线了!InsCode AI 创作助手不仅能够帮助用户高效创作文章,而且能够作为对话式AI回答你想知道的问题。成倍提高生产力!欢迎大家使用新功能后分享自己的使用心得与建议! 文章目录 一、你平时会使用这类AI工具吗&am…

实训第一天

目录 主流的关系数据库 非关系型数据库 Mysql的启动和停止 Mysql登录方式本地登录 远程登录 查看mysql数据库 创建数据库 使用数据库 删除数据库 Mysql结构化查询语句 mysql 数据类型 数值类型 字符类型 日期类型 唯一约束与主键约束 主流的关系数据库 mysql,db2,oracle&a…

常用编码格式整理

什么是字符集,字符编码,编码和解码: 字符集: 将一些自然语言中的字符组成一个集合; 字符编码: 字符编码,就是建立一套自然语言中的“字符”跟计算机能够存储 处理的二进制数的映射的规则。 即在一个字符集内…

2023新版Spring6全新讲解-核心内容之事务管理

Spring核心之事务 一、JdbcTemplate JdbcTemplate是Spring框架对JDBC操作进行的封装,可以简化方便对数据库的操作。 1.数据库表结构 准备一张普通的表 CREATE TABLE t_student (id int NOT NULL AUTO_INCREMENT,name varchar(32) DEFAULT NULL,age int DEFAULT N…