【Stable Diffusion】在windows环境下部署并使用Stable Diffusion Web UI---By Conda

文章目录

  • 一、Stable Diffusion介绍
  • 二、本地部署stable diffusion
    • 2.1 安装所需依赖环境
      • 2.1.1 安装CUDA
      • 2.1.2 安装显卡驱动
      • 2.1.3 安装Conda
      • 2.1.4 安装git工具--gitForWindows
      • 2.1.5 检查环境
    • 2.2 配置Transformer环境变量
    • 2.3 安装SD WebUI
    • 2.4 安装SD WebUI过程中遇到的问题
  • 三、 参考

一、Stable Diffusion介绍

Stable Diffusion是当下最强大的AI绘画工具;

可本地部署,可切换多种模型,且新的模型和开源库每天都在更新发布,最重要的是免费,没有绘图次数限制;

其是一种基于深度学习的文本到图像生成模型,于2022年发布。它能够根据文本描述生成详细的图像,同时也可以应用于其他任务,例如图生图,生成简短视频等。

Stable Diffusion Web UI是一个基于Web的用户界面,用于使用Stable Diffusion进行图像生成和其他任务。该Web UI由AUTOMATIC1111开发,并开源上传至Github,也是目前使用最多的WebUI版本。Stable Diffusion Web UI提供了易于使用的图形界面,可以帮助用户更直观地了解和使用Stable Diffusion的功能,并在基本不需要编写代码的情况下启动和监视训练过程。

Stable Diffusion 的主要优点:

(1) 免费开源与另外一个主流的AI绘画软件Midjourney相比,它是免费开源的。Midjourney需要登陆Discard上进行使用(国内无法直接链接注册),而且需要付费才能继续使用,最低价格为10美元/月,而SD在B站上有人整理好的免费安装包,无需付费即可下载一键安装。将SD安装到本地后,用户可以随时使用,生成的图片只有自己可以看到,保密性更高。

(2) SD拥有强大的开源模型和插件由于其开源属性,SD拥有许多免费的高质量外接预训练模型和插件。例如,可以提取物体轮廓、人体姿势骨架、图像深度信息的插件Controlnet可以让用户在绘画过程中精确控制人物的动作姿势、手势和画面构图等细节;插件Mov2Mov可以将真实视频进行风格化转换。此外,SD还具备Inpainting和Outpainting功能,可以智能地对图像进行局部修改和扩展,而这些功能目前Midjourney无法实现。

二、本地部署stable diffusion

2.1 安装所需依赖环境

2.1.1 安装CUDA

首先去Pytorch官网,点击链接https://pytorch.org/即可跳转;

在这里插入图片描述

可以看到,它目前支持到CUDA的11.8版本,因此我们需要去下载CUDA 11.8;

【CUDA下载网址】https://developer.nvidia.com/cuda-downloads

在这里插入图片描述
打开后我们可以看到 ,目前已经升级到了12.3这个版本,但是我们需要的下载的是11.8版本,所以需要找到12.1进行下载,如下步骤进行:

在这里插入图片描述
点击上图红框中的按钮,获取以前发布的版本,

在这里插入图片描述

然后以下图片示例进行操作:

在这里插入图片描述
下载完成后,如下图所示,双击打开:
在这里插入图片描述

路径选择默认路径即可:
在这里插入图片描述

然后选择自定义安装:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后等待安装完成即可:

在这里插入图片描述

在这里插入图片描述

2.1.2 安装显卡驱动

然后我们需要去下载显卡的驱动,

【NVIDIA下载网址】https://www.nvidia.cn

首先看一下我们笔记本当前的驱动版本:

此电脑->右键->属性->设备管理器->显示适配器:

在这里插入图片描述
打开后,点击“驱动程序”
在这里插入图片描述
可以看到我的驱动程序是2018年3/16号的,非常古老了,所以我们去下载它的最新版;

【NVIDIA下载网址】https://www.nvidia.cn

在这里插入图片描述

按照你笔记本的实际显卡进行选择:

在这里插入图片描述

在这里插入图片描述
下载完成后如下所示:
在这里插入图片描述
双击打开,路径也不用修改:

在这里插入图片描述
然后选择NVIDIA显卡驱动和GeForce Experience
在这里插入图片描述

然后选择自定义安装:
在这里插入图片描述

PhysX系统软件可以选择不安装,如果有USBC Driver,也可以选择不安装;
在这里插入图片描述
然后勾选执行清洁安装,下一步;等待安装完成即可:
在这里插入图片描述

安装完成后关闭即可。

