搭建和配置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.mzph.cn/pingmian/5279.shtml

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

相关文章

每日OJ题_DFS爆搜深搜回溯剪枝②_力扣526. 优美的排列

目录 力扣526. 优美的排列 解析代码 力扣526. 优美的排列 526. 优美的排列 难度 中等 假设有从 1 到 n 的 n 个整数。用这些整数构造一个数组 perm(下标从 1 开始),只要满足下述条件 之一 ,该数组就是一个 优美的排列 &#…

个人如何首次申请专利(详细教程)

环境: win10 专业版 问题描述: 自然人如何首次申请专利(详细教程) 解决方案: 先提前在国家知识产权局检索查询一下,有没和你要申请专利相关的已经公布的专利,有的话就申请成功机会就比较小 …

电脑使用笔记

1.电脑亮度调节 亮度:50 对比度:45 暗部平衡:40

mysql分组排序

具体需求为:mysql有一个表model_cluster_info, 字段包括id, city_code, household等,现要求按city_code分组并排序,返回在相同city_code下households特定排名的记录(如60%) mysql5.7,我用用户自定义变量实…

tomcat部署

1.客户端和服务器端的交互过程 客户端发送请求给服务器 由服务器中的服务器软件拦截请求 根据请求调动相应的Java业务逻辑执行相关的处理 我们前面知道Java代码的运行势必提前将其装载在JVM上 而服务器软件一般都是由Java代码编写 所以两者都要装载在JVM上 而Java业务逻辑装载…

OpenVoice——强大的语音克隆与生成技术

OpenVoice 是一款由 MyShell TTS 开发的令人惊叹的技术。它只需一小段参考发言者的音频片段,就能精确复制其声音,并能够生成多种语言的语音。 其主要功能包括准确的音色克隆,能够精确地克隆参考音色,并在多种语言和口音中生成语音…

OMG 一个方法的调用改动居然优化了一倍性能!!! ConcurrentHashMap.computeIfAbsent 学习

背景 前提:抖音小程序有qps的监控,如果说qps过低就会导致小程序被下架掉。 业务代码非常的简单 一个easy的查询 但是当并非达到 20就 会发现qps降低了10倍 业务需求实现大概这么一个链路 ok 那么此前我们在认识一下 computeIfAbsent 方法(大…

38 线程互斥

目录 1.问题 2.互斥相关概念 3.互斥量 4.互斥量接口 5.修改买票代码 6.互斥量原理 7.锁的封装 8.可重入和线程安全 1. 问题 用一个模拟抢票过程的程序引出本节话题,如果有1000张票,设为全局变量,生成3个线程每隔一秒抢一张票,如…

快速搭建 Web自动化测试框架

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 在程序员的世界中,一切重复性的工作,都应该通过程序自动执行。「自动化测…

美国站群服务器常见的操作系统选项

美国站群服务器常见的操作系统选项 美国站群服务器是一种灵活且可扩展的服务器解决方案,可以用于托管和管理多个网站和应用程序。在选择合适的美国站群服务器时,一个重要的考虑因素是其支持的操作系统。本文将介绍美国站群服务器常见的操作系统选项&…

第十五届蓝桥杯省赛第二场C/C++B组H题【质数变革】题解

解题思路 首先,我们考虑一下整个数组都是由质数构成的情况。 当我们要将质数 x x x 向后移 k k k 个时,如果我们可以知道质数 x x x 在质数数组的下标 j j j,那么就可以通过 p r i m e s [ j k ] primes[j k] primes[jk] 来获取向后…

C语言实验-函数与模块化程序设计

一: 编写函数fun,其功能是:输入一个正整数,将其每一位上为偶数的数取出重新构成一个新数并输出。主函数负责输入输出,如输入87653142,则输出8642。(main函数->fun函数) #define _…

.NET 解决Linux下Couldn‘t find a valid ICU package installed on the system异常的问题

最近使用.NET发布独立的Linux x64程序,在CentOS7.9的最小化安装系统上运行,结果运行不了,启动就报异常“Process terminated. Couldnt find a valid ICU package installed on the system. Please install libicu (or icu-libs) using your p…

周三多《管理学原理》第3版/考研真题/章节练习题

普通高等教育“十一五”国家级规划教材《管理学原理》(第3版,周三多、陈传明、龙静编著,南京大学出版社)是我国高校广泛采用的管理学权威教材之一,也被众多高校(包括科研机构)指定为考研考博专业…

深度解析 Spring 源码:从BeanDefinition源码探索Bean的本质

文章目录 一、BeanDefinition 的概述1.1 BeanDefinition 的定位1.2 BeanDefition 的作用 二、BeanDefinition 源码解读2.1 BeanDefinition 接口的主要方法2.2 BeanDefinition 的实现类2.2.1 实现类的区别2.2.2 setBeanClassName()2.2.3 getDependsOn()2.2.4 setScope() 2.3 Bea…

关于修改hosts,浏览器并没有刷新生效的问题.

1.windows系统用cmd命令: ipconfig /flushdns 进行刷新.并查看本地解析是否已经刷新. 2.检查是否开了,代理,代理还是有影响的,关闭,不然不会生效 3.针对谷歌浏览器解决方案: 访问: chrome://net-internals/?#sockets 点击close idle sockets和flush socket pools,,,清…

2024年申请海外访问学者,需要注意些什么呢?

越来越多的国内医院对于医生职称晋升有海外经历要求,医生出于临床技能提高和科研思维拓展,自己也有海外进修的需求,并且可以了解世界先进医疗理念及科研进展,何乐而不为? 其实,很多医生已经赶上早班车,通…

AI大模型探索之路-实战篇2:基于CVP架构-企业级知识库实战落地

目录 前言 一、概述 二、本地知识库需求分析 1. 知识库场景分析 2. 知识库应用特点 3. 知识库核心功能 三、本地知识库架构设计 1. RAG架构分析 2. 大模型方案选型 3. 应用技术架构选型 4. 向量数据库选型 5. 模型选型 三、本地知识库RAG评估 四、本地知识库代码落地 1. 文件…

【QGIS如何进行WKT可视化】

点击插件——python控制台 渲染线图层wkt = LINESTRINGZ (405223.79236294992733746767 3294798.52338150842115283012 0, 405250.43677213048795238137 3294767.52838639216497540474 0, 405272.27118375105783343315 3294735.17657975200563669205 0, 405363.435978673573117…

局域网屏幕桌面监控哪个软件比较好?哪款好用?

在企业、教育机构或其他组织中,出于提高工作效率、保障数据安全、规范员工行为等目的,对局域网内电脑屏幕进行实时监控的需求日益凸显。 面对市场上众多屏幕监控软件,选择一款功能全面、稳定可靠且符合法规要求的产品至关重要。 在局域网屏幕…