本地从0搭建Stable Diffusion WebUI及错误记录

news2025/2/25 14:39:18

从0开始搭建本地Stable Diffusion WebUI环境

一.环境配置

1.使用的电脑配置

系统Windows10
处理器英特尔 i7
内存24GB
显卡NVIDIA GTX 1060(6GB)

2.镜像源

阿里云
清华大学
中国科技大学

3.电脑环境变量配置

我的电脑–属性–高级系统设置–系统属性(高级)–环境变量
在这里插入图片描述

新建环境变量,点击确定
在这里插入图片描述

编辑path,点击新建
在这里插入图片描述

增加NVSMI_HOME配置
在这里插入图片描述

二.软件下载及安装

1.安装git

下载git
在这里插入图片描述

下载好双击安装,点击next一路默认安装。
打开cmd命令窗口输入

git --version

2.下载miniconda

下载miniconda
在这里插入图片描述

windows电脑选择如下

在这里插入图片描述

2.1.安装

双击安装
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

打开miniconda
在这里插入图片描述

conda -V 

输入 conda -V

conda config --set show_channel_urls yes
# 清除索引缓存
conda clean -i
# 输入y

在这里插入图片描述

3.搭建sdwebui python环境

这里用的python3.10

conda create --name sdwebui python=3.10.9

在这里插入图片描述
在这里插入图片描述
输入y
在这里插入图片描述

此处升级了conda

conda update -n base -c defaults conda

在这里插入图片描述
输入y
在这里插入图片描述

4.激活环境

# 输入
conda env list
conda activate sdwebui

在这里插入图片描述

5.升级pip

将pip升级

python -m pip install --upgrade pip

设置镜像源(原先用的清华镜像,此处设置阿里云镜像)

pip config set global.index-url  http://mirrors.aliyun.com/pypi/simple/

6.安装CUDA

CUDA是NVIDIA显卡执行算法需要用的程序

6.1先检查电脑的CUDA版本

在miniconda命令窗口输入nvidia-smi

nvidia-smi

在这里插入图片描述
或者打开NVIDIA控制面板–帮助–系统信息

在这里插入图片描述
在这里插入图片描述

6.2下载对应版本CUDA

CUDA下载

在这里插入图片描述
在这里插入图片描述
此处下载10.0版本

在这里插入图片描述

在这里插入图片描述

6.3安装CUDA

下载完,双击安装包,选择自定义的目录(不选择使用默认位置,确保空间足够即可)
在这里插入图片描述
等待执行完成
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Visual Studio 取消勾选(本电脑未安装visual studio)

在这里插入图片描述
取消勾选NVIDIA GeForce和Driver components,当前版本已经比安装的要高了,就不安装低版本了
在这里插入图片描述
默认的安装位置
在这里插入图片描述

安装失败。。。。

6.4.升级驱动

NVIDIA驱动下载
在这里插入图片描述
知道电脑配置可以手动搜索
在这里插入图片描述

下载NVIDIA Studio驱动程序,下载前查看NVIDIA Studio对应的版本和电脑的配置是否对应。
在这里插入图片描述
安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

等待安装完成
在这里插入图片描述

6.4.1 检查NVIDIA版本

打开NVIDIA控制面板,检查版本
在这里插入图片描述
此时要求的CUDA版本为12.1版本了,因此需要重新下载12版本的CUDA
在这里插入图片描述
命令行检查,CUDA Version也为12.1版本
在这里插入图片描述

6.5 重新下载新版CUDA

重启一下电脑

打开CUDA页面,找到版本为12.1,重新下载
在这里插入图片描述
安装选择默认路径,自定义安装,只安装CUDA,其他的驱动已经是新版了不需要重复安装。

在这里插入图片描述

Nsight VSE、Visual Studio 取消勾选
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.下载stable-diffusion-webui

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

或者直接下载压缩包

在这里插入图片描述

8.下载训练模型Stable Diffusion

Stable Diffusion下载地址
下载模型,此处选择stable-diffusion-2-1版本

在这里插入图片描述

