网站建设个人工作室/近三天新闻50字左右
与之前的SD1.5大模型不同,这次的SDXL在架构上采用了“两步走”的生图方式:
以往SD1.5大模型,生成步骤为 Prompt → Base → Image,比较简单直接;而这次的SDXL大模型则是在中间加了一步 Refiner。Refiner的作用是什么呢?简单来说就是能够自动对图像进行优化,提高图像质量和清晰度,减少人工干预的需要。
简单来说,SDXL这种设计就是先用基础模型(Base)生成一张看起来差不多的图片,然后再使用一个图像精修模型(Refiner)进行打磨,从而让图片生成的质量更高。而在没有这个之前,我们往往需要通过其他手段,如高清修复或面部修复来进行调优。
除了有出图质量更高这个优势,SDXL还有以下优点:
-
支持更高像素的图片(1024 x 1024)
-
对提示词的理解能力更好,比较简短的提示词也能达到不错的效果
-
相比SD1.5模型,在断肢断手多指的情况上有所改善
-
风格更为多样化
当然,每件事物不可能是完美的,所以SDXL也有一些局限性:
1、低像素出图质量不高
由于SDXL都是用1024x1024的图片训练的,这既导致它在这个像素级别上生成的质量比较高。但同时也导致了它在低像素级别(如512x512)生成的质量反而比较低,甚至不如SD1.5等模型。
2、与旧Lora不兼容
过去一些适用于SD1.5, 2.x 的Lora和ControlNet模型,大概率无法使用,得重新找一些带有SDXL的模型
3、对GPU显存的要求更高(这个下面会着重讲到)
4、出图时间也变久了
好了,简单讲完了SDXL大模型以及它的优缺点,接下来就开始实战了!
一、模型的下载
这次模型的下载有点不同,因为我们需要下载三个模型,分别是:sd_xl_base_1.0.safetensors、[1]sd_xl_refiner_1.0.safetensors 和 [2]sdxl_vae.safetensors[3] 。
三个模型的地址分别是:
-
https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main
-
https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/tree/main
-
https://huggingface.co/stabilityai/sdxl-vae/tree/main
二、模型的加载
如果你的模型下载好了,就把 sd_xl_base_1.0.safetensors、sd_xl_refiner_1.0.safetensors 丢到根目录的 models\Stable-diffusion,把 sdxl_vae.safetensors 丢到 models\VAE 即可。
需要注意的是 Refiner 模型的加载,看发布日志是 SD1.6.0 的时候才支持,所以如果想使用的话得看你的版本有没有达到。另外就是这里的SD1.6.0指的是内核的版本,并不是模型的版本(不要被各种简写误导了)
内核的版本指的是这里的版本
还有一个需要注意的是貌似升级版本容易有一些不兼容的问题,而且在使用SDXL大模型时也不一定就得用Refiner,单纯使用基础模型(base)也是OK的,只不过效果会差点,所以建议升级前也做一下调研工作。
最后Refiner的位置可能没那么显眼,在生成选项卡里面
三、显存的大小
由于SDXL的模型和出图尺寸比之前的SD1.5大得多,所以也间接导致了它在出图方面所需要的显存和时间也变大了。
那到底需要多少显存呢?网上有一个说法是:跑SDXL最低显存是8G。经过我的测试,这个数据具有一定参考性,在进行一些优化的情况下,8G的显存的确能跑;但如果你什么优化都不做的话,8G的显存是不够的。
我自己的显卡是4060Ti 16G,内存32G,在这个配置的基础上我做了几个小测试(都是1024 x 1024的尺寸)
提示词:
a beatuiful real female play guitar
3.1 不开任何优化 + 不使用Refiner
第一个测试是在不开任何优化的情况下出图,结果还是出人意料的,居然爆显存了
3.2 不开任何优化 + 使用Refiner
第二个测试是在第1个的基础上,加了Refiner,但出乎意料的是,并没有爆显存,但从下方的显存使用看,也几乎达到了极限。为什么加了Refiner就没有爆显存我也不太清楚,希望有大佬留言科普下。
这里也简单说明最下方的A、R、Sys 三个指标:
💡
A,Active:peak amount of video memory used during generation(excluding cache data),个人理解就是出图时使用的显存峰值
R,Reserved:total amount of video memory allocated by the Torch library,个人理解就是Torch 库使用的显存总量
Sys:System:peak amount of video memory allocated by all running programs, out of total capacity,个人理解就是使用显存的占比。
3.3 开启VAE模型半精度优化
这个开了之后(貌似这个不是实时生效的,所以每一次修改后我都会重启),发现其实效果不大,显存的使用率和第二个测试是差不多的。
3.4 开启 VAE + UNet模型半精度优化
加了UNet模型半精度优化,显存使用率下降了一部分(12G差不多能跑),而且出图时间也下降了很多!为什么加了UNet显存使用率会下降明显,看网上一篇文章[4]说SDXL用了 larger UNet backbone,猜测是这个原因导致的。
3.5 开启 VAE + UNet模型半精度优化 + 显存优化
前面四个测试都是在不开显存优化的情况下进行的,在第五个测试中,开了显存优化后,显存下降会比之前更加明显(比3.4下降了一半),但是出图时间会略长。
从这里也可以看出,显存优化的作用还是蛮明显的,不过我也试了中等显存(4GB以上)、仅SDXL中等显存(8GB以上),但是两者并没有明显区别。
通过上面的测试,我们也可以初步得到:跑SDXL最低显存是8G的说法是有一定准确性的,不过这个准确性大概率是建立在开了半精度优化和显存优化的基础上。如果你的显存达不到8G,除了上面的手段,也可以试试使用共享显存的优化方案,应该还能降一点。
四、出图测试
4.1 设置图片默认宽高
秋叶安装包默认的宽高是512x512,但是对于SDXL模型,这个尺寸是不适合的,每次刷新页面后又得调整,就想着能不能把默认值改成 1024x1024.
第一步,刷新页面,将尺寸改为 1024x1024
第二步,在设置里面找到“默认设置”
第三步,点击应用按钮即可。如果你想看改了啥,还可以点击“查看更改”按钮
上面的步骤实际改的是ui-config.json 配置的这两个参数,对了,如果要生效必须重启启动器,刷新页面是没用的
txt2img/Width/value txt2img/Height/value
4.2 提示词理解能力对比
我给的提示词是上篇文章《Stable diffusion 3:跌宕起伏,或许终见彩虹》测试SD3的
Epic anime artwork of a wizard atop a mountain at night casting a cosmic spell into the dark sky that says "Stable Diffusion 3" made out of colorful energy
可以看到SDXL的对自然语言的提示词的理解能力确定吊打之前的模型
4.3 文字拼写能力测试
看网上说SDXL的文字拼写能力比较强,简单来说就是能按要求在图片写字,提示词如下:
// 用的网上的提示词,字面意思就是在头盔上写 future 英文
# a cyberpunk girl is wearing a helmet,the helmet with the words"future" written on it,
总体感觉能力肯定是进步的,但比SD3还是差了不少,这也是从出的图里面选几张比较好的
4.4 优秀的提示词借鉴
50+ Best SDXL Prompts For Breathtaking Images[5]
这是一位SD资深大神整理的,100款Stable Diffusion超实用插件,涵盖目前几乎所有的,主流插件需求。
全文超过4000字。
我把它们整理成更适合大家下载安装的【压缩包】,无需梯子,并根据具体的内容,拆解成一二级目录,以方便大家查阅使用。
单单排版就差不多花费1个小时。
希望能让大家在使用Stable Diffusion工具时,可以更好、更快的获得自己想要的答案,以上。
如果感觉有用,帮忙点个支持,谢谢了。
想要原版100款插件整合包的小伙伴,可以来点击下方插件直接免费获取
相关文章:

