搭建和配置Stable Diffusion环境,超详细的本地部署教程

跃然纸上的创意、瞬息万变的想象,Stable Diffusion以AI的力量赋予您无限创作可能。在这篇详尽的本地部署教程中,我们将携手走进Stable Diffusion的世界,从零开始,一步步搭建和配置这个强大的深度学习环境。无论您是热衷于探索AI艺术的新手,还是追求技术创新的专业人士,本教程都将助您轻松掌握如何在个人电脑上实现Stable Diffusion模型的本地化运行。接下来的内容将细致入微地引导您完成环境安装、依赖配置、资源优化以及启动服务等关键步骤,让您在享受高效稳定的同时,也能充分释放想象力,畅游AI绘画的无垠天地!

1.安装显卡驱动程序

确认电脑已经安装最新版的显卡驱动程序。

1.1 NVIDIA GeForce 显卡驱动程序安装:

建议使用GeForce Experience工具

下载与安装:访问NVIDIA官方网站(https://www.nvidia.com/zh-cn/geforce/geforce-experience/),下载并安装GeForce Experience软件。

运行与登录:打开GeForce Experience,按照提示进行注册或登录账户。

自动更新驱动:该软件会自动检测你的NVIDIA显卡型号,并提供最新版的驱动程序。只需点击“驱动程序”选项卡下的“更新”按钮,程序将自动下载并安装最新版本的驱动以及CUDA Toolkit(如果系统配置允许且需要CUDA支持的话)。

手动安装驱动

  • 查找驱动:直接访问NVIDIA驱动下载页面(https://www.nvidia.cn/Download/index.aspx),输入你的显卡型号和操作系统信息来找到匹配的驱动程序。
  • 下载与安装:下载适合的驱动程序后,双击运行安装文件,按照向导指示完成安装过程。

1.2 AMD Radeon 显卡驱动程序安装:

驱动自动检测与安装

  • 访问AMD官方网站(https://www.amd.com/zh-hans/support),点击顶部菜单中的“驱动与支持”链接。
  • 允许网站自动检测你的AMD显卡型号,或者手动选择显卡型号和操作系统版本。
  • 下载AMD提供的专用驱动安装工具,它通常可以智能识别硬件并安装合适的驱动程序。

手动选择与安装

  • 如果您想手动选择驱动,可在上述页面中根据显卡型号和系统信息下载相应的驱动程序安装包,然后执行安装文件以安装最新驱动。

1.3 Intel Arc 显卡驱动程序安装:

下载WHQL认证驱动

  • 进入Intel官方支持网站,找到针对Intel Arc系列独立显卡的WHQL认证驱动程序页面。

WHQL认证驱动下载www.intel.com.tw/content/www/tw/zh/download-center/home.html

  • 根据显卡的具体型号以及电脑的操作系统版本,下载经过微软Windows Hardware Quality Labs测试认证的稳定驱动程序。

安装驱动程序

  • 下载完成后,运行下载好的驱动安装程序,按照屏幕上的提示逐步进行安装操作。

2. 安装Git(Windows系统)

2.1 下载Git

  • 打开浏览器,访问Git官方网站:https://git-scm.com/downloads
  • 根据你的Windows版本选择合适的安装包(通常选择“64-bit Git for Windows Setup”)。

2.2 开始安装

  • 双击下载好的安装文件(如 Git-*.exe),启动安装向导。
  • 在安装过程中,可以选择自定义安装路径,推荐预留足够的磁盘空间。
  • 在“Choosing the default editor used by Git”部分,可以选择你常用的文本编辑器作为默认编辑器。
  • 注意选项“Adjusting your PATH environment”,通常选择“Use Git from the Windows Command Prompt”或“Use Git and optional Unix tools from the Windows Command Prompt”,以便在命令行中直接使用Git命令。
  • 检查是否勾选了创建桌面快捷方式或者添加到PATH环境变量等选项,根据个人需求配置。

2.3 继续安装

  • 点击“Next”并接受许可协议。
  • 安装程序会引导你完成剩余的步骤,包括选择组件和其他可选功能,如是否安装Git Bash、Git GUI工具等。
  • 最后确认设置无误后点击“Install”开始安装。

2.4 安装完成

  • 安装完成后,重启任何已打开的命令提示符窗口以确保Git命令生效,或者按照提示重新启动计算机。

3. 安装Python

接下来继续安装Python,SD WebUI建议Python版本为3.10.6。请至Python官网下载Python 3.10.6的安装档。(想安装最新版本合理说也是可行的)

版本较多自行在这里查看吧

安装前先勾选Add Python 3.10 to PATH,将Python加到环境变量。再按Install Now

4. 使用Anaconda设置Python虚拟环境(可选,不使用这种方法的直接跳到目录5)

Anaconda是一个专为数据科学和机器学习设计的Python发行版,它通过conda环境管理工具提供了一种便捷的方式来管理和隔离不同的Python版本及其相关库。在已安装了旧版Python的情况下,你可以并行安装Anaconda而不必卸载原有Python,因为Anaconda会将所有相关的包和环境独立管理。

如果你选择使用Anaconda来安装Stable Diffusion WebUI项目及其依赖,需要通过Anaconda Prompt不是Windows命令提示符来进行操作,因为Anaconda Prompt已经包含了conda命令行工具以及指向你所创建的虚拟环境的路径。

改用Anaconda设置Python虚拟环境会更好,建议熟悉Python开发的人使用。

如果选择以Anaconda来安装Stable Diffusion WebUI的依赖套件,那么就不能用Windows终端机运行webui-user.bat,而得使用Anaconda Prompt,除非你将conda加入环境变量。

4.1 安装Anaconda或Miniconda

  • 从官方网站下载Page not found | Anaconda

运行安装程序,按照向导完成安装,并确保在安装过程中添加Anaconda到系统环境变量,以便全局访问conda命令。

  • 打开Anaconda Prompt:

在Windows搜索栏中输入“Anaconda Prompt”,然后运行该程序。

  • 克隆Stable Diffusion WebUI项目:

在Anaconda Prompt中,使用git命令克隆项目到指定目录:

 git clone GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI D:/user/Desktop/stable-diffusion-webui
  • 切换至项目文件夹:

使用cd命令进入项目目录:

cd D:/user/Desktop/stable-diffusion-webui
  • 创建Python 3.10.6的虚拟环境:

使用conda命令创建虚拟环境:“swebui”:

conda create --name sdwebui python=3.10.6
  • 激活虚拟环境:

激活你刚才创建的虚拟环境:

conda activate sdwebui
  • 安装项目依赖:

在虚拟环境激活后,根据项目的README或文档指引,通常会有安装依赖项的指令,可能是运行一个requirements文件:

pip install -r requirements.txt 或者 pip install-r requirements_versions.txt

  • 启动WebUI服务:

确保所有依赖安装完毕后,按照项目文档提供的方法执行webui-user.bat或其他启动脚本(如果需要修改bat文件以适应conda环境中的Python执行路径,请确保更改其中的Python解释器路径指向conda环境中Python的位置)。

注意:由于Anaconda可能不直接支持Python 3.10.6版本,你可能需要查找确认是否有适用于3.10.6版本的Anaconda分发版,或者在创建虚拟环境时使用conda能提供的最高版本Python。如果conda仓库中没有3.10.6,则可以尝试先更新conda,再创建环境,或者直接在虚拟环境中通过pip安装所需的特定Python版本。

5.拷贝Stable Diffusion WebUI保存库

5.1 打开PowerShell终端窗口

  • 打开搜索,查找“PowerShell”

5.2 检查Python版本

在打开的终端窗口中输入以下命令以确认当前环境下的Python版本

python --version

如果您期望使用的是Anaconda中的Python 3.10.6版本,请确保已激活相应的虚拟环境(通过conda activate sdwebui)再执行此命令。

5.3 检查CUDA安装情况(针对NVIDIA显卡用户)

输入以下命令来确认CUDA编译器驱动是否已正确安装

nvcc --version

克隆Stable Diffusion WebUI仓库

  • 根据您的显卡类型,执行对应的git clone命令:

  • 对于Nvidia显卡用户:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
  • 对于AMD显卡用户,使用DirectML分支:
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git
  • 对于Intel Arc显卡用户,同样使用DirectML分支:
git clone https://github.com/Aloereed/stable-diffusion-webui-arc-directml.git

运行以上命令后,Git将会从GitHub上拷贝项目到当前工作目录,并创建一个名为stable-diffusion-webui(或者根据分支名称略有不同的文件夹名)的新文件夹。

6. 放置模型文件

  • 拷贝完成后,如果已经下载了Stable Diffusion的模型文件,请将其放入新生成的stable-diffusion-webui/models文件夹内。

请注意,运行WebUI前,您还需要在该环境中安装必要的依赖项,并配置相关设置以匹配您的硬件和软件环境。具体步骤请参考Stable Diffusion WebUI项目的官方文档或README文件。

7. 设置启动命令行参数

以记事本打开stable-diffusion-webui文件夹里面的webui-user.bat批处理文件,按照你的显卡VRAM和系统RAM的不同情况,请按照以下步骤修改COMMANDLINE_ARGS变量的值:

7.1 替换set COMMANDLINE_ARGS=

  • **显卡VRAM大于等于8GB:**将原本的设置改为以下设置
set COMMANDLINE_ARGS=--enable-insecure-extension-access
  • **显卡VRAM小于等于4GB:**将原本的设置改为以下设置

加上–medvram的用意是为了限制VRAM占用。

set COMMANDLINE_ARGS=--medvram --opt-split-attention --enable-insecure-extension-access

电脑RAM(系统内存)小于等于8GB:

注意:使用–lowvram参数会让高端显卡算图变很慢。

set COMMANDLINE_ARGS=--lowvram --opt-split-attention --enable-insecure-extension-access

7.2 额外的选项 (不加也可以)

  • 为了进一步减少VRAM占用,并且仅限Nvidia显卡用户,可以加上--xformers参数:
set COMMANDLINE_ARGS=--lowvram --opt-split-attention --enable-insecure-extension-access --xformers
  • 减少使用VAE导致黑图出现几率,加入--no-half-vae参数:
set COMMANDLINE_ARGS=--lowvram --opt-split-attention --enable-insecure-extension-access --no-half-vae
  • 若要允许局域网内其他设备通过浏览器访问WebUI,在防火墙中开放7860端口并添加--listen参数
set COMMANDLINE_ARGS=--lowvram --opt-split-attention --enable-insecure-extension-access --listen --port 7860
  • 若要生成一个可通过互联网或手机访问的Gradio网址,该网址有效期为72小时,请添加--share参数:
set COMMANDLINE_ARGS=--lowvram --opt-split-attention --enable-insecure-extension-access --share

请确保在实际应用时结合硬件配置和需求来选择合适的参数组合。此外,对于防火墙设置、网络访问权限等操作,请务必了解相关安全风险并谨慎操作。其他可用命令行参数,您可以查阅Stable Diffusion WebUI项目的官方文档以获取完整列表及其功能说明。

8. 启动Stable Diffusion WebUI

第一次启动会下载好几GB的数据,请保持网络顺畅。如果无法连接Github,就懂的都懂。

8.1 启动SD WebUI

确保你已在命令行终端中进入stable-diffusion-webui文件夹目录下

cd 根据你实际的安装路径自行调整/stable-diffusion-webui

执行webui-user.bat批处理文件来启动Stable Diffusion WebUI

./webui-user.bat

第一次启动时,程序会自动下载并安装所需的依赖包,这个过程可能需要大约30分钟。

8.2 运行与访问WebUI

  • 启动完成后,程序会在终端输出一个用于访问Web图形界面的网址(通常是 http://127.0.0.1:7860)。
  • 使用浏览器打开这个网址即可开始使用Stable Diffusion AI绘画工具。
  • 运行过程中请保持终端窗口开启,因为终端将显示运行时的消息和状态,包括任何可能的错误信息。

8.3 关闭SD WebUI

  • 要停止Stable Diffusion WebUI服务,在终端机中按组合键 Ctrl+C 来终止程序运行。
  • 确认程序已经正确关闭后,可以安全地关闭终端窗口。

8.4 重新启动SD WebUI

  • 不需要以系统管理员权限运行,直接双击webui-user.bat文件就可以再次启动Stable Diffusion WebUI服务。

至此你可以开始炼丹之旅了。

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

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

相关文章

Notes for the missing semester. Useful and basic knowledge about Linux.

The Shell Contents The first course is to introduce some simple commands. I’ll list some commands that I’m not familiar with: # --silent means dont give log info, # --head means we only want the http head. curl --head --silent bing.com.cn# cut --deli…

(7)快速调优

文章目录 前言 1 安装脚本 2 运行 QuikTune 3 高级配置 前言 VTOL QuikTune Lua 脚本简化了为多旋翼飞行器的姿态控制参数寻找最佳调整的过程。 脚本会缓慢增加相关增益,直到检测到振荡。然后,它将增益降低 60%,并进入下一个增益。所有增…

smac 路径优化器分析——距离成本和代价地图成本分析

参考 泰勒级数直观详解 前向差分,后向差分,中心差分 相关文章 smac 路径优化器分析——平滑度成本分析 smac 路径优化器分析——曲率成本分析 距离成本 距离成本函数 用优化后的点与原路径点的欧氏距离的平方作为成本。 下图中蓝色原点是原路径点…

java-springmvc 01 补充 javaweb 三大组件Servlet,Filter、Listener(源码都是tomcat8.5项目中的)

01.JavaWeb三大组件指的是:Servlet、Filter、Listener,三者提供不同的功能 这三个在springmvc 运用很多 Servlet 01.Servlet接口: public interface Servlet {/*** 初始化方法* 实例化servlet之后,该方法仅调用一次 * init方法必须执行完…

【MySQL | 第九篇】重新认识MySQL锁

文章目录 9.重新认识MySQL锁9.1MySQL锁概述9.2锁分类9.2.1锁的粒度9.2.2锁的区间9.2.3锁的性能9.2.4锁的级别 9.3拓展:意向锁9.3.1意向锁概述9.3.2意向锁分类9.3.3意向锁作用(1)意向锁的兼容互斥性(2)例子1&#xff08…

C++ | Leetcode C++题解之第61题旋转链表

题目: 题解: class Solution { public:ListNode* rotateRight(ListNode* head, int k) {if (k 0 || head nullptr || head->next nullptr) {return head;}int n 1;ListNode* iter head;while (iter->next ! nullptr) {iter iter->next;n…

CTFHub-Web-SQL注入

CTFHub-SQL注入-WP 1.整数型注入 1.题目说输入1,先将1输入查看结果 2.接着输入4-1,发现输出的结果为4-1,判定存在整数型注入 3.查询字段数,出现了回显,判断这里的字段数为2 1 order by 24.判断注入点在2的位置&…

imx6ull启动方式和镜像文件烧写

文章目录 前言一、BOOT启动方式1.串行下载2.内部BOOT模式 二、内部BOOT模式详细流程1.启动设备的选择2.镜像烧写 总结 前言 💦 I.MX6Ull 支持多种启动方式以及启动设备,比如可以从 SD/EMMC、NAND Flash、QSPI Flash等启动。用户可以根据实际情况&#x…

【docker】Docker开启远程访问

将构建的镜像自动上传到服务器。 需要开放 Docker 的端口,让我们在本地能连接上服务器的 Docker,这样,才能上传构建的镜像给 Docker。 开启远程访问 首先在服务器打开 Docker 的服务文件 vim /usr/lib/systemd/system/docker.service修改…

刷题《面试经典150题》(第九天)

加油! 学习目标:学习内容:学习时间:知识点学习内容:跳跃游戏 II - 力扣(LeetCode)H 指数 - 力扣(LeetCode)盛最多水的容器 - 力扣(LeetCode)矩阵置…

OpenHarmony 实战开发——智能指针管理动态分配内存对象

概述 智能指针是行为类似指针的类,在模拟指针功能的同时提供增强特性,如针对具有动态分配内存对象的自动内存管理等。 自动内存管理主要是指对超出生命周期的对象正确并自动地释放其内存空间,以避免出现内存泄漏等相关内存问题。智能指针对…

docker学习笔记4:CentOS7安装docker

文章目录 一、安装docker二、配置阿里云加速三、测试镜像安装本篇博客介绍如何在centos7里安装docker,关于CentOS7的安装可以查看本专栏的这篇博客: VmWare CentOS7安装与静态ip配置 centos7里安装docker步骤如下: 一、安装docker 先在终端输入su进入root用户,输入如下命…

linux 服务器利用阿里网盘API实现文件的上传和下载

文章目录 背景脚本初始化 阿里云盘API工具 aligo安装aligoaligo教程实战parse.py 演示上传文件上传文件夹下载文件下载文件夹 背景 最近在用ubuntu系统做实验,而ubuntu 系统的文件上传和下载操作很麻烦; 于是便打算使用阿里网盘的API 进行文件下载与上传…

ChatGPT 网络安全秘籍(四)

原文:zh.annas-archive.org/md5/6b2705e0d6d24d8c113752f67b42d7d8 译者:飞龙 协议:CC BY-NC-SA 4.0 第八章:事故响应 事故响应是任何网络安全策略的关键组成部分,涉及确定、分析和缓解安全漏洞或攻击。 及时和有效地…

推荐一个wordpress免费模板下载

首页大背景图,首屏2张轮播图,轮换展示,效果非常的炫酷,非常的哇噻,使用这个主题搭建的wordpress网站,超过了200个,虽然是一个老主题了,不过是经得起时间考验的,现在用起来…

IDEA 中 git fetch 验证报错 The provided password or token is incorrect

参考链接: 【GitLab】-HTTP Basic: Access denied.remote:You must use a personal access token_http basic: access denied. the provided password o-CSDN博客 idea使用gitLab报错:remote: HTTP Basic: Access denied_idea remote: http basic: acc…

C++编译器的程序转化

编译器在某些情况下会对程序进行转化,有些是编译器需要的,有些是出于性能考虑的,转化可能会产生出乎意料的结果 文章目录 明确的初始化操作参数的初始化返回值的初始化在使用者层面做优化在编译器层面做优化NRV 优化NRV优化的弊端 明确的初始…

在AndroidStudio创建Flutter项目并运行到模拟器

1.Flutter简介 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。Flutter 开源、免费,拥有宽松的开源协议,适合商…

基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真。基于模糊PI控制算法的龙格-库塔(Runge-Kutta, RK)连续搅拌釜反应器(Co…

C语言.自定义类型:结构体

自定义类型:结构体 1.结构体类型的声明1.1结构体回顾1.1.1结构体的声明1.1.2结构体变量的创建和初始化 1.2结构体的特殊声明1.3结构体的自引用 2.结构体内存对齐2.1对齐规则2.2为什么存在内存对齐2.3修改默认对齐数 3.结构体传参4.结构体实现位段4.1什么是位段4.2位…
最新文章