Windows/Linux搭建Stable Diffusion WebUI

news2024/11/15 19:25:45

什么是Stable Diffusion WebUI?能用来干嘛?

Stable Diffusion WebUI(以下简称SD)是一个基于Gradio库的Stable Diffusion的浏览器界面,可以方便地配置和生成AI绘画作品,并且进行各种精细地配置。Stable Diffusion是2022年发布的深度学习文字到图像生成模型。是一款功能异常强大的AI图片生成器。它不仅支持生成图片,使用各种各样的模型来达到你想要的效果,还能训练你自己的专属模型。

SD的主要功能有两个:文生图(text2img)和图生图(img2img)。文生图是根据提示词(Prompt)的描述生成相应的图片,而图生图是将一张图片根据提示词(Prompt)描述的特点生成另一张新的图片。

如何搭建Stable Diffusion WebUI?

1. 安装Git + Python + Nvidia CUDA

(1)安装Git

首先,进入Git官网,根据自己电脑选择相应系统版本进行下载。Linux系统(以Ubuntu为例)可直接使用apt-get install git命令进行下载。

 根据自己系统下载对应版本。

下载完成后使用默认选项进行安装即可。

安装完成后可以打开终端,输入git --version查看是否安装完成。如何输出版本号说明git已经安装完成了。

 

(2)安装Python

首先进入Python官网,这里建议安装python3.10,SD官方文档使用的是3.10,低版本可能会有各种三方包不适配问题,由于Linux不同的发行版默认软件包版本不同,不保证一定是3.10,故需自行下载编译。

下载完成后,在命令行窗口输入python --version可以进行查看是否安装完成。

 

(3)安装Nvidia CUDA

首先命令输入nvidia-smi,看输出的右上角CUDA Version版本号,再输入nvcc --version命令查看是否已安装,如已安装且版本号对应则无需再装,如版本号不对应则需要进入NVIDIA官网重新下载对应版本进行安装。

CUDA需要搭配Nvidia显卡驱动进行安装和使用。如果你使用的是AMD显卡,则需要使用Ort。因为使用N卡的人比较多,所有这里只说N卡,不说A卡。

2. 下载Stable Diffusion WebUI项目

首先进入你想要安装的目录,命令行进入当前目录,输入以下命令下载SD项目:

关于如何使用git进行安装,可以关注公众号《乔说科技》添加作者,欢迎加入AI交流群

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

下载好项目,可以看到上面就是完整的项目目录,接下来需要先进入项目目录,输入cd stable-diffusion-webui。

3. 安装虚拟运行环境

进入项目目录后,在命令行中输入以下命令,安装虚拟环境.

python -m venv venv

安装号虚拟环境,可以看到项目目录下多了一个venv目录。

进入venv目录,编辑pyvenv.cfg配置文件,将“include-system-site-packages = false”改为“include-system-site-packages = true”。这一步的作用是允许虚拟环境中的 Python 解释器访问系统全局的 site-packages 目录。

修改完之后,Windows用户进入venv\Script目录(Linux用户则进入venv\bin目录),运行activate文件激活虚拟运行环境。Windows用户需要在命令行输入activate(Linux用户需要执行source activate)。

 执行完上面操作就可以看见前面有venv虚拟环境出现。

 

接下来执行以下命令安装运行环境所需要的三方包,这可能需要很久。

pip install requirements_versions.txt

小技巧:像torch这种比较大的三方包,可以复制下载链接,然后到浏览器使用迅雷进行下载,这样下载会很快,下载下来的.whl文件放入项目下(任何位置都可以,只要记住路径),然后在当前虚拟环境下使用pip install + .whl文件根目录进行安装即可。

安装完成后基本工作已完成,接下来还需要进行模型的下载。

4.下载模型(必须)

所有环境下载好之后,我们必须要下载至少一个模型,否则无法运行项目,模型我们一般都是去Hugging Face、C站、炼丹阁、海艺、Hotiq这些网站进行下载。

下面是Huggin Face:

下面是Civitai(简称C站)

下面是Hotiq:

下面是炼丹阁:

下面是海艺:

选择上面的Models可以看见有很多模型供下载,根据自己的需要进行下载,模型文件直接放入项目目录的\models\Stable-diffusion文件夹中,接下来就可以运行项目了

5. 运行项目

Windows用户运行webui-user.bat(Linux用户运行bash webui.sh)。

运行之后,操作界面自动跳转到默认浏览器中,接下来就可以进行文生图和图生图的操作了。

 Linux用户如果想在后台运行,这样关掉终端也不影响界面运行,可以执行以下命令:

#bash webui.sh
nohup bash webui.sh > webui.log &

