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

本专栏主要记录人工智能的应用方面的内容,包括chatGPT、AI绘图等等;

在当今AI的热潮下,不学习AI,就要被AI淘汰;所以欢迎小伙伴加入本专栏和我一起探索AI的应用,通过AI来帮助自己提升生产力;

订阅后可私聊我获取 《从零注册并登录使用ChatGPT》《从零开始使用chatGPT的API;通过chatgpt-next-web部署自己chatGPT web网页;无需翻墙,无需服务器,无需域名;》 两份文档;

采用Conda创建、隔离python虚拟环境,可以解决多应用部署下的环境管理难题;所以本文主要介绍通过Conda的方式在本地部署Stable Diffusion。

文章目录

  • 一、Stable Diffusion介绍
  • 二、通过Conda本地部署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无法实现。

二、通过Conda本地部署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 mainprepare_environment()File "E:\SDWebUI\stable-diffusion-webui\modules\launch_utils.py", line 380, in prepare_environmentgit_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_clonerun(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 runraise 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(包教包会,小白速来)

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

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

相关文章

计算机网络:物理层(三种数据交换方式)

今天又学到一个知识&#xff0c;加油&#xff01; 目录 前言 一、电路交换 二、报文交换 三、分组交换 1、数据报方式 2、虚电路方式 3、比较 总结 前言 为什么要进行数据交换&#xff1f; 一、电路交换 电路交换原理&#xff1a;在数据传输期间&#xff0c;源结点与…

无机物及分析化学3d虚拟实验室软件提高教学效果

VR化学虚拟仿真实验室软件可以解决以下难题&#xff1a; 实验场地限制&#xff1a;传统的化学实验室需要占用大量的物理空间&#xff0c;并且需要严格的安全措施。而VR技术可以提供一个虚拟的实验室环境&#xff0c;不受空间限制&#xff0c;可以同时容纳更多的学生参与实验。 …

分类信息网商业运营版源码系统:适合各类行业分类站点建站 带安装部署教程

随着互联网的快速发展&#xff0c;信息分类网站在各个行业中得到了广泛应用。为了满足不同行业的需求&#xff0c;罗峰给大家分享一款适合各类行业分类站点建站的商业运营版源码系统。该系统旨在提供一套完整的解决方案&#xff0c;帮助用户快速搭建自己的分类信息网站&#xf…

深入分析ClassLocader工作机制

文章目录 一、ClassLoader简介1. 概念2. ClassLoader类结构分析 二、ClassLoader的双亲委派机制三、Class文件的加载流程1. 简介2. 加载字节码到内存3. 验证与解析4. 初始化Class对象 四、常见加载类错误分析1. ClassNotFoundException2. NoClassDefFoundError3. UnsatisfiledL…

jmeter,动态参数之随机数、随机日期

通过函数助手&#xff0c;执行以下配置&#xff1a; 执行后的结果树&#xff1a; 数据库中也成功添加了数据&#xff0c;对应字段是随机值&#xff1a;

『番外篇三』Swift “乱弹”之带索引遍历异步序列(AsyncSequence)

概览 在 Swift 开发中,我们往往在遍历集合元素的同时希望获得元素对应的索引。在本课中,我们将向小伙伴们展示除 enumerated() 方法之外的几种实现思路。在玩转普通集合之后,我们将用“魔法棒”进一步搞定异步序列带索引遍历的实现。 在本篇博主中,您将学到以下内容: 概…

国标级联/流媒体音视频平台EasyCVR设备录像下载异常该如何解决?

视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多路视频流&#xff0c;也能支…

7. 异常、断言及日志

1.异常 1).什么是异常 异常&#xff0c;就是不正常的意思。指的是程序在执行过程中&#xff0c;出现的非正常的情况&#xff0c;最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中&#xff0c;异常本身是一个类&#xff0c;产生异常就是创建异常对象并抛出了一个异常…

2023年度总结:3个常用代理IP服务商实测对比

转眼到了2023年末&#xff0c;即将踏入2024新年&#xff0c;业务也即将走过年底冲刺暂告一段落。在这一年&#xff0c;为了保证公司项目的稳定运行&#xff0c;我们花费了大量的精力与费用测试在全球范围内的多家代理IP服务商&#xff0c;综合实测各家产品与服务后&#xff0c;…