Stable diffusion的SDXL模型,针不错!(含实操)
与之前的SD1.5大模型不同,这次的SDXL在架构上采用了“两步走”的生图方式: 以往SD1.5大模型,生成步骤为 Prompt → Base → Image,比较简单直接;而这次的SDXL大模型则是在中间加了一步 Refiner。Refiner的作用是什么呢…...

wordpress轻量免费主题
WordPress建站公司 适合提供WordPress建站服务的公司或个体(个人)工作室使用的WordPress建站公司主题模板。 https://www.jianzhanpress.com/?p545 首屏大图红色简洁wordpress主题 首屏大图红色简洁wordpress主题,非常地高端大气上档次,可用于多个行…...

Go AfterFunc 不触发
前言 函数原型为: func AfterFunc(d Duration, f func()) *TimerGo 的 time.AfterFunc 的作用是等待指定的时间间隔,然后在它自己的 goroutine 中调用 f。 现在有一个问题,我明明调用了 AfterFunc,但是它还没调用我指定的函数&…...

小程序视图渲染数据和部分事件的绑定
今天依旧使用这个目录进行教学 数据的渲染 在 index.js的 page中定义一个data对象结构是这样的 Page({data:{name:张三} }) 在index.wxml 中 利用模板语法进行渲染 <view >{{name}}</view> 注意这个模板里边不能使用js的方法 要循环渲染数组,如 在…...

