Stable Diffusion XL搭建
本文参考:Stable Diffusion XL1.0正式发布了,赶紧来尝鲜吧-云海天教程
Stable Diffision最新模型SDXL 1.0使用全教程 - 知乎
1、SDXL与SD的区别
(1)分辨率得到了提升
原先使用SD生成图片,一般都是生成512*512(模型就是基于这个分辨率进行训练的)的图然后再进行放大,以达到高清出图的效果。
这次SDXL1.0直接使用1024*1024的图片训练底模
(2)SDXL1.0由base模型和refiner模型共同组成
SDXL由文生图的base模型和图生图进行优化放大的refiner模型组成,所以生图过程中会先运行基础模型,然后再运行细化模型。基础模型设置全局组成,而细化模型则添加了更多的细节。
2、安装的硬软件环境
硬件:如果希望在GPU上运行,则需要GPU显存在16G以上,否则很难运行。
软件:python需要在3.10以上。
3、下载Stable Diffusion WebUI源码到本地
执行命令:git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
将代码从GitHub下载到了本地
4、 切换到支持SDXL的版本
支持SDXL的webUI版本需要v1.5.0以上。
在stable-diffusion-webui目录下运行:
git checkout -b v1.6.0
5、启动WebUI服务
python launch.py --listen --port 12346 --theme dark --xformers --enable-insecure-extension-access
首次执行该命令后,会自动下载相关算法源码到repositories中,以及相关模型到对应的目录下。
如果运行成功则直接跳到第8步,否则按照6-9步依次手工处理相关问题。
6、repositories安装错误处理
如果出错,则需要手工下载这些代码放到指定目录。以下过程仅针对启动不成功时需要手工安装的步骤:
(1)下载stablediffusion源码
提示错误:“Command: "git" clone "https://github.com/Stability-AI/stablediffusion.git" "/xxx/stable-diffusion-webui/repositories/stable-diffusion-stability-ai"”
则手工再执行git clone https://github.com/Stability-AI/stablediffusion.git ,(如果下载还是不成功则从git中下载zip文件,放到相应目录后解压,该方法适用以下的其他源码。)然后更名为stable-diffusion-stability-ai。
(2)下载k-diffusion源码
手工执行git clone https://github.com/crowsonkb/k-diffusion.git或手工下载zip包
(3)下载CodeFormer源码
手工执行git clone https://github.com/sczhou/CodeFormer.git或手工下载zip包
7、py的requirements_versions.txt安装错误处理
报错信息:
处理方法:
pip3 install -r requirements_versions.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
直接官网下载不通的话,建议换成清华大学的数据源进行安装。
8、下载SDXL大模型
(1)首先考虑直接从HuggingFace中下载模型
SDXL大模型涉及stable-diffusion-xl-base和stable-diffusion-xl-refiner两部分,链接地址为:
https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors
https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors
这两个文件是底模,大约7个G每个文件,下载到GPU服务器后,需要放到stable-diffusion-webui/models/Stable-diffusion文件夹中
针对base模型,如果直接使用stablebilityai的stable-diffusion-xl-base-1.0模型,自己使用时效果可能没那么好,我则从c站下载自己喜欢style的基模,比如:https://civitai.com/models/139565/realistic-stock-photo
这个是真实电影感比较强的SDXL1.0的base模型。
而refiner模型则还是使用huggingface提供的refiner模型。
(2)如果HuggingFace和civitai无法连通,可以从https://aliendao.cn/下载对应模型。
9、下载VAE模型
(1)首先下载vaeapprox-sdxl.pt模型(必选)
WebUI启动过程中可能会出现如下类似错误:
Downloading VAEApprox model to: /xxx/stable-diffusion-webui/models/VAE-approx/vaeapprox-sdxl.pt
TimeoutError: [Errno 60] Operation timed out
During handling of the above exception, another exception occurred:
这是因为缺少一个vaeapprox-sdxl.pt模型,一般自动下载会很容易失败,推荐大家去GitHub上手动下载,链接地址为:
https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.0.0-pre
下载后放到stable-diffusion-webui/models/VAE-approx/目录下即可
(2)安装VAE模型(可选)
https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors
下载后放到stable-diffusion-webui/models/VAE目录下即可。
10、使用WebUI的SDXL功能
webui通过以下命令执行成功后,
python launch.py --listen --port 12346 --theme dark --xformers --enable-insecure-extension-access
然后chrome浏览器中输入<服务器ip>:12346后即打开了SD的WebUI服务如下:
注意点1的位置:选择SDXL的base模型
注意点2的位置:选择SDXL的refiner模型,该模型会在base模型运行进展到80%(Refiner的Switch at参数)时切换为refiner模型继续执行。
注意点3的位置:将分辨率从默认的512*512调整为1024*1024,这个是SDXL和SD的显著差异之一。
根据以下prompt我们生成测试图片,
prompt及相关参数信息:
photograph close up portrait of Embraced couple enjoying in a movie in theatre , cinematic 4k epic detailed 4k epic detailed photograph shot on kodak detailed bokeh cinematic hbo dark moody
Steps: 35, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 1847092677, Size: 1024x1024, Model hash: 2d44ce378d, Model: realisticStockPhoto_v10, Refiner: sd_xl_refiner_1.0 [7440042bbd], Refiner switch at: 0.8, Version: v1.6.0
图片达到了电影感的效果:
此生成过程耗时1分32秒,占用12.9G的显存。
如果进展到这里都没有问题,那么请开始SDXL的旅程吧!!
相关文章:

Stable Diffusion XL搭建
本文参考:Stable Diffusion XL1.0正式发布了,赶紧来尝鲜吧-云海天教程 Stable Diffision最新模型SDXL 1.0使用全教程 - 知乎 1、SDXL与SD的区别 (1)分辨率得到了提升 原先使用SD生成图片,一般都是生成512*512&…...
面试题-React(十一):性能优化之PureComponent和memo
一、React性能优化的重要性 随着应用的复杂性增加,React组件的渲染可能成为性能瓶颈。频繁的渲染可能导致不必要的性能开销和卡顿。为了确保应用的高性能和流畅用户体验,我们需要采取一些措施来优化组件的渲染。 二、PureComponent-自动浅比较 PureCo…...

<图像处理> Fast角点检测
Fast角点检测 基本原理是使用圆周长为N个像素的圆来判定其圆心像素P是否为角点,如下图所示为圆周长为16个像素的圆(半径为3);OpenCV还提供圆周长为12和8个像素的圆来检测角点。 相对中心像素的位置信息 //圆周长为16 static c…...
基于centos、alpine制作Java JDK基础镜像
文章目录 前言一、 简介二、制作JDK/Java基础镜像1.准备事项2.制作Dockerfile脚本2.1.基于centos作为基础镜像2.2.基于alpine作为基础镜像3.构建镜像4.测试验证前言 在日常开发中,但凡项目需要docker容器化部署,制作项目镜像前都需要在Dockerfile中配置Java基础镜像。为什么…...

【AI视野·今日Robot 机器人论文速览 第五十二期】Wed, 11 Oct 2023
AI视野今日CS.Robotics 机器人学论文速览 Wed, 11 Oct 2023 Totally 31 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers RoboHive: A Unified Framework for Robot Learning Authors Vikash Kumar, Rutav Shah, Gaoyue Zhou, Vincent Moens, Vittor…...

hive 知识总结
编辑 社区公告教程下载分享问答JD 登 录 注册 01 hive 介绍与安装 1 hive介绍与原理分析 Hive是一个基于Hadoop的开源数据仓库工具,用于存储和处理海量结构化数据。它是Facebook 2008年8月开源的一个数据仓库框架,提供了类似于SQL语法的HQL…...

golang/云原生/Docker/DevOps/K8S/持续 集成/分布式/etcd 教程
3-6个月帮助学员掌握golang后端开发岗位必备技术点 教程时长: 150小时 五大核心专栏,原理源码案例分析项目实战直击工作岗位 golang:解决go语言编程问题 工程组件:解决golang工程化问题 分布式中间件:解决技术栈单一及分布式开发问题 云原生…...

jeecg库login登录过程分析笔记
jeecg库(版本jeecg-boot-v3.5.1last)实现了用户登录功能,二开时为了借鉴jeecg用户登录的方法,跑了一遍登录方法: org.jeecg.modules.system.controller.LoginController#login 定义这个方法的类的路径是:…...

