Stable Diffusion XL网络结构-超详细原创

强烈推荐先看本人的这篇

Stable Diffusion1.5网络结构-超详细原创-CSDN博客

1 Unet

1.1 详细整体结构

1.2 缩小版整体结构

以生成图像1024x1024为例,与SD1.5的3个CrossAttnDownBlock2D和CrossAttnUpBlock2D相比,SDXL只有2个,但SDXL的CrossAttnDownBlock2D模块有了更多的Transformer模块,且只进行了两次下采样,具体的往下看

1.2.1 DownBlock2D

1.2.1.1 ResBolck2D

和SD1.5不一样的是,多了time_id这个输入,表示origin_size, target_size,以及裁剪坐标,比如图中的time_id=[[1024, 1024, 0, 0, 1024, 1024],[1024, 1024, 0, 0, 1024, 1024]]

有一半是负向提示词,以[1024, 1024, 0, 0, 1024, 1024],为例,两个[1024, 1024]表示origin_size, target_size,[0, 0]是裁剪坐标,这是SDXL在训练的时候用了一些trick,把原始输入图像和目标图像的大小,以及裁剪坐标也作为条件参与训练

Downsample2D通过步长为2的卷积进行下采样

 

1.2.2 CrossAttnDownBlock2D

CrossAttnDownBlock2D_1

CrossAttnDownBlock2D_1表示第一个CrossAttnDownBlock2D,它的Transformer2DModel有两个BasicTransformerBlock,而SD1.5的Transformer2DModel只有一个BasicTransformerBlock

CrossAttnDownBlock2D_2

CrossAttnDownBlock2D_2表示第2个CrossAttnDownBlock2D,它的Transformer2DModel有10个BasicTransformerBlock

 1.2.3 UnetMidBlock2DCrossAttn

其中的Transformer2DModel有10个BasicTransformerBlock

 1.2.4 CrossAttnUpBlock2D

CrossAttnUpBlock2D_2

CrossAttnUpBlock2D_2表示第2个CrossAttnUpBlock2D,它的Transformer2DModel有10个BasicTransformerBlock,UpSample2D和SD1.5结构一致

CrossAttnUpBlock2D_1

CrossAttnUpBlock2D_1表示第21个CrossAttnUpBlock2D,它的Transformer2DModel有2个BasicTransformerBlock

未完待续

2 CLIP

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何选择示波器?

简介 对于很多工程师来讲,从市场中上百款不同价格和规格的各种型号的示波器中,选择一台新示波器是一件很挠首的事情。本文就旨在指引你拨开迷雾,希望能帮助你避免付出昂贵的代价。 重中之重 选择示波器的第一步不是要看那些示波器的广告和规…

MAVEN——PACKAGE、INSTALL、DEPLOY的联系与区别

我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。下面通过分别执行这三个命令的输出结…

Openlayer【三】—— 绘制多边形GeoJson边界绘制

1.1、绘制多边形 在绘制多边形和前面绘制线有异曲同工之妙,多边形本质上就是由多个点组成的线然后连接组成的面,这个面就是最终的结果,那么这里使用到的是Polygon对象,而传给这个对象的值也是多个坐标,坐标会一个个的…

分享几个MicroPython开发的ES32项目源码