“探索AIGC市场:腾讯元宝APP加入竞争,大模型产品的未来走向与个人选择“
文章目录 每日一句正能量前言使用体验分享独特优势和倾向选择字节豆包百度文心一言阿里通义千问腾讯元宝个人倾向选择结论 未来发展方向技术创新可持续可拓展性用户体验应用场景政府赋能数据安全与隐私保护伦理与社会责任国际合作与竞争结论 后记 每日一句正能量 不管现在有多么…...

node设置镜像源详细教程
在Node.js环境中,你可以通过设置npm或yarn的镜像源来加速依赖包的下载。以下是如何设置npm和yarn的镜像源的详细步骤: 使用npm设置镜像源 临时设置镜像源: 你可以在安装包时临时指定镜像源,例如: npm install package…...

四季变换,制氮机使用注意事项
随着四季的轮回变换,大自然展现着不同的风貌。对于制氮机而言,季节的变换同样会带来不同的使用挑战和注意事项。本文将为您揭示四季变换对制氮机使用的影响,帮助您更好地掌握制氮机的季节使用须知。 春季 温湿度变化:春季温湿度逐…...

如何实现办公终端安全
在网络安全日益严峻的当下,可信白名单作为一种高效的终端安全防护手段,正在逐渐受到业界的广泛关注和应用。本文将简要探讨可信白名单如何实现终端安全的原理、方法及其在实际应用中的优势与挑战。 首先,我们需要了解可信白名单的基本原理。可…...

【云岚到家】-day01-项目熟悉-查询区域服务开发
文章目录 1 云岚家政项目概述1.1 简介1.2 项目业务流程1.3 项目业务模块1.4 项目架构及技术栈1.5 学习后掌握能力 2 熟悉项目2.1 熟悉需求2.2 熟悉设计2.2.1 表结构2.2.2 熟悉工程结构2.2.3 jzo2o-foundations2.2.3.1 工程结构2.2.3.2 接口测试 3 开发区域服务模块3.1 流程分析…...

Docker面试整理-如何进行Docker镜像的构建和发布?
构建和发布 Docker 镜像是 Docker 使用中的一个常见任务,通常涉及编写 Dockerfile、构建镜像以及将其推送到镜像仓库的过程。以下是构建和发布 Docker 镜像的详细步骤: 1. 编写 Dockerfile 首先,你需要创建一个 Dockerfile,这是一个包含了一系列指令的文本文件,用来告诉 D…...

macOS Sequoia 将 Mac 生产力与智能化提升至全新高度 (macOS 15 ISO、IPSW、PKG 下载)
macOS Sequoia 将 Mac 生产力与智能化提升至全新高度 (macOS 15 ISO、IPSW、PKG 下载) iPhone 镜像、Safari 浏览器重大更新、备受瞩目的游戏和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接:https://sysin.org/blog/macOS-Sequoia/&a…...

用户管理与服务器远程管理
用户管理 服务器系统版本介绍 windows服务器系统:win2000 win2003 win2008 win2012 linux服务器系统:Redhat Centos 用户管理 用户概述 (1)每一个用户登录系统后,拥有不同的操作权限。 (2)…...

Pytorch 实现简单的 线性回归 算法
Pytorch实现简单的线性回归算法 简单 tensor的运算 Pytorch涉及的基本数据类型是tensor(张量)和Autograd(自动微分变量) import torch x torch.rand(5, 3) #产生一个5*3的tensor,在 [0,1) 之间随机取值 y torch.o…...

Django中配置日志
在Django中配置日志的方法非常简单,只需要在 setting 文件中添加配置项,系统会自动生成相应的日志文件,也可以配置调试时显示内容,报错发送邮件等操作。 在setting.py中添加以下配置。 # 日志配置 LOGS_DIRS os.path.join(BASE…...

海外盲盒小程序背后的技术支撑与实现
海外盲盒小程序之所以能够迅速崛起并受到全球消费者的喜爱,除了其独特的商业模式和营销策略外,更重要的是其背后的技术支撑和实现。本文将深入探讨海外盲盒小程序背后的技术支撑及其实现方式。 一、多语言与本地化技术 为了满足全球不同地区消费者的需…...

