Stable Diffusion - Stable Diffusion WebUI 支持 SDXL 1.0 模型的环境配置

news2024/12/23 14:52:18

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/132056980

Img

SDXL v1.0 版本 是 Stable Diffusion 的最新版本,是基于潜在扩散模型的文本到图像生成技术,能够根据输入的任何文本生成高分辨率、高质量、高多样性的图像,具有以下特点:

  • 更好的成像质量:SDXL v1.0 版本能够以几乎任何艺术风格生成清晰、逼真、美观的图像,无论是风景、人物、建筑还是动物,都能呈现出细节和色彩,相比于之前的版本有着巨大的提升。

  • 更多的艺术风格:SDXL v1.0 版本相比于之前的版本,能够实现更多的风格,并且对于每种风格都能驾驭。因此,可以尝试更多的艺术家名称和美学,比如梵高、莫奈、达利等,也可以自由创造出想要的风格。

  • 更智能、更简单的语言:SDXL v1.0 版本只需少量单词,就能创建复杂、详细、美观的图像。不再需要调用 “杰作” 等限定词,来获得高质量图像。

  • 更高的分辨率:SDXL v1.0 版本的基础分辨率是 1024x1024,相比于之前的版本,可以产生更好的图像细节,同时处理宽高比的效果更好。可以根据需求选择不同的分辨率和宽高比,例如16:9、3:2、4:3等。

  • 更大的开放图像模型:在已知的开源文生图模型中,SDXL v1.0 版本拥有最大的参数量,建立在一个创新的架构之上,即由 3.5B 参数的基础模型和 6.6B 参数的精炼器组成。完整模型由一个专家混合管道组成,用于潜在扩散。

SDXL v1.0 版本 也进行以下优化:

  • 对于 Stable Diffusion 的U-NetVAECLIP Text Encoder三大组件都做了改进。

    • U-Net 增加 Transformer Blocks (自注意力 + 交叉注意力) 来增强特征提取和融合能力;
    • VAE 增加条件变分自编码器来提升潜在空间的表达能力;
    • CLIP Text Encoder 增加两个大小不同的编码器来提升文本理解和匹配能力。
  • 增加单独基于 Latent 的 Refiner 模型,来提升图像的精细化程度。Refiner 模型也是一个潜在扩散模型,接收基础模型生成的图像 Latent 特征作为输入,进一步去噪和优化,使得最终输出的图像更加清晰和锐利。

  • 设计了很多训练 Tricks,包括图像尺寸条件化策略,图像裁剪参数条件化以及多尺度训练等。这些 Tricks 可以提高模型的泛化能力和稳定性,使得模型能够适应不同的分辨率和宽高比,以及不同的图像内容和风格。

  • 预先发布 SDXL 0.9 测试版本,基于用户使用体验和生成图片的情况,针对性增加数据集和使用 RLHF 技术优化迭代推出 SDXL 1.0 正式版。RLHF 是一种基于强化学习的图像质量评估技术,可以根据人类的偏好来调整模型的参数,使得生成图像的色彩,对比度,光线以及阴影方面更加符合人类的审美。


1. 升级 WebUI

查看 Stable Diffusion WebUI 的当前版本,以及更新至最新版本,即:

git pull
git diff [your file]
git checkout [your file]
git pull
git tag
git pull origin master

升级之后,在 modules/ui_extensions.py 中修改插件更新源,实现更快查询,即:

https://ghproxy.com/

stable-diffusion-webui 官网 GitHub

当前最新版本的提交,即:

commit 68f336bd994bed5442ad95bad6b6ad5564a5409a
Merge: a3ddf46 50973ec
Author: AUTOMATIC1111 <16777216c@gmail.com>
Date:   Thu Jul 27 09:02:22 2023 +0300

    Merge branch 'release_candidate'

建议预先下载支持工程,工程较大,建议提前下载,即:

cd repositories
git clone https://ghproxy.com/https://github.com/Stability-AI/generative-models.git

重启 WebUI,即可。

nohup python -u launch.py --listen --port 9301 --xformers --no-half-vae --enable-insecure-extension-access --theme dark --gradio-queue > nohup.62.out &
tail -f nohup.62.out

输出日志,启动正确,即:

