在本篇教程里,我会为你介绍 Stable Diffusion 的配置要求和安置方法。
上期回顾:
一、硬件配置要求
在上一篇中我们提到经过优化后 Stable Diffusion 模型可以在商业级的民用显卡上本地运转,但它对电脑硬件还是有一定要求的。
WebUI 目前仅支持在搭载了 NVIDIA 和 AMD 显卡的 Windows 10/11、搭载 Apple Silicon 芯片的 MacOS 以及 Linux 系统上运转。
其中优先推荐搭载了 N 卡的 Windows,MacOS 由于没有独立显卡加速,在默认配置下只能通过 CPU 来跑图,相较之下出图性能较差,并且支持的社区插件也比较少,后期想训练模型也比较困难,不过如果只是作为新手学习也足够利用了。
如果以上的硬件条件你都无法满足,还有一种云端部署的方法利用 Stable Diffusion,就是将 WebUI 搭载在平台的服务器进行利用,本文没有涉及云部署的相关内容,如果你有需要的话可以看这篇:
我知道很多小白朋友对电脑硬件了解的不多,为了方便对比,这里分别给大家提供最低和推荐的 2 套硬件清单作为参考。你可以通过鲁大师等软件查看自己的电脑硬件配置。
如果你的电脑连最低配置都无法满足,建议先升级自己的硬件设备或者采用云端部署的方法,否则会频繁出现报错、爆显存或出黑图等问题。
在以上所有配置要求中,影响最大的是一张性能足够强大的独立显卡。
对喜欢玩游戏和从事专业图形或 3D 建模设计的人来说,显卡非常重要,因为图象显示的运作过程中非常消耗电脑算力,如果只靠中央处理器 CPU 进行计算的话,电脑负载太大就很容易出现卡顿、黑屏、效率低下等问题,而这在我们利用 Stable Diffusion 进行 AI 画图时也会格外明显。
显卡就是为了解决显示运算的问题,它里面的图形处理器(GPU)可以独立承担图象显示的计算工作,缓解 CPU 的计算压力。也正因如此,当显卡的算力越强时,Stable Diffusion 在图象绘画方面的性能也就越强,画图效率也就越高,而如果算力跟不上,出图速度会特别慢。对于新上手的小白来说,将大量时间花费在漫长的等待中,并随时面临宕机的风险,会极快的消磨掉你的兴趣和热情。
关于显卡类型,目前市面上的主流显卡分为 N 卡和 A 卡,分别由 NVIDIA(英伟达)和 AMD(超威半导体)两大厂商制造。由于 N 卡利用的 CUDA 计算架构在深度学习方面比 A 卡强上许多,因此在算力相同或价格相同的情况下,N 卡的跑图表现和稳定性上会明显优于 A 卡,所以优先推荐利用 NVIDIA 显卡来跑图,市面上的社区资源大部分也是基于 N 卡来配置的。
我这边为大家找到了目前最新的显卡天梯图,方便你进行显卡性能对比,需要完整图片的可以在附件下载,还有最新的 CPU 性能对比天梯图哦~
除了基础算力,显卡还有另外一个重要指标:显存。显存决定了可以存储临时图形数据的最大容量,简单理解就是算力影响出图的速度,显存影响出图的尺寸。如果你的显存不够大,就只能绘制一些小尺寸的图片,这对人像等需要显示高清细节的图片来说体验会降低很多。此外,显存也会影响后期在训练模型时的训练规模。一般来说,电脑显存容量至少要在 8GB 以上才可以保证较好的出图体验。
最后除了显卡就是硬盘容量了,运转 Stable Diffusion 需要安置各种环境部署顺序和模型,如果硬盘容量太小是没办法满足跑图需求的,其中 C 盘预留 10G 以上空间用于安置前置环境、应用和过程中的缓存文件,其他盘预留 50~100G 空间,用于放置 WebUl 本体以及后续的各类模型文件。
还有一点,建议将 Stable Diffusion 都放置在固态硬盘的文件夹里,这样在读取速度上也会快上许多。
二、Win 安置过程
如果你已经满足了以上硬件要求,下边就到正式的安置环节了,先来看看 Win 系统的安置教程。
1. 关于秋叶调整包
得益于各路大佬开发的调整包,在 Win 系统上安置 WebUI 的过程要轻松很多。此前如果要安置 WebUI,必须自行在电脑上部署完整的运转环境,下边是从安置到启用 WebUI 正常需要经历的几个过程:
因为网络波动、前置应用未安置、电脑兼容性等问题,在安置过程中经常会出现各类报错,对于看不懂代码的小白用户来说是个很大的问题。
后来,人称赛博佛祖的 B 站 UP 主秋叶 aaaki 开发了一款将环境部署、WebUI 顺序、插件、模型等全部调整在内的启动工具,该调整包将 WebUI 的运转设置在虚拟环境下,所需的各类应用插件都已经配置在内,用户无需再自行安置前置应用,也很少会出现报错等问题。
秋叶调整包 B 站地点: https://www.bilibili.com/video/BV1iM4y1y7oA
为方便大家更好的设置和管理 WebUI,调整包内还提供了相应的启动器管理工具,每次启动时也会自动检测更新各类工具插件,可以说非常方便了。
秋叶的调整包是针对 Win 系统的 N 卡用户,更适合新手利用,功能齐备,支持一键启动,方便后期更新管理。而如果你是 A 卡用户,也可以尝试星空的调整包,它适合有一定基础的用户,不过我自己没有尝试过,如果有需要可以去 B 站了解详细的安置内容:
星空调整包 B 站地点: https://www.bilibili.com/video/BV1LX4y1y7Hg
2. 前置应用安置
前面提到秋叶调整包已经集成了 WebUI 所需的运转环境,不过建议大家还是提前安置好下边这几款主要的前置应用,能一定程度上减少报错的概率,而且比调整包更新下载的速度也更快。Win 系统需要安置的前置应用有 Python、Git 和 CUDA。
在整个安置过程中你会频繁利用到命令行,所以先和你介绍下 Win 系统里命令行的启动方法:命令行允许用户间接控制系统的内核,可以简单理解成用代码来控制电脑上的一切操作。
①安置 Python
相信很多人都听过 Python 的大名,它是一种高级编程语言,可以帮助顺序员为项目编写逻辑清晰的代码,是目前世界上最受欢迎的编程语言之一,被广泛用于 Web 开发、数据分析、人工智能、游戏开发等各个领域。Stable Diffusion WebUI 就是基于 Python 开发的,所以如果你的电脑上没有安置 Python,WebUI 是无法正常运转的。
安置 Python 很简单,我们直接搜索找到 Python 的下载官网,首页进来这里显示的是 python 的最新版本,但因为 WebUI 是基于较老的 3.10 版本开发的,所以保险起见我们还是下载官方推荐的 3.10.6 版本:首页往下滚动,可以找到 python 发布的历史版本,在其中找到 python 3.10.6 后点击下载。
官网地点: https://www.python.org/downloads/
跳转页面后滚动到最下方,找到你自己电脑对应的版本,正常大部分都是 Windows installer (64-bit),点击下载后解压,点击 install now 安置便可。
这里按照过程一步步往下操作便可,唯一需要注意的是记得勾选✅ add python to path,这样默认路径才能被写入系统,后续Stable Diffusion才能顺利调用python。
安置完成后,我们可以在命令行中输出 Python -V 来检验 Python 版本,确认是否安置成功。
②安置 Git
第二个软件是 Git,顺序员的同学们对它就非常熟悉了。由于开源顺序的研发代码更新会比较频繁,如果每次都要下载后在本地替换或者二次安置会特别麻烦。为此,国外将很多开源代码放置在像 GitHub、HuggingFace 等在线代码仓库上,而 Git 软件的作用就是将线上的代码直接同步到电脑本地。你可以简单将其理解为顺序的安置和更新器。
Git 的安置和 python 类似,同样是先搜索找到 Git 官网,然后按照过程选择对应系统下的安置包便可。
Git 官网地点: https://git-scm.com/
安置过程也很简单,依照安置包过程逐步往下便可。
同样,你可以在命令行输出 git –version 来检验 Git 的版本,确认已经安置成功。
③安置 CUDA
最后就是 CUDA,这是一个用于 NVIDIA 显卡运算的并行计算框架,它可以让显卡处理图象计算以外的任务,实际效果就是可以加速图象渲染并提升模型训练等计算效率。
在命令行中输出 nvidia-smi 打开显卡的管理界面,里面会标明设备支持的 CUDA 版本,然后在官网的 CUDA 工具包页面找到对应版本进行下载。
CUDA 文件包地点: https://developer.nvidia.com/cuda-toolkit-archive
官方提供了两种安置方式,建议选 local 安置包,安置的过程一路维持默认前进就好。
此外,我也建议将显卡驱动更新到最新版本。我们在官方下载英伟达驱动更新顺序 Geforce Experience,初次利用需要你注册登录一个账号。
英伟达驱动下载地点: https://www.nvidia.cn/geforce/geforce-experience/
安置完成后,点击右上角的检查更新,如果有待更新版本,这里会有 2 个按钮提示你快速更新,更新到最新版后则不会再出现选项。
3. 安置并利用秋叶调整包
安置完前置应用后,下边就是利用秋叶的调整包了。我们先下载调整包并解压到合适的文件夹中,调整包文件大小在 13G 左右,但后期我们还要安置各类模型和插件,所以对应盘要预留至少 100G 的硬盘空间。
在解压后的文件夹中先找到启动器运转依赖,点击进行安置,保证启动器顺序可以正常运转。接着找到 A 启动器.exe 文件打开。
在第一次打开时,启动器会自动更新必备的一些软件和插件,下载过程需要等待一会。启动成功后,会出现如下所示的绘世-启动器页面,点击下边的一键启动按钮。
会出现控制台运转窗口,等待命令行自动运转,结束后正常来说会直接在弹出浏览器的 WebUI 界面,如未自动打开,可以复制最后出现的 URL 地点到浏览器中打开。
默认的 URL 地点: http://127.0.0.1:7860
恭喜你,到这里在Windows系统上的SD WebUI就全部安置完成啦~
三、Mac 安置过程
下边再来看看 Mac,由于目前还没有针对 Mac 系统开发的调整包,因此运转环境等前置应用需要大家自行部署。不过不用担心,整个过程并不困难,跟着我下边的操作基本都能安置成功。
在整个安置过程中你会频繁利用到终端,所以先和你介绍下 Mac 上终端是如何启用的:终端的作用和 Win 的命令行相同,都是允许用户间接控制系统的内核,可以简单理解成用代码来控制电脑上的一切操作。
在 Mac 上的安置过主要分为 2 步,第一步是下载和安置 Homebrew,第二步是利用 Homebrew 安置其他应用顺序。
安置过程中可能需要同步下载国外软件,因此在记得保持网络畅通,并全程开启魔法工具。
1. 安置 Homebrew
Homebrew 是一款 MacOS 上的软件包管理器。它的作用和 Git 有点像,可以帮你快速安置软件所需的相关顺序,而且维护起来也很方便,有了它你就不用像 Win 系统一样挨个下载软件进行安置了。
Homebrew 的安置比平常软件更加简单,只需复制一段代码粘贴到终端中运转便可。在官网中有这样一段用于安置的代码,正常来说可以直接利用。但因为这里的文件包地点是在 Github 上,因为国外网络的缘故经常会出现无法下载或者下载速度非常慢的情况。
为此国内的开发大佬们搭建了一个仿 Github 的国内网站 Gitee,因为利用的是国内网络,所以很少会出现下载终端或崩溃的情况。
上面的 Brew 就有国内大佬提供了一个安置并配置 homebrew 的方案,可以链接到 Gitee 的下载地点。只要将他的这串代码复制到终端中回车,就会开启一个完全自动化的安置过程。
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh) "
运转后一开始会让你选择不同的下载源,这里下载后的内容都相同,只是下载速度不一样,建议选择第二个「清华大学下载源」。
如果你电脑之前有安置过 homebrew,这里会提示先卸载清除旧版,输出 y 回车便可。
接着在某些节点,终端会跳出输出密码的页面,这时候输出你的 Mac 开机密码。注意输出密码时光标并不会显示输出内容,这是正常现象,输出结束后回车便可。
后续会弹出一个提示安置 Git 的独立窗口,点击「安置」便可,中间同样需要输出 Mac 的开机密码
出现 brew 下载完成提示,直接回车
到这里其实 homebrew 已经安置完成,但作者还贴心的提供了一个后续安置的国内镜像源,还是输出序号 2 选择「清华大学下载源」
安置成功后,会有安置顺序运转完成的内容提醒。
2. 借助 Brew 安置其他工具
接着我们就要借助 homebrew 来安置其他必备软件,同样在终端里输出下边 brew 打头的这一串命令后回车便可。
brew install cmake protobuf rust [email protected] git wget
通过运转这段代码,brew 会自动帮我们下载并安置包括 Python、Git 在内的各种软件工具,因为下载进度会比较慢,所以需要等待较长的时间,下边罗列了这个过程中所安置的应用顺序和它们对应的功能。
等到安置完成后,你同样可以运转以下命令,终端将返回对应软件的版本号信息,由此检测对应的软件是否安置,这里就不一一演示了。
brew --version cmake --version protoc --version rustc --version python3 --version git --version wget --version
到这里 Mac 上的前置应用就安置完成啦,下一步就是正式安置 Stable Diffusion WebUI 的顺序本体~
3. 安置 WebUI 本体
安置 WebUI 顺序本体同样会经历 2 个过程:
第一步:将 WebUI 顺序包下载并解压到本地。
第二步:启动 WebUI 顺序,它会自主检测运转环境,下载并安置好运转的其他必要顺序。
①下载 WebUI 顺序包
WebUI 的顺序包文件是挂载在 GitHub 上 A41 大佬的代码库中,我们需要从网页上将其复制到电脑本地的文件夹中。下边给大家介绍下获取 Github 文件的方法,以后遇到 Github、Huggingface 等类似代码库都可以利用同样的方法下载:
方法一是利用 Git 软件的 git clone 指令将代码下载到我们本地的文件夹,只需打开终端粘贴下边的这行代码后回车,便可自动运转下载顺序。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
再教大家 2 个在下载时提前设定好目标文件夹的小技巧,你可以直接在代码结尾加上”本地指定目录”
也可以在对应文件夹里打开终端,光标前会自动加入该文件夹的地点,跟着后面输出克隆的代码便可
此外,还可以和我们平时下载 App 安置包一样,在网页上直接点击下载,将顺序包下载并解压到本地合适的文件夹中。
整个过程需要注意以下几点:
安置的路径不要有中文且减少输出空格:因为整个代码运转都是利用的英文字符,文件夹中文名会导致在检索过程中出现无法识别等报错问题,所以记得将文件夹替换成拼音或者英文。
放置 WebUI 顺序的文件夹预留 100G 以上空间且不要放 C 盘:在后续利用 AI 绘画过程中会下载大量模型,要提取预留出磁盘空间,不过文件夹后续也可以迁移到其他盘里。
尽量放置在固态硬盘中,可以一定程度上提升模型加载速度。
②运转 Stable DiffusionWebUI 顺序
下载后的 WebUI 顺序包只有几十 M 大小,这里等于只是运转 Stable Diffusion 算法模型的框架,还需要安置像 xformers、torch 等其他依赖顺序,不过这些顺序作者已经都集成在 WebUI 中了,只要启动 WebUI,就会自动检测所需要补充的顺序补丁并进行下载和更新。
运转 WebUI 顺序的方法如下,在根目录里打开终端,输出命令./webui.sh,日后我们每次利用 WebUI 时都是用这个方法来打开。
注意:这一步是整个安置过程中最容易出现问题的地方,经常会卡在某一步动不了或者出现看不懂的顺序报错。不过好在整个安置过程是分布进行的,每次遇到问题时你可以退出顺序寻找解决方法,下次再运转时系统会接着之前的安置进度继续运转。
这里要安置的依赖顺序包括但不限于:gfpgan、open _clip、clip、Taming Transformers、requirements for Web UI、torch 等,具体的顺序功能我就不一一介绍了,因为大部分我也看不懂…
由于这里面的文件大小很多都是 GB 量级的,而且安置过程并不会具体显示进度,所以如果中间出现卡在某一步的时候,大家先不要着急,耐心等待它们自动运转一段时间,如果卡在某一步环节半小时以上都没有反应,可以重启顺序先再试几次。
在整个顺序所有依赖都安置并加载完成后,会出现下边的内容。
将 Local URL 后面的地点复制到浏览器里打开,正常默认地点是: http://127.0.0.1:7860/ ,就能看到 WebUI 的页面啦~
更详细的安置方法:
④Mac 基于 Stable Diffusion 开发的应用顺序
以上是安置 Stable Diffusion WebUI 的完整方法,考虑到有部分朋友只想初作尝试,轻度了解和体验 Stable Diffusion 模型的画图效果,因此下边我也给大家提供几款更加轻量的 App 应用顺序,虽然功能不如 WebUI 全面,且定制化程度和可用模型也比较受限,但也能实现 Stable Diffusion 模型画图。
DrawThings
Draw Things 是 AI 绘画图象软件,支持安置在 iPhone、iPad 和 Mac 上。
下载地点: https://apps.apple.com/us/app/draw-things-ai-generation/id6444050820
其中还可以控制画图模型、图象尺寸、迭代步数等参数,相比 WebUI 会更易上手,很适合新手学习 Stable Diffusion 模型。
Diffusers
Diffusers 是由 Hugging Face 制作的苹果 App,许多 Stable Diffusion 模型都托管在这里,可以利用下边的链接安置该应用顺序。
下载地点: https://apps.apple.com/app/diffusers/id1666309574
Diffusers 可调节的参数更少,适合用来测试模型的出图效果。
DiffusionBee
DiffusionBee 是通过 Stable Diffusion 模型进行 AI 绘画最简单的工具,不仅完全免费还支持在本地离线运转,十分推荐
官网地点: https://diffusionbee.com/
它包含文生图、图生图、图象涂改、图象扩展、图象精修等各类功能,是目前在 Mac 上最出名的 SD 绘画应用之一。
五、模型下载及初步画图
在 WebUI 中给大家预设了几款 Stable Diffusion 官方的基础模型,但平时利用时我们还需要其他不同风格的画图模型。下边给大家推荐几个常用的模型下载网站,关于更多操作技巧和模型知识我会在之后的教程里详细介绍。
1. 常用模型下载网站
Hugging Face(抱脸网):专注于构建、训练和部署先进开源机器学习模型的网站,包含的内容非常广泛,不仅仅包括 AI 绘画,还包括很多其他 AI 领域的东西。
网站地点: https://huggingface.co/models
Civitai(C 站):专业的 AI 绘画模型分享平台,无需注册便可访问和下载模型,包含模型的详细介绍、利用教程、参考图等丰富内容
网站地点: https://civitai.com/
哩布哩布 AI:国内的 AI 绘画原创模型网站,包含大量模型和画图作品,还支持在线 Stable Diffusion 画图。
网站地点: https://www.liblibai.com/
如果你利用的是秋叶调整包,那在启动器的插件管理页里也可以直接搜索和下载对应模型,优点是方便快捷且无需科学上网便可下载,缺点是模型下载较慢且无法直接预览。
下载后的模型,放入 stable-diffusion-webui 主顺序目录下的 models/Stable-diffusion 文件夹,放入后无需重启 WebUI,点击左上角的刷新按钮,更换对应模型便可。
此处的模型特指.ckpt 或.safetensors 结尾的 Dreambooth 大模型,关于 Embeddings、LoRA 等其他模型,以及模型间的差异我会在之后的模型篇展开讲解。
2. 文生图基本过程
利用 WebUI 画图的基本过程:选择模型—填写提示词—设置参数—点击生成
关于参数最后简单介绍几个基本设置项的含义:
采样迭代步数:控制图象生成的迭代次数,数值越高则图象精细度越高,建议在 20~30 之间。
采样方法:选择生成图象的采样算法,通常根据模型作者推荐的方式选择便可。
宽度和高度:控制图象尺寸,图象过小则内容不够清晰,过大会占用更多显卡资源,且绘制图象可能出错,建议控制在 512~1024 之间。
提示词相关性 CFG:控制图象和提示词描述的相关程度,建议控制在 7~12 之间,数值太高容易变形