2.1.3 安装Conda

接下来我们安装Conda,Conda是一个Python的包管理工具,什么系统都支持,

【ANACONDA下载网址】https://anaconda.org

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

直接点击下载即可。下载完成后如下图所示:
在这里插入图片描述

双击打开,基本按照给出的默认选项配置,无脑下一步即可:
安装完成后如下图所示:

在这里插入图片描述

安装完成后,一般会自己启动一次,通常默认会建立一个叫做Base的环境,如下图:

在这里插入图片描述

未来我们的Sable Diffusion会用它自己的环境,所以这里的Base对我们来说暂时不用太关心,直接关掉即可。

2.1.4 安装git工具–gitForWindows

【git工具下载网址】http://gitforwindows.org
在这里插入图片描述
直接点击下载即可;下载完成后如下图所示:
在这里插入图片描述
双击打开,按照它推荐的功能,基本保持所有的选项都是默认选项,无脑下一步即可。
完成后如下所示:
在这里插入图片描述

2.1.5 检查环境

至此,CUDA、NVIDA、ANACONDA以及gitForWindows我们已经安装完成了;

下面检查一下Anaconda Prompt和Conda的安装;

打开开式菜单,在Anaconda3文件夹下,找到Anaconda Prompt,如下图所示:
在这里插入图片描述
双击打开:
在这里插入图片描述
可以看到前面默认有个(base),指的是现在窗口使用的是Base的环境;
在上面输入nvidia-smi指令,检查一下当前的显卡驱动:
在这里插入图片描述
然后输入git指令,会发现git也开始工作了,如下图:
在这里插入图片描述
没什么问题。

2.2 配置Transformer环境变量

transformer是一个机器学习的框架,Gradio是它的一个可视化的部署,未来AI工具也都会用到这个工具;

我们现在E盘建立一个空的目录,我起名为transformerCache,用来存放那些大模型的;
该目录的路径为E:\transformerCache
然后点击:
开始菜单->设置->系统->关于->高级系统设置->环境变量->系统变量->新建
在这里插入图片描述
依次添加六个环境变量,变量名分别是PYTORCH_PRETRAINED_BERT_CACHE、PYTORCH_TRANSFORMERS_CACHE、TRANSFORMES_CACHE、XDG_CACHE_HOME、HF_MODULES_CACHE、HUGGINGFACE_HUB_CACHE,变量值均为E:\transformerCache,如下图所示:
在这里插入图片描述
这个cache我们一般建议放在一个比较大一点的硬盘上,因为我们未来会有很多模型,从HavingFace这边去下载回来;会占用很大空间;所以这里我们把所有的环境变量都放在了E:\transformerCache里;

建好以后,点击确定即可:

在这里插入图片描述

在这里插入图片描述

2.3 安装SD WebUI

在Anaconda Prompt中,切换到E盘,并克隆Stable Diffusion代码到SDWebUI文件夹中,指令如下所示:

e:
dir
cd SDWebUI
dir
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

在这里插入图片描述
克隆完成后,我们打开stable-diffusion-webui,然后执行webui-user.bat:

cd stable-diffusion-webui
webui-user.bat

在这里插入图片描述
首次执行的时候,系统会检查当前的情况,如果没有自己的执行环境,系统会自动调用虚拟环境的命令,去创建一个适用于它自己的这么一个Python环境;所以这个脚本的过程基本是下载配置python环境、依赖包、更新python包管理器、下载所需模型(人脸恢复、嘴唇对齐、反推关键词、放大算法等模型)等等;

如果遇到报错,请去看2.4节;

下载模型中。。。。
在这里插入图片描述

执行过程中需要保持网络环境的稳定;整个过程我是挂着科学上网执行的。

完成后如下图所示:
在这里插入图片描述

此时我们可以打开127.0.0.1:7860,并随便输入一个参数,来查看一下效果了:
在这里插入图片描述
如果能生成图片,说明Web UI搭建成功了;

2.4 安装SD WebUI过程中遇到的问题

执行webui-user.bat的时候遇到报错:

1、fatal: unable to access ‘https://github.com/Stability-AI/stablediffusion.git/’:

fatal: unable to access 'https://github.com/Stability-AI/stablediffusion.git/': Failure when receiving data from the peer
Traceback (most recent call last):
  File "E:\SDWebUI\stable-diffusion-webui\launch.py", line 48, in <module>
    main()
  File "E:\SDWebUI\stable-diffusion-webui\launch.py", line 39, in main
    prepare_environment()
  File "E:\SDWebUI\stable-diffusion-webui\modules\launch_utils.py", line 380, in prepare_environment
    git_clone(stable_diffusion_repo, repo_dir('stable-diffusion-stability-ai'), "Stable Diffusion", stable_diffusion_commit_hash)
  File "E:\SDWebUI\stable-diffusion-webui\modules\launch_utils.py", line 186, in git_clone
    run(f'"{git}" clone "{url}" "{dir}"', f"Cloning {name} into {dir}...", f"Couldn't clone {name}", live=True)
  File "E:\SDWebUI\stable-diffusion-webui\modules\launch_utils.py", line 115, in run
    raise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't clone Stable Diffusion.
Command: "git" clone "https://github.com/Stability-AI/stablediffusion.git" "E:\SDWebUI\stable-diffusion-webui\repositories\stable-diffusion-stability-ai"
Error code: 128
请按任意键继续. . .

在这里插入图片描述

解决:
在终端执行:

git config --global --unset http.proxy 
git config --global --unset https.proxy

2、RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check

在这里插入图片描述
按照它给的提示,打开webui-user.bat脚本,在后面加上--skip-torch-cuda-test
在这里插入图片描述

三、 参考

Stable Diffusion是什么意思?https://www.zhihu.com/question/561527911/answer/3119390120

【Stable Diffusion教程】01如何快速本地部署SD教学方法一:SD-WEBUI(包教包会,小白速来)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

指针浅谈(三)

在指针浅谈(二)http://t.csdnimg.cn/SKAkD中我们讲到了const修饰指针、指针运算、野指针、assert断言和传址调用的内容&#xff0c;今天我们继续学习有关数组名、指针访问数组、一维数组传参的本质相关的内容&#xff0c;内容比较深入&#xff0c;如果觉得哪里讲解的不行&#…

Java EE 多线程之线程安全的集合类

文章目录 1. 多线程环境使用 ArrayList1. 1 Collections.synchronizedList(new ArrayList)1.2 CopyOnWriteArrayList 2. 多线程环境使用队列2.1 ArrayBlockingQueue2.2 LinkedBlockingQueue2.3 PriorityBlockingQueue2.4 TransferQueue 3. 多线程环境使用哈希表3.1 Hashtable3.…

QT----第三天,Visio stdio自定义封装控件

目录 第三天1 自定义控件封装 源码&#xff1a;CPP学习代码 第三天 1 自定义控件封装 新建一个QT widgetclass&#xff0c;同时生成ui,h,cpp文件 在smallWidget.ui里添加上你想要的控件并调试大小 回到mainwidget.ui&#xff0c;拖入一个widget&#xff08;因为我们封装的也…

jemeter,断言:响应断言、Json断言

一、响应断言 接口A请求正常返回值如下&#xff1a; {"status": 10013, "message": "user sign timeout"} 在该接口下创建【响应断言】元件&#xff0c;配置如下&#xff1a; 若断言成功&#xff0c;则查看结果树的接口显示绿色&#xff0c;若…

maui 开发音乐播放APP 优化(2)

界面改为&#xff1a; 音量可以调整 。同时当前状态 显示。以及播放音乐.视频有时可以自动播放有时候要手动。 界面代码 <?xml version"1.0" encoding"utf-8" ?> <ContentPage xmlns"http://schemas.microsoft.com/dotnet/2021/maui&quo…

MySQL的事务以及springboot中如何使用事务

事务的四大特性&#xff1a; 概念&#xff1a; 事务 是一组操作的集合&#xff0c;它是不可分割的工作单元。事务会把所有操作作为一个整体&#xff0c;一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 注意&#xff1a; 默认MySQ…

最新UI酒桌喝酒游戏小程序源码,直接上传源码到开发者端即可,带流量主

源码介绍&#xff1a; 2023最新UI酒桌喝酒游戏小程序源码 娱乐小程序源码 带流量主.修改增加了广告位&#xff0c;直接上传源码到开发者端即可。 通过后改广告代码&#xff0c;然后关闭广告展示提交&#xff0c;通过后打开即可。无广告引流。 流量主版本的&#xff08;配合流…

proteus元件合集(一)

LCD LM018L​​ 绿色的LCD寻找方法&#xff1a; 直流电压源 直流电压源寻找方法&#xff1a; 滑动变阻器 滑动变阻器寻找方法&#xff1a; 注意&#xff1a;它出来之后会自动出现那两个红色的。那是电源。

崩坏:星穹铁道【V1.5攻略】五星(金)-遗器主、副词条成长数值参考