此处点击stabilityai/stable-diffusion-2-1,点击右侧的下载按钮
在这里插入图片描述

将下载的v2-1_768-ema-pruned.safetensors文件复制到models/Stable-diffusion模型文件夹下
如G:\sd_webui\models\Stable-diffusion,具体路径根据实际情况

三.运行webui

打开miniconda窗口,进入stable diffusion的解压目录

1.执行webui-user.bat

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1修改launch.py

执行了几次失败,用文本编辑器打开launch.py文件(解压的文件夹下)

在这里插入图片描述

搜索prepare_environment,找到对应位置
将后面的地址加上代理地址https://ghproxy.com/
在这里插入图片描述
在这里插入图片描述

保存后,继续执行webui-user.bat

1.2报错No matching distribution found for gradio==3.23

在这里插入图片描述

错误:ERROR: No matching distribution found for gradio==3.23

1.3更换新源(之前搭建用的清华镜像源)

pip config set global.index-url  http://mirrors.aliyun.com/pypi/simple/

1.4升级下pip

G:\sd_webui\venv\Scripts\python.exe -m pip install --upgrade pip

在这里插入图片描述
在这里插入图片描述

1.5修改webui-user.bat文件

报错信息
错误:No module ‘xformers’. Proceeding without it.

编辑器打开webui-user.bat文件,增加一行

set COMMANDLINE_ARGS=--xformers

在这里插入图片描述

2.再次执行webui-user.bat

修复完错误问题后,再次运行。
在这里插入图片描述

四.使用

4.1 访问webui

打开图中的URL地址:http://127.0.0.1:7860

在这里插入图片描述

设置
在这里插入图片描述

4.2 安装扩展

4.2.1 安装扩展

若通过url方式安装失败,可以下载压缩包,解压安装。

方式一:Available 页面安装

点击Extensions,取消localization勾选,下面会列出来很多extension。
在这里插入图片描述
若取消localization勾选没显示,则在Extension index URL加代理地址,在点击"Load from"按钮。
在这里插入图片描述
在下面找到中文安装包,点击右侧Install按钮
在这里插入图片描述

方式二:Install from URL(略)

也可通过Install from URL 方式安装,粘贴url后点击Install按钮。
在这里插入图片描述

方式三:下载压缩包方式安装

扩展包地址

中文汉化包地址

打开sd-webui-controlnet地址,点击Code按钮,点击Download ZIP下载ZIP包
在这里插入图片描述

在这里插入图片描述
解压到webui项目的extensions-builtin目录下
在这里插入图片描述
点击页面的Apply and restart UI 按钮。
在这里插入图片描述
点击Extensions — Installed查看已经存在。
在这里插入图片描述

安装汉化包,安装方法同上(略)
在这里插入图片描述

在这里插入图片描述

4.2.2 生效extension

生效汉化包

安装完成后,点击setting----->User interface---->Localization (requires restart)(选择中文)
在这里插入图片描述
在这里插入图片描述
点击最上方的Apply setting 按钮,点击Reload UI按钮
在这里插入图片描述

在这里插入图片描述

五.体验

输入water,敲CTRL+ENTER或者右侧的Generate按钮
同时可以在后台看到正在运行

在这里插入图片描述

效果

在这里插入图片描述

六.创建一键启动的脚本

进入F盘(根据实际情况),新建一个文件名为startWebUI.bat文件。以后开机只要执行这个脚本就能启动sdwebui项目了。

用文本编辑器编辑如下内容


rem 激活miniconda环境
call C:\ProgramData\miniconda3\Scripts\activate.bat C:\ProgramData\miniconda3
rem 激活sdwebui
::conda activate sdwebui
rem 进入webui工程目录G盘
G:
cd sd_webui
rem 启动sdwebui应用程序

:: 注释call方式调用,使用start方式
::call webui-user.bat

::启动webui并调用浏览器无痕窗口自动打开webui的地址
:: 第二个start的第一个参数是谷歌浏览器路径,第二个参数--incognito是无痕模式,第三个参数是webui启动后默认地址