最近在学习物联网,必不可少的就是需要玩一下ESP8266和ESP32,当然开发它们的语言分为C/C 今天带给大家几个MicroPython开发的几个ESP32的项目源码,喜欢的童鞋可以关注一下 1、点亮开发板LED灯 from machine import Pinled_pin Pin(4,Pin.O…

软件测评中心进行安全测试有哪些流程?安全测试报告如何收费?

在当今数字化时代,软件安全测试是每个软件开发团队都不能忽视的重要环节。安全测试是指对软件产品进行系统、全面的安全性评测与检测的过程。它旨在发现并修复软件中存在的漏洞和安全隐患,以确保软件能够在使用过程中保护用户的数据和隐私不被非法访问和…

SpringSecurity+JWT权限认证

SpringSecurity默认的是采用Session来判断请求的用户是否登录的,但是不方便分布式的扩展 虽然SpringSecurity也支持采用SpringSession来管理分布式下的用户状态,不过现在分布式的还是无状态的Jwt比较主流 一、创建SpringBoot的项目 spring-boot-starte…

【giszz笔记】产品设计标准流程【8】

(续上回) 真的没想到写了8个章节,想参考之前文章的,我把链接给到这里。 【giszz笔记】产品设计标准流程【7】-CSDN博客 【giszz笔记】产品设计标准流程【6】-CSDN博客 【giszz笔记】产品设计标准流程【5】-CSDN博客 【giszz笔…

Transformer——encoder

本文参考了b站的Eve的科学频道中的深入浅出解释Transformer原理和DASOU讲AI中的Transformer从零详解。 入浅出解释Transformer原理 Transformer从零详解 前言: 在自然语言识别中,之前讲过lstm,但是lstm有明显的缺陷,就是当文本过…

[SCTF 2021]rceme

文章目录 前置知识可变参数绕过create_function注入无字母数字RCE动态链接库so绕过disable_functions利用php原生类进行文件读取 解题过程 前置知识 可变参数绕过 PHP 在用户自定义函数中支持可变数量的参数列表。在 PHP 5.6 及以上的版本中,由 … 语法实现&#x…

redis的过期策略以及定时器的实现

Redis是客户端服务器结构的程序,客户端与服务器通过网络通信,所以对于keys *这种的操作在大型企业中不太建议,生产环境下的key会非常多,Redis是但现成的服务器,执行keys*的时间非常长,就会导致redis服务器阻…

同为科技(TOWE)桌面PDU插排:一款可以DIY定制的“超级插座”

当今社会,各种电子产品和家用电器已成为人们日常生活中不可或缺的一部分,在带给人们便利的同时,也使得电力使用变得更加频繁和重要。然而,当前市面上很多普通插座由于功能单一、材质粗劣、插口数量受限、充电速度过慢、插头间互相…

子虔与罗克韦尔自动化合作 进博会签约自动化净零智造联创中心

11月6日进博会现场,漕河泾罗克韦尔自动化净零智造联创中心合作协议签约暨合作伙伴(第一批)授牌仪式举办,子虔科技作为联创中心合作伙伴签约,携手共建智能制造,引领行业可持续发展。 图示:子虔科…

QTableView表头Header增加复选框Checkbox

原文出处&#xff1a;Qt 之 QHeaderView 添加复选框_qtableview添加复选框-CSDN博客 这哥们只贴了部分代码&#xff0c;我还是把它弄好分享给大家吧 DTableHeaderView.h #ifndef DTABLEHEADERVIEW_H #define DTABLEHEADERVIEW_H#include <QHeaderView>class DTableHea…

高精度人像背景分割SDK技术解决方案

图像处理技术已经成为企业和个人生活中不可或缺的一部分&#xff0c;特别是在人像处理方面&#xff0c;如何准确、高效地将人物与背景分离&#xff0c;一直是一个技术难题。然而&#xff0c;美摄科技凭借其在AI深度学习领域的深厚积累&#xff0c;推出了一款高精度的人像背景分…

app抓包-突破【单向证书验证代理检测模拟器检测】

0x00 app的普通抓包配置 1.模拟器开启本地以太网代理&#xff0c;设置端口&#xff0c;bp监听以太网系统端口即可 2.科来协议分析&#xff0c;可以获取模拟器进程的网络通讯信息&#xff0c;目标通讯的ip地址 3.封包监听工具&#xff0c;同科来一致&#xff0c;监听的进程即可…

gitlab

Gitlab 安装git yum安装 [rootgit ~]# yum -y install git编译安装 Git官网 #安装依赖关系 [rootgit ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel autoconf gcc perl-ExtUtils-MakeMaker # 编译安装 [rootgit ~]# tar -zxf git-2.0…

[汇编实操]DOSBox工具: unable to open input file: 文件名.asm问题解决

出错原因1 &#xff1a;将文件放在debug文件下&#xff0c;mount后发现并没有该文件 解决方案 &#xff1a;重启DOSBox&#xff0c;重新mount&#xff0c;直到dir后可以看到该asm文件 出错原因2&#xff1a;DOS系统不支持8位以上的文件名 解决方案 &#xff1a;将文件名改为8…

智能座舱架构与芯片- (14) 测试篇 上

一、 验证平台概要 1.1 测试软件方法论 “软件定义汽车” 的时代&#xff0c;软件在整车制造中的重要性日渐凸显。但不同于其他行业的软件开发&#xff0c;汽车行业有自己独特的软件开发要求。首先是需求严谨、需求层次复杂、需要通过专业的工具进行管理&#xff1b;其次开发…

基恩士软件的基本操作(四,快速编辑plc技巧)

目录 单元软原件注释快速添加 双击单元配置&#xff0c;进入单元编辑器 KV一键添加注释 双击软元件注释 进入软元件编辑界面 &#xff0c;对弹出的列表中软元件打勾点击登录 元件注释就自动添加了 注释收索&#xff0c;快速编辑软元件 自定义注释收索 空软元件快速查找 …

8.2 Windows驱动开发:内核解锁与强删文件

在某些时候我们的系统中会出现一些无法被正常删除的文件&#xff0c;如果想要强制删除则需要在驱动层面对其进行解锁后才可删掉&#xff0c;而所谓的解锁其实就是释放掉文件描述符&#xff08;句柄表&#xff09;占用&#xff0c;文件解锁的核心原理是通过调用ObSetHandleAttri…