其中,

  • nohup:运行在后台模式下,即使在终端关闭时也可以继续运行。
  • bash webui.sh:运行名为webui.sh的Bash脚本,该脚本的作用可能是启动一个Web应用程序或服务。
  • > webui.log:将命令的输出重定向到名为webui.log的文件中,这意味着脚本输出的所有内容将写入该文件,而不是在终端上显示。

  • &:在后台运行命令,这意味着命令将在后台运行,而不会占用当前终端的控制权。

关于如何自动关闭以及如何清理缓存等问题,可以关注公众号《乔说科技》添加作者,也欢迎加入AI交流群)

6. 问题汇总

(1)运行SD极为耗费显卡,至少需要4GB以上的虚拟内存,如果没有最低配置硬件要求,不建议在本地搭建。

(2)一般torch比较大,需要手动下载好,再进行手动安装比较好。

(3)Windows用户可以在webui-user.bat文件中修改参数进行相应配置:

set COMMANDLINE_ARGS=--lowvram --no-half-vae --deepdanbooru --xformers

Linux用户则是在webui-user.sh中修改:

export COMMANDLINE_ARGS="--lowvram --no-half-vae --deepdanbooru --xformers"

其中,--lowvram是表示适合4GB以上机型,还有medvarm(>6GB)、lowram(>16GB),如果添加该项,则表示无优化。--xformers表示显卡的VARAM占用率就会减少为原来的一般,能较大提升图片的生成效率,但是图片生成的质量相对也会变差。--deepdanbooru是训练tag的时候可以在图片分割预处理的时候自动推断包含的tag。--no-half-vae主要用于解决生成图片时控制台报modules.devices.NansException的问题。

更多参数配置,可以查看github源码或官方WiKi上面说明文档。

(4)windows如果上网了,则需要在配置中加入--no-gradio-queue才可以正常使用。

(5)插件安装问题

SD是可以安装插件的,而安装插件的方式很简单,一般有两种方法,第一种就是直接将需要的插件放入SD项目目录下的extensions目录下。

 关于如何安装这些插件,一个是启动时自动安装,另一个是进入到这些插件目录,在当前虚拟环境下使用pip install .(这里有一个点,注意!)命令安装。

第二种在运行页面上方找到Extensions(扩展)选项卡,然后再选择Avaliable(可用),点击Load from:(加载自)按钮,加载完后下面会出来个列表,在里面选择自己想要的就可以了。

(6)脚本文件放到项目目录下的scripts目录下。

暂时只想到这些问题,有其他问题后面会及时补充。


大家有任何问题,可以扫描下方公众号,关注公众号《乔说科技》添加作者,邀请你加入AI交流群,欢迎大家加入。

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

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

相关文章

如何挂载企业邮箱网盘到windows本地

西部数码的企业邮箱网盘支持本地挂载功能,可以不用任何客户端,方便的将企业邮箱的个人网盘和企业网盘挂载到本机,并像本地硬盘一样使用,支持复制、粘贴、删除、改名等操作,将极大的方便用户对网盘文件的使用&#xff0…

grpc 实现grpc gateway(window环境)

官网:https://grpc-ecosystem.github.io/grpc-gateway/ github:https://github.com/grpc-ecosystem/grpc-gateway grpc gateway的原理官网有介绍。总结一下就是: gRPC-Gateway帮助你同时以gRPC和RESTful风格提供你的API。grpc-gateway旨在为您…

从零开始 Spring Boot 39:循环依赖