start webui-user.bat && start C:\Users\administrator\AppData\Local\Google\Chrome\Application\chrome.exe  --incognito "http://127.0.0.1:7860"


打开cmd命令窗口,执行

startWebUI.bat

此时会新打开命令行窗口执行webUI,并打开浏览器无痕窗口访问webUI的地址,等待webUI启动完成后,浏览器自动显示页面。(若webUI正常启动后,浏览器无法访问,则刷新一下)

在这里插入图片描述

原先call方式调用参考
在这里插入图片描述

七.其他错误记录

之前运行正常,突然失败错误如下
RuntimeError: CachingAllocator option max_split_size_mb too small, must be > 20
在这里插入图片描述
解决方法
修改webui-user.bat文件增加配置,当前电脑显卡内存6G,因此先设置6G。

set PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:6144

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

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

相关文章

spring框架注解

3.Spring有哪些常用注解呢? Spring常用注解 Web: Controller:组合注解(组合了Component注解),应用在MVC层(控制层)。 RestController:该注解为一个组合注解,相当于Con…

首个ChatGPT开发的应用上线;ChatMind思维导图工具;中文提示词大全;Copilot平替 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『一本与众不同的AI绘本』ChatGPT 编写故事 Midjourney 绘制插图 作者的女儿特别喜欢迪士尼动画《海洋奇缘》里的主人公莫阿娜&#…

Mybatis分解式查询

目录 一、Mybatis一对多分解式查询 1. 新增持久层接口方法 2. 新增映射文件对应的标签 3. 新增测试方法 4. 运行效果 二、Mybatis一对一分解式查询 1. 新增持久层接口方法 2. 新增映射文件对应的标签 3. 新增测试方法 4. 运行效果 三、Mybatis延迟加载 1. 开启延迟加…

超实用的十个超级实用事半功倍的Python自动化脚本

一淘模板 56admin.com在日常的工作学习当中,我们总会遇到各式各样的问题,其中不少的问题都是一遍又一遍简单重复的操作,不妨直接用Python脚本来自动化处理,今天小编就给大家分享十个Python高级脚本,帮助我们减少无谓的…

【数据结构与算法】栈的实现(附源码)

目录 一.栈的概念和结构 二.接口实现 A.初始化 Stackinit 销毁 Stackdestroy 1.Stackinit 2.Stackdestroy B.插入 Stackpush 删除 Stackpop 1.Stackpush 2.Stackpop C.出栈 Stacktop D. 栈的有效元素 Stacksize 判空 Stackempty 1.Stacksize 2.Stackempty …

Flink进阶篇-CDC 原理、实践和优化采集到Doris中