vue问题记录
vue3 路由跳转携带参数 路由跳转携带参数 query方法 //跳转传参 this.$router.push({path:/home,query: {id:1}}) //接受参数 this.$route.query.id问题:刷新页面,参数会丢失—未解决 将参数存在本地存储中,但是组件销毁时,清…...

Flutter - Material3适配
demo 地址: https://github.com/iotjin/jh_flutter_demo 代码不定时更新,请前往github查看最新代码 Flutter - Material3适配 对比图具体实现一些组件的变化 代码实现Material2的ThemeDataMaterial3的ThemeData Material3适配官方文档 flutter SDK升级到3.16.0之后 …...

一个有趣的c++案例
1. 源码 #include <stdio.h> #include <stdint.h> #include <iostream>using namespace std;uint8_t a 0; uint8_t b 0;#define MY_LOG#ifdef MY_LOG#define my_log(...) printf(__VA_ARGS__); fflush(stdout)#else #define my_log(...) #endifvoid …...

【python】OpenCV—Background Estimation(15)
文章目录 中值滤波中值滤波得到图像背景移动侦测 学习来自 OpenCV基础(14)OpenCV在视频中的简单背景估计 中值滤波 中值滤波是一种非线性平滑技术,主要用于数字信号处理,特别是在图像处理中去除噪声。 一、定义与原理 定义&am…...

【Java毕业设计】基于JavaWeb的旅游论坛管理系统
文章目录 摘 要目 录1 概述1.1 研究背景及意义1.2 国内外研究现状1.3 拟研究内容1.4 系统开发技术1.4.1 Java编程语言1.4.2 vue技术1.4.3 MySQL数据库1.4.4 B/S结构1.4.5 Spring Boot框架 2 系统需求分析2.1 可行性分析2.2 系统流程2.2.1 操作流程2.2.2 登录流程2.2.3 删除信息…...

讲一下v-model的底层实现原理?
什么是v-model? 在Vue.js中,v-model是一个用于实现双向数据绑定的指令。它通常用于表单控件上,以便能够在视图和数据模型之间自动同步数据。具体来说,当用户在输入框中输入内容时,数据模型会自动更新;当数…...

大模型基础——从零实现一个Transformer(3)
大模型基础——从零实现一个Transformer(1)-CSDN博客 一、前言 之前两篇文章已经讲了Transformer的Embedding,Tokenizer,Attention,Position Encoding, 本文我们继续了解Transformer中剩下的其他组件. 二、归一化 2.1 Layer Normalization layerNorm是针对序列数据提出的一种…...

一二三应用开发平台应用开发示例——概述、应用开发示例简介及创建前后端模块
概述 对于应用开发平台的核心基石——系统管理模块,我精心撰写了一份详尽的说明手册。该手册旨在从使用者的角度出发,不仅全面阐述系统的各项属性和功能,更着重强调使用过程中的注意事项和最佳实践。 在手册的编写过程中,我特别…...

springboot+minio+kkfileview实现文件的在线预览
在原来的文章中已经讲述过springbootminio的开发过程,这里不做讲述。 原文章地址: https://blog.csdn.net/qq_39990869/article/details/131598884?spm1001.2014.3001.5501 如果你的项目只是需要在线预览图片或者视频那么可以使用minio自己的预览地址进…...

HTML5+CSS3小实例:粘性文字的滚动效果
实例:粘性文字的滚动效果 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sca…...

Java 关于抽象 -- Java 语言的抽象类、接口和函数式接口
大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 008 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进一步完善自己对整个 Java 技术体系来充实自…...

用 Notepad++ 写 Java 程序
安装包 百度网盘 提取码:6666 安装步骤 双击安装包开始安装。 安装完成: 配置编码 用 NotePad 写 Java 程序时,需要设置编码。 在 设置,首选项,新建 中进行设置,可以对每一个新建的文件起作用。 Note…...

malloc brk mmap
malloc 是一个库函数,通常在 C 标准库中实现,用于动态内存分配。malloc 的具体实现可能因库、操作系统和平台而异,但通常它会与底层操作系统提供的内存管理功能进行交互。 对于大多数现代操作系统(如 Unix、Linux、Windows 等&am…...

java多线程相关概念
在Java多线程编程中,有几个关键的术语需要理解: 1.线程(Thread):线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。 2.进程(Process):进程是系统进行资源分配和调度…...

【html】简单网页模板源码
大家每一次在写网页的时候会不会因为布局而困扰今天就给大家带来一个我自己亲自编写的网页的基本的模板大家可以直接去利用,大家也可以利用自己的想法去做空间的美化和完善。 源码: html: <!DOCTYPE html> <html lang"zh"><…...