mybatis-plus雪花算法自动生成ID到前端后精度丢失问题

问题发生 前端接收到后端的数据出现异常&#xff0c;异常如下&#xff1a; 如图这是后端正常返回的数据&#xff0c; 但是点击预览时发现这个id的数据被改变了 这就导致了我通过id去修改相关数据时无法成功 问题原因 id的长度过长&#xff08;19位&#xff09;&#xff0c;前…

前端(一):HTML+CSS

参考课程&#xff1a;23最新版web前端开发_哔哩哔哩_bilibili 文档&#xff1a;GitHub - codeNiuMa/HTML-md-file: 学习HTML课程时的资料 目录 1 HTML 1.1 骨架 DOCTYPE html标签 head标签 body标签 title标签 meta标签 1.2 标签标题h1 1.3 段落p 1.4 水平线 1.5 图片img 1.6 …

MacOS下载配置OpenCV

主要参考的是OpenCV官方的这篇文章&#xff1a;OpenCV: Installation in MacOS 安装OpenCV需要下载一些安装包&#xff1a;CMake3.9、Git、Python这些我之前已经下载好&#xff0c;这里就不过多阐述了&#xff0c;自行百度安装即可 1.从Git库获取OpenCV&#xff1a; git clon…

[NAND Flash] 3.3 Flash闪存工艺知识深度解析

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 全文 3800 字。 1. Wafer 1.1 什么是 Wafer Wafer即晶圆&#xff0c;是半导体组件“晶片”或“芯片”的基材&#xff0c;从沙子里面…

Java医院信息化建设云HIS系统源码

云HIS提供标准化、信息化、可共享的医疗信息管理系统&#xff0c;实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。优化就医、管理流程&#xff0c;提升患者满意度、基层首诊率&#xff0c;通过信息共享、辅助诊疗等手段&#xff0c;提高基层医生的服务能力构建和…

喜讯连连捷报传,文章累累创佳绩,平均IF 18分!!!

爱基百客专注于提供领先的表观组学服务&#xff0c;目前已在表观组学、单细胞时空组学和高通量测序等方向积累了大量的项目经验。近期&#xff08;11月23日-12月4日&#xff09;&#xff0c;高分项目文章频出&#xff0c;涉及物种有梨、腰果、蘑菇、青枯雷尔氏菌和心肌细胞&…

系统的安全性设计

要设计一个安全的系统&#xff0c;除了要了解一些前面讲到的常用的保护手段和技术措施外&#xff0c;还要对系统中可能出现的安全问题或存在的安全隐患有充分的认识&#xff0c;这样才能对系统的安全作有针对性的设计和强化&#xff0c;即“知己知彼&#xff0c;百战百胜”。 下…

【Oracle】创建表

目录 方法一&#xff1a;CREATE TABLE 语法 创建表示例1&#xff1a;创建stuinfo(学生信息表) 创建表示例2&#xff1a;添加stuinfo(学生信息表)约束 方法二&#xff1a;CREATE TABLE AS 语法 创建表示例3&#xff1a; 创建表示例4&#xff1a;实现对select查询的结果进行…

什么是数据可视化?数据可视化的优势、方法及示例

前言 在当今的数字时代&#xff0c;数据是企业和组织的命脉&#xff0c;生成的数据量呈指数级增长。这种被称为大数据的海量数据在洞察力和决策方面具有巨大的潜力。然而&#xff0c;如果没有一种有效的方法来分析和理解这些数据&#xff0c;它就会变得毫无意义和难以管理。这就…

四十六、Redis哨兵

目录 一、哨兵的作用及原理 1、哨兵的结构和作用如下&#xff1a; 2、服务状态监控 3、选举新的master 4、小结 二、RedisTemplate的哨兵模式 一、哨兵的作用及原理 Redis提供了哨兵&#xff08;Sentinel&#xff09;机制来实现主从集群的自动故障恢复。 1、哨兵的结构和作…

【电路笔记】-电容器

电容器 文章目录 电容器1、概述2、电容器的电容单位3、电容4、电容器示例15、电介质6、额定电压7、总结 电容器是简单的无源器件&#xff0c;当连接到电压源时&#xff0c;可以在极板上存储电荷。 1、概述 在本电容器简介文章中&#xff0c;我们将看到电容器是无源电子元件&am…