简介 基于doris官方用doris构建实时仓库的思路,从flinkcdc到doris实时数仓的实践。 原文 Apache Flink X Apache Doris 构建极速易用的实时数仓架构 (qq.com) 前提-Flink CDC 原理、实践和优化 CDC 是什么 CDC 是变更数据捕获(Change Data Captur…

Spring《三》DI依赖注入

🍎道阻且长,行则将至。🍓 上一篇:Spring《二》bean的实例化与生命周期 下一篇:敬请期待 目录一、setter注入🍉1.注入引用数据类型2.注入简单数据类型二、构造器注入🍊1.注入引用数据类型2.简单数…

数据挖掘(2.3)--数据预处理

目录 三、数据集成和转换 1.数据集成 2.数据冗余性 2.1 皮尔森相关系数 2.2卡方检验 3.数据转换 四、数据的规约和变换 1.数据归约 2数据离散化 三、数据集成和转换 1.数据集成 数据集成是将不同来源的数据整合并一致地存储起来的过程。 不同来源的数据可能有不同…

Qt优秀开源项目之十七:QtPromise

QtPromise是Promises/A规范的Qt/C实现。该规范的译文见附录。 QtPromise基于Qt5.6及以上版本,当然也包括Qt6。 github地址:https://github.com/simonbrunel/qtpromise 新手导航:Getting Started | QtPromise API手册:API Referenc…

详解Spring、SpringBoot、SpringCloud三者的联系与区别

一、Spring二、Spring Boot三、Spring Cloud四、三者的关系一、Spring Spring 是一个轻量级的Java 开发框架,主要依存于SSM 框架,即Spring MVC Spring Mybatis,定位很明确,Spring MVC主要负责view 层的显示,Spring …

Scala 一文搞定

第一节:概述为什么学习Scala ?Apache Spark 是专为大规模数据快速实时处理的计算引擎/内存级大数据计算框架。Apache Spark 是由Scala 语言编写。Scala 与Java 关系总结三点:java 编译器与Scala 编译器可以相互使用。Java SDK 的类库可以被Scala使用,Sc…

理解什么是sql注入攻击 + xss攻击 + cors 攻击

SQL注入 SQL注入就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 SQL注入攻击的总体思路: 寻找到SQL注入的位置判断服务器类型和后台数据库类型针对不同的服务器和数据库特点进行SQL注入攻击 SQL注入…

Cookie和Session的工作流程及区别(附代码案例)

目录 一、 HTTP协议 1.1 为什么HTTP协议是无状态的? 1.2 在HTTP协议中流式传输和分块传输编码的区别 二、Cookie和Session 2.1 Cookie 2.2 Session 2.3 Cookie和Session的区别 三、servlet中与Cookie和Session相关的API 3.1 HttpServletRequest 类中的相关方…

CSRF漏洞的概念、利用方式、防御方案

CSRF漏洞1.CSRF的概念1.1 什么是CSRF?1.2 基本攻击流程2.CSRF攻击实现2.1 靶场练习2.2 CSRFXSS组合拳2.2.1 攻击页面部署2.2.2 构造恶意xss语句,实现重复生效的CSRF3. CSRF攻击的防御**3.1 只使用JSON API****3.2 验证HTTP Referer字段****3.3 在请求地址…

【Spring源码】Spring事务原理

目录 1、什么是事务 2、Spring事务基本概念 2.1、基础配置 2.1.1、Spring事务的基础配置 2.1.2、Spring事务的传播特性 2.1.3、Spring事务的隔离级别 2.2、基本原理 3、事务嵌套 3.1、PROPAGATION_REQUIRED 3.2、PROPAGATION_REQUIRES_NEW 3.3、PROPAGATION_SUPPORTS…

【时序论文小集】

目录【2021 NeurIPS】Autoformer: Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting【2022 ICML】FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting【2023 ICLR】TIMESNET: TEMPORAL 2D-VARIATION …

【云原生】k8s NetworkPolicy 网络策略是怎么样的

前言 随着微服务的流行,越来越多的云服务平台需要大量模块之间的网络调用。 在 Kubernetes 中,网络策略(NetworkPolicy)是一种强大的机制,可以控制 Pod 之间和 Pod 与外部网络之间的流量。 Kubernetes 中的 NetworkPolicy 定义了一组规则&…

FastAPI: 极速开发Python Web应用的未来之星

我在工作中经常使用Flask来开发Web应用。但是随着项目规模的增长,我发现自己需要写越来越多的重复代码,同时Flask并没有提供一个良好的数据验证和文档生成工具。 有一天,我听说了一个名为FastAPI的框架,它被誉为是Python Web框架…

S型加减速速度给定功能块(SCL+ST+梯形图)

S型加减速详细算法公式请参看下面博客文章,这里不再赘述: 博途PLC1200/1500PLC S型速度曲线变频器控制应用(SCL完整源代码)_RXXW_Dor的博客-CSDN博客PLC运动控制基础系列之梯形速度曲线,可以参看下面这篇博客:PLC运动控制基础系列之梯形速度曲线_RXXW_Dor的博客-CSDN博客运…

SQLServer 的事件通知

事件通知一、背景知识1.1、事件通知的好处1.2、事件通知概念1.3、事件通知与触发器二、实现事件通知2.1、创建目标服务2.2、创建事件通知三、为事件通知配置对话安全性总结一、背景知识 事件通知将有关事件的信息发送到服务代理服务。通过将有关这些事件的信息发送到服务代理服…