星穹铁道中五星遗器词条成长数值攻略&#xff1a; 温馨提示&#xff1a;以下数据会可能会出现一点一点误差&#xff0c;见谅... --------------------------- 一、如图&#xff1a; ----->>细节补充<<----- ①实际数值可能与游戏中不一&#xff0c;若数据出现无法忽…

详解Java中的异常体系结构(throw,throws,try-catch,finally,自定义异常)

目录 一.异常的概念 二.异常的体系结构 三.异常的处理 异常处理思路 LBYL&#xff1a;Look Before You Leap EAFP: Its Easier to Ask Forgiveness than Permission 异常抛出throw 异常的捕获 提醒声明throws try-catch捕获处理 finally的作用 四.自定义异常类 一.异…

深入理解亚信安慧AntDB-T数据库子计划的执行流程

概要&#xff1a; SQL语句在执行时会转换为执行计划&#xff0c;若其中包含了子查询或子链接并且不能被优化&#xff0c;则执行计划会生成子计划&#xff08;查看AntDB的执行计划时看到标记为SubPlan[1] 的部分即为子计划&#xff09;。在整个AntDB数据库中&#xff0c;子计划…

现代C++ 实现单例模式

传统写法有什么问题 如果你了解过单例模式&#xff0c;双重检查锁定模式&#xff08;Double-Checked Locking Pattern&#xff0c;后文简称DCLP&#xff09;的写法你一定不会陌生&#xff0c;甚至你或许认为它是最正确的代码。 class Singleton { public://获取单例Singleton…

MySQL 8.x temp空间不足问题

目录 一、系统环境 二、问题报错 三、问题回顾 四、解决问题 一、系统环境 系统Ubuntu20.04 数据库版本MySQL 8.0.21 二、问题报错 在MySQL上执行一个大的SQL查询报错Error writing file /tmp/MYfd142 (OS errno 28 - No space left on device) Exception in thread …

用C语言实现链队列的基本操作

不多解释&#xff0c;直接上代码&#xff0c;代码已经写了注释&#xff01; //队列链式结构的基本操作&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> typedef int QueueElememtType; typedef struct QNode//链队的定义 {…

什么是蜘蛛池,蜘蛛池是什么蚂蚁SEO

蜘蛛池是一种通过大量模拟真实用户行为来提升网站搜索引擎排名的技术。这种技术利用大量的网络爬虫程序&#xff0c;模拟搜索引擎蜘蛛的爬行行为&#xff0c;通过大量的模拟爬行和页面抓取&#xff0c;提高网站的权重和排名。 如何联系蚂蚁seo&#xff1f; baidu搜索&#xf…

如何查看自己的文章是否被数据库收入?【查收查引】

致谢&#xff1a;特别感谢图书馆的蔡老师&#xff0c;告诉我怎么操作&#xff01; 另外&#xff0c;查收查引报告中的文章可以分开开&#xff0c;放在一起开不是必须的。&#xff08;放在一起开大概是院士工作量需要的。不是很了解。&#xff09; 如何查看自己的文章是否被数据…

杰发科技AC7840——CAN通信简介(1)

简介 7840支持4路CAN-FD Demo调试 官网下载demo&#xff0c;烧录&#xff0c;打开串口发现打印如下。原因是没有连接CAN盒子&#xff0c;总线错误。 CAN收发器端波形 CAN_L有信号&#xff0c;CAN_H没有 波形放大 GPIO端波形 有持续波形输出 波形放大查看&#xff0c;有50U…

.NET 反射优化的经验分享

比如针对 GetCustomAttributes 通过反射获取属性的优化,以下例子 // dotnet run -c Release -f net7.0 --filter "*" --runtimes net7.0 net8.0public class Tests{public object[] GetCustomAttributes() => typeof(C).GetCustomAttributes(typeof(MyAttribute…

如何快速将图片转为excel?

一、打开金鸣表格文字识别软件。 二、点击添加文件按钮&#xff0c;在打开的窗口中选择目标图片&#xff0c;然后点击“打开”&#xff0c;将图片添加进待识别的列表中。 三、点击提交识别或识别全部。 四、识别完成后点击“打开文件”即可打开识别好的结果文件&#xff08;EXC…

Enabling Application Engine Tracing 启用应用程序引擎跟踪

Enabling Application Engine Tracing 启用应用程序引擎跟踪 By default, all Application Engine traces are turned off. To see a trace or a combination of traces, set trace options before you run a program. 默认情况下&#xff0c;所有应用程序引擎跟踪都处于关闭…