Python 3.8.16 (default, Mar  2 2023, 03:21:46) 
[GCC 11.2.0]
Version: v1.5.1
Commit hash: 68f336bd994bed5442ad95bad6b6ad5564a5409a
Checking roop requirements
Install insightface==0.7.3
Installing sd-webui-roop requirement: insightface==0.7.3
Install onnx==1.14.0
Installing sd-webui-roop requirement: onnx==1.14.0
Install onnxruntime==1.15.0
Installing sd-webui-roop requirement: onnxruntime==1.15.0
Install opencv-python==4.7.0.72
Installing sd-webui-roop requirement: opencv-python==4.7.0.72
Launching Web UI with arguments: --listen --port 9301 --xformers --no-half-vae --enable-insecure-extension-access --theme dark --gradio-queue
[-] ADetailer initialized. version: 23.7.6, num models: 12
dirname:  /nfs_baoding/chenlong/workspace_v2/stable_diffusion_webui_docker/localizations
localizations:  {'zh-Hans (Stable)': 'extensions/stable-diffusion-webui-localization-zh_Hans/localizations/zh-Hans (Stable).json', 'zh-Hans (Testing)': 'extensions/stable-diffusion-webui-localization-zh_Hans/localizations/zh-Hans (Testing).json'}
2023-08-02 09:27:48,494 - ControlNet - INFO - ControlNet v1.1.233
ControlNet preprocessor location: /nfs_baoding/chenlong/workspace_v2/stable_diffusion_webui_docker/extensions/sd-webui-controlnet/annotator/downloads
2023-08-02 09:27:49,996 - ControlNet - INFO - ControlNet v1.1.233
sd-webui-prompt-all-in-one background API service started successfully.
2023-08-02 09:28:02,472 - roop - INFO - roop v0.0.2
2023-08-02 09:28:02,516 - roop - INFO - roop v0.0.2
Loading weights [ed989d673d] from models/Stable-diffusion/Dreamshaper_7.safetensors
Creating model from config: /configs/v1-inference.yaml
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
Applying attention optimization: xformers... done.
Model loaded in 4.9s (load weights from disk: 0.2s, create model: 0.6s, apply weights to model: 1.3s, apply half(): 0.6s, move model to device: 1.4s, load textual inversion embeddings: 0.6s).
Running on local URL:  http://0.0.0.0:9301
To create a public link, set `share=True` in `launch()`.
Startup time: 657.7s (launcher: 356.6s, import torch: 105.7s, import gradio: 22.1s, setup paths: 27.5s, import ldm: 0.3s, other imports: 21.2s, opts onchange: 0.2s, setup codeformer: 1.7s, list SD models: 0.5s, load scripts: 92.9s, load upscalers: 0.2s, initialize extra networks: 0.2s, create ui: 7.8s, gradio launch: 18.2s, app_started_callback: 2.5s).

2. 配置环境

安装 Refiner 支持插件,参考,即:

cd extensions
git clone https://ghproxy.com/https://github.com/wcde/sd-webui-refiner.git

最新插件源,即:

https://gitcode.net/rubble7343/sd-webui-extensions/raw/master/index.json

准备 SDXL 模型,建议下载地址 LiblibAI,即:

  • Stable Diffusion SDXL 正式版
  • Stable Diffusion SDXL refiner
  • SDXL_offset_example-lora

cd models/Stable-diffusion

# Stable Diffusion SDXL 正式版
wget https://liblibai-online.liblibai.com/models/31e35c80fc4829d14f90153f4c74cd59c90b779f6afe05a74cd6120b893f7e5b.safetensors?attname=Stable%20Diffusion%20SDXL%20%E6%AD%A3%E5%BC%8F%E7%89%88_sdxl_1.0.safetensors -O SDXL_1.0.safetensors

# Stable Diffusion SDXL refiner
wget https://liblibai-online.liblibai.com/models/7440042bbdc8a24813002c09b6b69b64dc90fded4472613437b7f55f9b7d9c5f.safetensors?attname=Stable%20Diffusion%20SDXL%20refiner_1.0%20refiner.safetensors -O SDXL_refiner_1.0.safetensors

# DreamShaper XL1.0 alpha2 
wget "https://liblibai-online.liblibai.com/models/0f1b80cfe81b9c3bde7fdcbf6898897b2811b27be1df684583c3d85cbc9b1fa4.safetensors?attname=DreamShaper%20XL1.0_alpha2%20(xl1.0).safetensors" -O DreamShaper_XL1.0_alpha2.safetensors

cd models/Lora

# SDXL_offset_example-lora
wget https://liblibai-online.liblibai.com/web/model/4852686128f953d0277d0793e2f0335352f96a919c9c16a09787d77f55cbdf6f.safetensors?attname=SDXL_offset_example-lora_1.0.safetensors -O SDXL_offset_lora_1.0.safetensors

显存占用,峰值大约 25G 左右,即:

Img


3. 测试图像

测试:

photo, 8k portrait of beautiful cyborg with brown hair, intricate, elegant, highly detailed, majestic, digital photography, art by artgerm and ruan jia and greg rutkowski surreal painting gold butterfly filigree, broken glass, (masterpiece, sidelighting, finely detailed beautiful eyes: 1.2), hdr, realistic, high definition
Steps: 40, Sampler: DPM++ 2M SDE Karras, CFG scale: 8, Seed: 17748028598468, Face restoration: GFPGAN, Size: 1024x1024, Model hash: 31e35c80fc, Model: SDXL_1.0, Clip skip: 2, Version: v1.5.1

seed:17748028598468

注意:目前不加负向提示词,且不要使用高清修复,效果很差。

面部修复建议使用 GFPGAN 算法,即:

GFPGAN

原版模型与GFPGAN的效果差异,即:
Img

DreamShaper的效果,额外添加负向提示词 NSFW,关闭 Refiner (是否开启差别不大),即:

photo, 8k portrait of beautiful cyborg with brown hair, intricate, elegant, highly detailed, majestic, digital photography, art by artgerm and ruan jia and greg rutkowski surreal painting gold butterfly filigree, broken glass, (masterpiece, sidelighting, finely detailed beautiful eyes: 1.2), hdr, realistic, high definition
Negative prompt: nsfw,
Steps: 40, Sampler: DPM++ 2M SDE Karras, CFG scale: 8, Seed: 17748028598468, Face restoration: GFPGAN, Size: 1024x1024, Model hash: 0f1b80cfe8, Model: DreamShaper_XL1.0_alpha2, Clip skip: 2, Version: v1.5.1

图像效果:
在这里插入图片描述

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

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

相关文章

瀑布流布局columns

瀑布流布局其核心是基于一个网格的布局&#xff0c;而且每行包含的项目列表高度是随机的&#xff08;随着自己内容动态变化高度&#xff09;&#xff0c;同时每个项目列表呈堆栈形式排列&#xff0c;最为关键的是&#xff0c;堆栈之间彼此之间没有多余的间距差存大。还是上张图…

sass的模块化,@import的编译时和运行时详解

sass如同css一样 可以模块化。 css中通过import来实现模块化&#xff0c; 但是两者有些不同&#xff0c;css是会参与到运行时的&#xff0c;也就是说运行的过程中有多个css文件&#xff0c;通过import指令导入进来。但是sass并不是个运行时态&#xff0c;sass是一个编译时态。…

六、JVM-垃圾收集器浅析

垃圾收集器浅析 主 JVM参数 3.1.1 标准参数 -version -help -server -cp3.1.2 -X参数 非标准参数&#xff0c;也就是在JDK各个版本中可能会变动 -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式&#xff0c;JVM自己来决定3.1.3 -XX参数 使用得…

图片怎么压缩大小?值得一看的图片压缩方法

图片是我们生活和工作中必不可少的文件&#xff0c;为了能够有效保存、发送&#xff0c;我们需要适当压缩其大小&#xff0c;但很多朋友不知道怎么压缩图片&#xff0c;或者压缩后造成了图片清晰度受损&#xff0c;怎么才能既压缩图片的大小&#xff0c;又能避免清晰度受到影响…

为什么选择Docusaurus构建API文档?

在现代化软件开发中&#xff0c;文档对于软件成功的重要性不言而喻。然而&#xff0c;管理和维护文档站点往往会给开发者带来额外的负担。为了帮助开发人员快速构建易于管理和维护的文档站点&#xff0c;Docusaurus应运而生。本文将深入探讨为什么选择Docusaurus构建您的文档站…

Activiity跳转startActivity源码分析Activity启动流程(下)

调用ActivityThread子类ClientTranslationHandler的scheduleTranslation 注意上图有个sendMessage的 接着会执行translacationExecutor的execute方法。 都会走cycleToPath方法 cycleToPath方法对应的performLifecycleSequence 调用Actvitiy各个生命周期。 然后是第二种情况&am…

效率提升丨大学必看校园安全实用技巧

在当今社会&#xff0c;教育是培养人才、传承文明的重要场所。然而&#xff0c;教学楼作为学生、教师和员工活动的核心区域&#xff0c;也存在着潜在的安全隐患&#xff0c;其中最为突出的风险之一是火灾。火灾不仅危及生命财产&#xff0c;还可能给整个学校带来不可估量的损失…

五个BLOCK问题

block的原理是怎样的&#xff1f;本质是什么&#xff1f; 一个含有自动变量的匿名函数 Block 的本质是一个封装了函数及其调用环境的 Objective-C 对象 一个 block 实际是一个对象&#xff0c;它主要由一个 isa 和 一个 impl 和 一个 descriptor 组成。 是封装了函数代码以…

华为OD面试总结和建议:全程线上面试的经验分享

