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

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

Img

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

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

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

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

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

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

SDXL 进行以下优化:

  • 对于 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 +0300Merge 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.safetensorscd 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.mzph.cn/news/23199.shtml

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

相关文章

单片机复位电路分析

来分析一下这个电路&#xff1a; 首先这里面有电容&#xff0c;所以是一个动态电路。哈哈哈 假设左上角的电压源是5V的代号为VOLT。 可以知道电容capacitor C1左边的电压也是5V&#xff0c;电容中间隔着一个绝缘体&#xff0c;所以不导电&#xff0c; 这个时候电流无法通过…

利用XSS在线平台获取用户cookie

//XSS弹窗&#xff1a; <script>alert("xss")</script> XSS漏洞&#xff1a; //XSS弹窗&#xff1a; <script>alert("xss")</script> //XSS在线平台&#xff1a; <ScRipT sRc//7ix7kigpovxdbtd32fuspgffmtmufo3wwzgnzaltddewtb…

TS协议之PMT(节目映射表)

TS协议之PAT&#xff08;节目关联表&#xff09; 1.概要 PMT&#xff1a;节目映射表&#xff0c;与PAT成对出现&#xff0c;包含了该节目下所有的节目元素。 PMT数据结构如下&#xff1a; 字段分析&#xff1a; 字段字段描述表id标识一个TS PSI分段的内容是节目关联分段&am…

MacOS上配置docker国内镜像仓库地址

背景 docker官方镜像仓库网速较差&#xff0c;我们需要设置国内镜像服务 我的MacOS docker版本如下 设置docker国内镜像仓库地址 点击Settings点击Docker Engine修改配置文件&#xff0c;添加registry-mirrors {"builder": {"gc": {"defaultKeepS…

Java实现数据库表中的七种连接【Mysql】

Java实现数据库表中的七种连接【Mysql】 前言版权推荐Java实现数据库表中的七种连接左外连接右外连接其他连接 附录七种连接SQL测试Java测试转换方法类 Cla1类 Cla2类Cla3 最后 前言 2023-8-4 16:51:42 以下内容源自《【Mysql】》 仅供学习交流使用 版权 禁止其他平台发布时…

docker配置远程连接端口

配置docker 配置远程连接端口 vi /lib/systemd/system/docker.servicesystemctl daemon-reload && systemctl restart docker firewall-cmd --zonepublic --add-port2375/tcp --permanenthttp://node2:2375/version

pycharm——漏斗图

import pyecharts.options as opts from pyecharts.charts import Funnel""" Gallery 使用 pyecharts 1.1.0 参考地址: https://echarts.apache.org/examples/editor.html?cfunnel目前无法实现的功能:1、暂时无法对漏斗图的长宽等范围操作进行修改 ""…

锂电池充电/保护IC :TP4056 1A线性锂离子电池充电器(DW01A /FS8205A)

1. TP4056 概述 TP4056是一款性能优异的单节锂离子电池恒流/恒压线性充电器。TP4056采用ESOP8封装配合较少的外围原件使其非常适用于便携式产品&#xff0c;并且适合给USB电源以及适配器电源供电。 基于特殊的内部MOSFET架构以及防倒充电路&#xff0c;TP4056不需要外接检测电…

【BASH】回顾与知识点梳理(七)

【BASH】回顾与知识点梳理 七 七. 前六章知识点总结及练习7.1 总结7.2 练习 该系列目录 --> 【BASH】回顾与知识点梳理&#xff08;目录&#xff09; 七. 前六章知识点总结及练习 7.1 总结 由于核心在内存中是受保护的区块&#xff0c;因此我们必须要透过『 Shell 』将我…

大数据课程H1——TELECOM的电信流量项目架构

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解TELECOM项目的架构和环境配置&#xff1b; ⚪ 了解TELECOM项目的数据字典&#xff1b; 一、简介 1. 概述 1. 当用户通过网络设备(手机、平板电脑、笔记本电脑等)进…

JavaScript闭包和this

目录 JavaScript闭包和this 1 闭包 1.1 变量作用域 1&#xff09;函数内部可以读取全局变量 2&#xff09;函数外部无法读取函数内部的局部变量 1.2 读取函数内部的局部变量 1&#xff09;在函数内部再定义一个函数 2&#xff09;为外部程序提供访问函数局部变量的入口 1.3…

【CSS】ios上fixed固定定位的input输入框兼容问题

需求 &#xff1a; 实现一个简单的需求&#xff0c;上方是搜索框并且固定顶部&#xff0c;下方是滚动的内容list 问题 : 若如图上方使用固定定位, 下方用scroll-view, 在安卓上是没有问题的, 但是发现ios上会出现兼容问题 : 问题1: 当content list滚动到中间时再去搜索, 展…

c语言每日一练(1)

前言&#xff1a; 每日一练系列&#xff0c;每一期都包含5道选择题&#xff0c;2道编程题&#xff0c;博主会尽可能详细地进行讲解&#xff0c;令初学者也能听的清晰。每日一练系列会持续更新&#xff0c;暑假时三天之内必有一更&#xff0c;到了开学之后&#xff0c;将看学业情…

你值得拥有——流星雨下的告白(Python实现)

目录 1 前言 2 霍金说移民外太空 3 浪漫的流星雨展示 4 Python代码 1 前言 我们先给个小故事&#xff0c;提一下大家兴趣&#xff1b;然后我给出论据&#xff0c;得出结论。最后再浪漫的流星雨表白代码奉上&#xff0c;还有我自创的一首诗。开始啦&#xff1a; 2 霍金说…

Oracle锁的学习

Oracle数据库中的锁机制 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时&#xff0c;在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据&#xff0c;破坏数据库的一致性。 在数据库中有两种基本的锁类…

spark history网络流量占用高问题记录

生产环境遇到一台机器网络流量占用高告警 由于监控只有机器总的网络流量&#xff0c;没有具体进程的 于是只能登陆服务器&#xff0c;安装nethogs&#xff1a;yum install nethogs 然后执行nethogs命令查看进程流量 观察到主要是spark history server这个进程占用流量高(最高…

puppeteer监听response并封装为express服务调用

const express require(express); const puppeteer require(puppeteer); const app express(); let browser; // 声明一个全局变量来存储浏览器实例app.get(/getInfo, async (req, res) > {try {const page_param req.query.page; // 获取名为"page"的查询参数…

openCV图像读取和显示

文章目录 一、imread二、namedWindow三、imshow #include <opencv2/opencv.hpp> #include <iostream>using namespace std; using namespace cv;int main(int argc,char** argv) {cv::Mat img imread("./sun.png"); //3通道 24位if (img.empty()) {std:…

Alchemy Catalyst 2023 crack

Alchemy Catalyst 2023 crack Alchemy CATALYST是一个可视化本地化环境&#xff0c;支持本地化工作流程的各个方面。它帮助组织加快本地化进程&#xff0c;比竞争对手更快地进入新市场&#xff0c;并为他们创造新的收入机会。 创建全球影响力 高质量的产品和服务翻译对跨国组织…

windows创建占用特定端口程序

默认情况下&#xff0c;远程桌面使用的是3389端口。如果您想将远程桌面端口更改为8005&#xff0c;以达到模拟程序占用端口8005的情况&#xff0c;可以执行以下操作&#xff1a; 如执行以下命令&#xff0c;则1&#xff0c;2&#xff0c;3步相同操作可以跳过&#xff0c;直接往…