从零开始 Spring Boot 39:循环依赖 图源:简书 (jianshu.com) 什么是循环依赖 我们看一个例子: Component public class Person {private Dog pet;public Person(Dog pet) {this.pet pet;} }Component public class Dog {private Person o…

《项目实战》 Jenkins 与 CICD、发布脚本

前言 Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释…

Monocle2拟时基因富集分析

****Monocle2全部往期精彩系列:1、群成员专享:Monocle2更新(就是重新梳理一下)2、一键跑完monocle2?3、ggplot2个性可视化monocle2结果4、ggplot修饰monocle2拟时热图:一众问题全部解决5、Monocle2终极修改…

IDEA 开发必备神级插件

“工欲善其事, 必先利其器” 分享几款 自用好用到起飞的 IDEA插件 插件下载方式 file->settings->plugins->macketplace—>然后搜索 1. Alibaba Java Coding Guidelines 阿里巴巴编码规范检查插件,让你的代码更规范 2. Tabnine 代码自动补全工具…

redis源码之:跳跃表skiplist

老规矩,先来看看大致结构: debug所用demo如下: #include "src/server.h"void testSDS(); void testAlign(); void testZipList(); void testSkipList(); void testQuickList();int main(int argc, char **argv) { // testAli…

flutter DevTools(1)

在VSCODE中调试 第一步: ① 切换到 vscode 的调试和运行模式, ② 配置好 .vscode 中的启动项 launch.json ③ 共有四种模式 [1] debug : 模式编译产物适合纯 Flutter 侧代码的开发、调试 [2] profile : 的用来做性能分析和测试 [3] release : 的用于打包发布 [4]…

DBeaver连接(DM)达梦数据库

DBeaver连接(DM)达梦数据库 文章目录 1.下载驱动2.DBeaver新建驱动3.连接DM数据库4.JDBC 接口 DBeaver是一款功能强大的数据库管理工具,可以连接多种类型的数据库。下面是连接达梦数据库的步骤: 打开DBeaver并点击“连接”按钮。在弹出的“连接”对话框中…

几个直接在TigerISP上查看全志芯片接Sensor分辨率的方法

TigerISP是全志提供的量产工具,在连接TigerISP时需要填写Sensor名称、Sensor分辨率、Sensor帧率及选择ISP通道、Vich、Wdr模式等… 准备工作:打开debugfs 操作:adb shell进入系统后输入以下两个命令: mount -t debugfs mone /s…

如何成功实施一个数据治理项目?实施步骤有哪些?

企业数字化转型以数据为中心,通过数据驱动业务发展、管理协同和运营。因此,数字化转型关键在于数据,数据治理则需先行。从而更好激发数据生产要素潜能,实现业务数据化、数据价值化,助力企业数字化转型。 那么何为数据…

零代码产品新秀敲敲云与明星产品简道云、轻流对比

零代码产品正在成为当今技术领域的热门话题。随着人们对更快、更简单的开发流程的需求不断增加,零代码产品正在作为一种解决方案得到越来越多的关注。 零代码技术源于低代码技术,与低代码不同的是,零代码不需要任何代码编写。这意味着即使是普…

让人头疼的时序数据预测,这个方案居然三步就搞定了?

数字化时代,时序数据预测已经从一种理论研究转变为各行业实际运营中的关键工具,这种预测可以覆盖广泛的业务领域,比如: 利用历史销售数据进行未来销售趋势的预测 根据既往的电力消耗数据预估未来电力需求 基于过去的股市行情预测未…

释放 OpenAI 和 ESP-BOX 的力量:ChatGPT 与乐鑫 SoC 融合指南

当前,我们正见证着一场技术革命,而 OpenAI 正处于这场变革的最前沿。其中最激动人心的创新之一就是ChatGPT,它运用自然语言处理的力量,打造出更加引人入胜、直观的用户体验。而将 OpenAI 的 API 与物联网设备相结合,更…

Spring Cloud Kubernetes配置使用详情

目录 一、 为什么你需要 Spring Cloud Kubernetes? 二、 Starter 三、 用于 Kubernetes 的 DiscoveryClient 四、Kubernetes 原生服务发现(service discovery) 五、Kubernetes PropertySource 的实现 1、使用 ConfigMap PropertySource …

Unreal Engine 5.1 AI行为树基础入门

ai行为树理解起来其实是npc根据自身一些情况进行一些逻辑执行,而这些逻辑是我们使用ai行为树去实现的。 ai行为树需要一个寻路网格体边界体积,在ue引擎中,体积Actor分为多种,寻路网格体边界体积只是其中的一种。 关于其它的体积&a…

leetcode:448. 找到所有数组中消失的数字(python3解法)

难度:简单 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。 示例 1: 输入:nums [4,3,2,7,8,2,3,1] 输出&…

初识网络之https的加密与解密

目录 一、https协议的概念 二、加密的概念 三、为什么需要加密 四、常见的加密方式 1. 对称加密 2. 非对称加密 五、数据摘要(数据指纹) 六、数据签名 七、加密方案 1. 方案一:只使用对称加密 2. 方案二:只使用非对称加…

院士大咖齐聚蓉城,论道“疑难眼眶病学术论坛”

“全国疑难眼眶病诊疗带教基地”成立,力促“病有所医 ” 大咖云集,这是一场眼科界领军人汇聚一堂,聚焦疑难眼眶病突破性学术成果及前沿技术的高规格论坛; 规模空前,这是一场围绕眼眶病诊疗技术议题深入探讨交流,为我国…

行为型设计模式08-职责链模式

🧑‍💻作者:猫十二懿 ❤️‍🔥账号:CSDN 、掘金 、个人博客 、Github 🎉公众号:猫十二懿 职责链模式 1、职责链模式介绍 责任链模式(Chain of Responsibility Pattern)…