目录 导语一、准备工作&#xff1a;二、面试前&#xff1a;三、面试过程&#xff1a;1. 视频面试技巧&#xff1a;2. 技术问题准备&#xff1a; 四、面试后&#xff1a;结束语 导语 导语&#xff1a;随着技术的发展&#xff0c;线上面试在招聘过程中扮演着越来越重要的角色。作…

11万多英藏对照词典英藏翻译ACCESS\EXCEL数据库

今天继续发一个藏文藏语相关的翻译数据库&#xff0c;即英藏对照词典&#xff0c;加上《5万6千多藏文词典解释ACCESS数据库》以及昨天发的《近13万汉藏对照词典汉藏翻译ACCESS\EXCEL数据库》藏文类的数据就算较全了。 截图下方有显示“共有记录数”&#xff0c;截图包含了表的所…

js方法:toLocaleString()

js中的toLocaleString()方法用于将数字转换为本地化的字符串表示形式。 语法&#xff1a; number.toLocaleString([locales [, options]]) locales&#xff08;可选&#xff09;&#xff1a;一个字符串、字符串数组&#xff0c;表示要使用的语言或一组语言。例如&#xff0c;&…

拍立淘是如何实现的?

淘宝拍立淘功能是很多网购的网民经常会用到的一个功能。拍立淘的图片搜索商品列表接口功能是指用户可以通过上传一张商品图片&#xff0c;拍立淘会根据该图片进行识别和匹配&#xff0c;以找到与该图片相似或相同的商品&#xff0c;并将搜索到的商品列表返回给用户。以下是该接…

《深度探索c++对象模型》第五章笔记

非原创&#xff0c;在学习 5 构造、解构、拷贝语意学Semantics of Construction,Destruction, and Copy 考虑下面这个abstract base class声明: class Abstract_base { public:virtual ~Abstract_base() 0;virtual void interface() const 0;virtual const char*mumble() c…

Robot Framweork之UI自动化测试---分层设计

Robot Framework 的分层思想是一种测试设计和代码组织的模式&#xff0c;它将测试用例的实现和测试执行逻辑分离&#xff0c;以提高测试的可维护性、可读性和可扩展性。 一、分层思想 在实际项目中&#xff0c;一般分为三层&#xff1a;元素层&#xff0c;流程层&#xff0c;用…

异步消息传递技术 JMS AMQP MQTT

广泛使用的三种异步消息传递技术&#xff1a;JMS AMQP MQTT JMS AMQP MQTT JMS&#xff08;Java Message Service)&#xff1a;一个类似JDBC的规范&#xff0c;提供了与消息服务相关的API接口 JMS消息模型&#xff1a; P2P 点对点模型&#xff1a;消息发到一个队…

BES 平台 SDK之按键的配置

本文章是基于BES2700 芯片&#xff0c;其他BESxxx 芯片可做参考&#xff0c;如有不当之处&#xff0c;欢迎评论区留言指出。仅供参考学习用&#xff01; BES 平台 SDK之LED的配置_谢文浩的博客-CSDN博客 关于系统LED简介可参考上一篇文章。链接如上所示&#xff01; 一&…

【ONE·Linux || 基础IO(一)】

总言 文件输入与输出相关介绍&#xff1a;语言层面/系统层面文件调用接口举例、文件描述符、重定向说明、缓冲区理解。 文章目录 总言1、文件输入与输出1.1、预备知识1.2、语言层面&#xff1a;回归C语言中文件相关接口1.2.1、打开文件和关闭文件&#xff1a;对当前路径的理解…

企业服务器中了Locked勒索病毒后怎么办,如何解决问题并提高防范意识

科学技术的发展给我们的生活带来了极大便利&#xff0c;但也为企业带来了安全威胁。近期&#xff0c;我们收到很多企业的求助&#xff0c;企业的服务器中了locked后缀勒索病毒&#xff0c;计算机上的所有文件都被加密&#xff0c;无法被正常调取&#xff0c;严重影响了企业的正…

使用预训练 ViT 模型的图像字幕中的视觉变换器 (ViT)-附源码

介绍 使用预训练 ViT 模型的图像字幕可以被视为图像下方的文本或书面描述,旨在提供图像细节的描述。它将图像翻译成文本描述的任务。它是通过连接视觉(图像)和语言(文本)来完成的。在本文中,我们使用图像中的 Vision Transformers (ViT) 作为使用 PyTorch 后端的主要技术…

2023牛客暑假多校-5-I-The Yakumo Family

解法&#xff1a;考虑枚举这个区间&#xff0c;设这个区间异或和为w。对于左端点 &#xff0c;预处理出其左侧的所有子区间异或和的和 ,表示区间上所有子区间异或和。对右侧也做同样操作预处理出&#xff0c;表示区间上所有子区间异或和。那么最后答案就是。最重要的就是如何求…