echarts仪表盘vue
<div class"ybptx" ref"btryzb"></div>mounted() {this.getBtData();},getBtData() {var chart this.$echarts.init(this.$refs.btryzb);var data_czzf 88;var option {series: [{name: 内层数据刻度,type: gauge,radius: 80%,min: 0,max: 1…...
管道和重定向分号-连接符
本文介绍shell脚本常用命令连接符:管道符( | )、重定向( < 、>、>>、2> 、&> )、分号( ; ) 本文内容同微信公众号【凡登】,关注不迷路,学习上高速,欢迎关注共同学习。 1、管道 进程的通信方式之一…...
WSL VScode连接文件后无法修改(修改报错)
权限问题 usrname:用户名 dirpath:要修改的文件夹路径 sudo chown -R usrname /dirpath...

迷你Ceph集群搭建(超低配设备)
我的博客原文链接:https://blog.gcc.ac.cn/post/2023/%E8%BF%B7%E4%BD%A0ceph%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA/ 环境 机器列表: IP角色说明10.0.0.15osdARMv7,512M内存,32G存储,百兆网口10.0.0.16clientARM64…...

Python数据挖掘项目实战——自动售货机销售数据分析
摘要:本案例将主要结合自动售货机的实际情况,对销售的历史数据进行处理,利用pyecharts库、Matplotlib库进行可视化分析,并对未来4周商品的销售额进行预测,从而为企业制定相应的自动售货机市场需求分析及销售建议提供参…...

TortoiseGit使用教程
文章目录 一. 创建仓库二. Clone仓库三. 查看修改记录四. 版本回溯五. 创建分支六. 切换分支七. 合并分支八. 删除分支九. TortoiseGit配置1. 常规配置2. 配置远程仓库账户密码3. 配置远程仓库 一. 创建仓库 在需要创建仓库的文件上右键→Git Create repository here… 创建仓…...

如何测量GNSS信号和高斯噪声功率及载波比?
引言 本文将介绍如何测量德思特Safran GSG-7或GSG-8 GNSS模拟器的输出信号功率。此外,还展示了如何为此类测量正确配置德思特Safran Skydel仿真引擎以及如何设置射频设备,从而使用频谱分析仪准确测量信号的射频功率。 什么是载波噪声密度C/N0 GNSS接收…...

动态壁纸软件iWall mac中文特色
iWall for mac是一款动态壁纸软件,它可以使用任何格式的漂亮视频(无须转换),音频(可视化功能),图片,动画,Flash,gif,swf,程序,网页,网站做为您的动态壁纸&…...

xtrabackup全备 增备
版本针对mysql8.0版本 官方下载地址 https://www.percona.com/downloads 自行选择下载方式 yum安装方式 1、下载上传服务器 安装软件 [rootmaster mysql]# ll percona-xtrabackup-80-8.0.33-28.1.el7.x86_64.rpm -rw-r--r--. 1 root root 44541856 Oct 10 13:25 percona-x…...

【广州华锐互动】灭火器使用VR教学系统应用于高校消防演练有什么好处?
在科技发展的大潮中,虚拟现实(VR)技术以其独特的沉浸式体验赢得了各个领域的青睐,其中包括教育和培训。在高校消防演练中,VR也成为了一种新的消防教育方式。 由广州华锐互动开发的VR消防演练系统,就包含了校…...
Pymol做B因子图
分子动力学模拟结束后,获得蛋白的平均结构, 比如获得的平均结构为WT-average.pdb 然后将平均结构导入到Pymol 中,可以得到B因子图。 gmx rmsf -f md_0_100_noPBC.xtc -s md_0_100.tpr -o rmsf-per-residue.xvg -ox average.pdb -oq bfactors…...
EKF例程 matlab
% 不含IMU误差方程的EKF滤波典型程序,适用于多次滤波的第二级 % author:Evand % date: 2023-09-20 % Ver1 clear;clc;close all; global T %% initial T 0.1; %采样率 t [T:T:100]; Q 0.1diag([1,1,1]);wsqrt(Q)randn(size(Q,1),length(t)); R 1diag([1,1,1]);v…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

rm视觉学习1-自瞄部分
首先先感谢中南大学的开源,提供了很全面的思路,减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接:https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架: 代码框架结构:readme有…...

Qt的学习(二)
1. 创建Hello Word 两种方式,实现helloworld: 1.通过图形化的方式,在界面上创建出一个控件,显示helloworld 2.通过纯代码的方式,通过编写代码,在界面上创建控件, 显示hello world; …...