【计算机视觉】手把手教你配置stable-diffusion-webui进行AI绘图(保姆级教程)

简介: 如果说,会用各大在线的AI绘图平台来生成图像的话,算是AI绘画的小学生级别。那么,如果会使用本地化部署来运行AI绘画的话,那就已经算得上是高中毕业,进入成年啦。等你能够使用AI绘图指哪打哪,想怎么画怎么画,那就已经是大学毕业,学成归来的牛逼人物啦。

一、前言

本地部署指的是将软件应用程序或服务部署在本地计算机或本地服务器上,而不是使用云服务或远程服务器。以下是一些常见的原因,解释为什么选择本地部署:

数据隐私和安全性:对于某些敏感数据或关键业务功能,保持数据在本地环境中更有保障。本地部署可以提供更高的控制权和数据安全性,以满足合规性要求。

高速和低延迟:对于需要快速响应和低延迟的应用程序,本地部署通常可以提供更快的性能。由于数据和计算资源都位于本地,可以减少与远程服务器之间的网络延迟。

网络限制和可靠性:某些地区或组织可能面临网络限制或不稳定的互联网连接。在这种情况下,本地部署可以提供更可靠的解决方案,确保应用程序的可用性和连续性。

自定义需求:本地部署可以更容易地满足特定的定制需求。根据组织的具体要求,可以灵活地配置和定制本地部署的应用程序,以适应特定的业务流程和工作流程。

成本控制:虽然云服务提供了灵活的计算资源和付费模型,但对于长期运行的应用程序,本地部署可能具有更可控的成本。一次性购买和配置本地服务器可能更经济实惠,并且在长期使用中,可能比云服务更具成本效益。

因为没有生成数量的限制,不用花钱,不用被NSFW约束,生成时间快,不用排队,自由度高很多,可以调试和个性化的地方也更多。

NSFW是"Not Safe for Work"的缩写,意为“不适合工作环境”。它用于描述那些可能包含裸露、色情、暴力、血腥或其他令人不适的内容的图像、视频、文字或链接。NSFW约束通常用于在互联网上警告用户某个内容不适合在公共或工作场所打开,以避免触犯道德、引起不适或违反组织的政策。

NSFW约束的目的是提醒用户注意内容的性质,并使其可以自主选择是否查看或接触这些内容。这种约束常见于社交媒体、在线论坛、电子邮件或其他互联网平台上,以确保用户能够遵循适当的使用规范,并保持工作环境的适宜和友好。

需要注意的是,不同的组织或平台对于NSFW的定义和约束标准可能会有所不同。一些平台会使用过滤机制或标记机制来警示用户,而其他平台可能会完全禁止或限制NSFW内容的发布和传播。因此,在使用互联网时,用户应该遵守相应的使用规则和平台政策,并对自己的行为负责。

如果说,会用各大在线的AI绘图平台来生成图像的话,算是AI绘画的小学生级别。那么,如果会使用本地化部署来运行AI绘画的话,那就已经算得上是高中毕业,进入成年啦。等你能够使用AI绘图指哪打哪,想怎么画怎么画,那就已经是大学毕业,学成归来的牛逼人物啦。

二、本地化部署的要求

本地化部署运行虽然很好,但是也有一些基本要求:

  1. 需要拥有NVIDIA显卡,GT1060起,显存4G以上。(已经不需要3080起,亲民不少)

  2. 操作系统需要win10或者win11的系统。

  3. 电脑内存16G或者以上。

  4. 最好会魔法上网,否则网络波动,有些网页打不开,有时下载很慢。

我的电脑配置供大家参考,Win11,12代I7,NVIDIA RTX3060 6G,16G。生成一张20step的图大概10-20s(若使用更高性能的电脑,生成速度更快。)

三、使用的项目Stable diffusion WebUI项目

Stable diffusion大家都知道,是当前最多人使用且效果最好的开源AI绘图软件之一。

不过,Stable diffusion项目本地化的部署,是纯代码界面,使用起来对于非程序员没那么友好。

而Stable diffusion WebUI,是基于Stable diffusion 项目的可视化操作项目。

通过可视化的网页操作,更方便调试prompt,及各种参数。

同时也附加了很多功能,比如img2img功能,extra放大图片功能等等。

image.png

四、电脑环境配置

4.1 安装Anaconda

这个是用来管理Python版本的,他可以实现Python的多版本切换。安装时按默认的一路next就行。
这里就不再介绍了。

4.2 看版本

打开conda prompt,输入conda -V 弹出版本号即为正确安装:
image.png
显示conda版本,那就对了!

4.3 配置库包下载环境,加快网络速度

替换下载库包地址为国内的清华镜像站。

执行下面:

conda config --set show_channel_urls yes

生成.condarc 文件

在C:\Users\XiaoWang下用记事本打开并修改.condarc文件。

image.png

把下面的内容全部复制进去,全部覆盖原内容,ctrl+s保存,关闭文件:

channels:
 - defaults
show_channel_urls: true
default_channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
 -
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
 -
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 msys2:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 bioconda:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 menpo:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 pytorch:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 simpleitk:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

运行conda clean -i 清除索引缓存,以确保使用的是镜像站的地址。

image.png
切换成其他盘来创建Python环境:

如果继续操作,会把整个项目创建在C盘,而很多人C盘容量紧张,可以创建在其他盘,比如D盘。
输入D: 然后回车。

后来才发现这一步并不能把项目装在D盘,他仍然是在C盘,不过没关系,他很小,不会占用太多空间,那咱继续往下操作。

4.4 创建环境

创建Python 3.10.6版本的环境:

运行下面语句,创建环境。

conda create --name stable-diffusion-webui python=3.10.6

系统可能会提示y/n, 输入y,按回车即可。

image.png
显示done,那就完成了。已经创建了一个新的项目。

4.5 激活环境

输入conda activate stable-diffusion-webui 回车。

设置pip的默认库包下载地址为清华镜像。

每一行输入后回车,等执行完再输入下一行,再回车。

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

不报错就是完成了。

4.6 安装git

安装git,用来克隆下载github的项目,比如本作中的stable diffusion webui

前往git官网git-scm.com/download/win

下载好后,一路默认安装,next即可。开始菜单-输入“git”,找到git cmd。

打开并输入下面指令:

image.png

4.7 安装cuda

cuda是NVIDIA显卡用来跑算法的依赖程序,所以我们需要它。打开NVIDIA cuda官网,developer.nvidia.com/cuda-toolkit-archive

这里有人可能会打不开网页,如果打不开,请用魔法上网。

你会发现有很多版本,下载哪个版本呢?

回到一开始的conda的小窗,输入nvidia-smi,查看你的cuda版本

image.png

比如我的是11.7的版本,我就下载11.7.0的链接。

然后安装自己的系统选择win10或者11,exe local,download下载完后安装,这个软件2个G,可以安装在C盘以外的地方。比如D盘。好了,完成这步,电脑的基础环境设置终于完事了。

下面开始正式折腾Stable diffusion了。

五、Stable diffusion环境配置

5.1 下载Stable diffusion源码

确认你的conda黑色小窗显示的是:

(stable-diffusion-weibui)D:\>

如果不是,则输入D: 按回车。(当然你也可以放在其他你想放的盘的根目录里面。不建议放在C盘,因为这个项目里面有一些模型包,都是几个G几个G的,很容易你的C盘就满了,其他盘容量在10G以上的就都行。放其他盘,则输入比如E: F: G: 等,然后回车即可。)

再来克隆Stable diffusion webui项目(下面简称sd-webui)

接着执行:

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

直到显示done即可。

注意,现在克隆的本地地址,就是下面经常提到的“项目根目录”。比如,我的项目根目录是D:\CodeProject\stable-diffusion-weibui

5.2 下载Stable diffusion的训练模型

在huggingface.co/CompVis/stable-diffusion-v-1-4-original/tree/main

点击file and versions选项卡,下载sd-v1-4.ckpt训练模型。

image.png
(需要注册且同意协议,注册并同意协议之后即可下载)

注:这个模型是用于后续生成AI绘图的绘图元素基础模型库。

后面如果要用waifuai或者novelai,其实更换模型放进去sd-webui项目的模型文件夹即可。

我们现在先用stable diffusion 1.4的模型来继续往下走。

下载好之后,请把模型更名成model.ckpt,然后放置在sd-webui的models/stable-diffusion目录下。比如我的路径是D:\stable-diffusion-webui\models\Stable-diffusion

5.3 安装GFPGAN

这是腾讯旗下的一个开源项目,可以用于修复和绘制人脸,减少Stable diffusion人脸的绘制扭曲变形问题。

https://github.com/TencentARC/GFPGAN

image.png

把网页往下拉,拉到readme.md部分,找到V1.4 model,点击蓝色的1.4就可以下载。

image.png

下载好之后,放在sd-webui项目的根目录下面即可,比如我的根目录是D:\CodeProject\stable-diffusion-weibui

5.4 准备开启运行AI绘图程序sd-webui

输入:

cd stable-diffsion-webui

进入项目的根目录。如果你安装在其他地方,也是同理。

输入盘符名称加上冒号(如c: d: e:)即可进入磁盘根目录。

输入cd…即可退出至上一级目录,输入cd + abc即可进入abc文件夹。(如cd stable-diffusion-webui,前提是你有相应的文件夹,否则会报错)

总之,要进入sd-webui的项目根目录后,才能执行下面的指令,否则会报错。

webui-user.bat

然后回车,等待系统自动开始执行。

image.png
还是报错:

image.png

国内的镜像源还没有更新到 gradio==3.32,所以需要科学上网,手动去pypi官网下载whl,然后通过whl下载即可。

https://pypi.org/project/gradio/3.32.0/#files

image.png
将gradio-3.32.0-py3-none-any.whl复制到项目所在目录,输入如下安装指令:

pip --default-timeout=100 install gradio-3.32.0-py3-none-any.whl

image.png
安装成功!

但是我们运行的时候还是出错:

image.png
这个是镜像源的bug:是镜像源的bug,删除pip.ini 可以解决。

这个文件一般在C:\Users\xxx\AppData\Roaming\pip\pip.ini

再次运行:

image.png
开始顺利下载!

image.png
直到系统提示,running on local URL: http://127.0.0.1:7860

这就代表,你可以开始正式使用AI绘图了!

注意:

这一步可能经常各种报错,需要耐心和时间多次尝试。
不要关闭黑色小窗,哪怕它几分钟没有任何变化。
如果提示连接错误,可能需要开启或者关闭魔法上网,再重新执行webui-user.bat命令。

六、测试

image.png
我们简单demo一下:

image.png

我们换一下模型:

(8k, best quality, masterpiece:1.2), (realistic, photo-realistic:1.37), ultra-detailed, 1 girl,cute, solo,beautiful detailed sky,detailed cafe,night,sitting,dating,(nose blush), sitting before a table, table with afternoon tea, (smile:1.15),(closed mouth) medium breasts,beautiful detailed eyes,(collared shirt:1.1), daytime, sunshine,business attire, rain,white lace, (long hair:1.4),gold hair NovaFrogStyle, uniform, white skin,cinematic light,sunshine,street light, (av actress: 4), full body image,<lora:koreanDollLikeness_v15:0.33>, (tea table:1),(hand bag:1),<lora:japaneseDollLikeness_v10:0.33>
Negative prompt: paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, (outdoor:1.6), manboobs, backlight,(ugly:1.331), (duplicate:1.331), (morbid:1.21), (mutilated:1.21), (tranny:1.331), mutated hands, (poorly drawn hands:1.331), blurry, (bad anatomy:1.21), (bad proportions:1.331), extra limbs, (disfigured:1.331), (more than 2 nipples:1.331), (missing arms:1.331), (extra legs:1.331), (fused fingers:1.61051), (too many fingers:1.61051), (unclear eyes:1.331), bad hands, missing fingers, extra digit, (futa:1.1), bad body, NG_DeepNegative_V1_75T,pubic hair, glans
ENSD: 31337, Size: 512x768, Seed: 328582505, Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7, Clip skip: 2, Model hash: 3a17d0deff, AddNet Enabled: True, AddNet Model 1: nainai(3311b5bd9ff7), AddNet Module 1: LoRA, AddNet Weight A 1: 0.55, AddNet Weight B 1: 0.55

image.png

相关文章
|
30天前
|
人工智能 移动开发 JavaScript
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
142 18
|
17天前
|
人工智能 机器人 UED
不怕不会设计logo拉-本篇教你如何使用AI设计logo-如何快速用AI设计logo-附上AI绘图logo设计的咒语-优雅草央千澈-实战教程
不怕不会设计logo拉-本篇教你如何使用AI设计logo-如何快速用AI设计logo-附上AI绘图logo设计的咒语-优雅草央千澈-实战教程
131 85
不怕不会设计logo拉-本篇教你如何使用AI设计logo-如何快速用AI设计logo-附上AI绘图logo设计的咒语-优雅草央千澈-实战教程
|
18天前
|
人工智能 API UED
AI智能体再进化,工作流怎么玩?阿里云百炼上手教程
本次分享由讲师林粒粒呀介绍如何快速制作AI智能工具,特别是利用阿里云百炼平台创建工作流。通过简单的拖拽操作,小白用户也能轻松上手,实现从PPT主题到大纲的自动生成,并能一次性生成多个版本。借助API和Python脚本,还可以将Markdown格式的大纲转换为本地PPT文件。整个流程展示了AI智能体在实际应用中的高效性和实用性,帮助用户大幅提升工作效率。
110 31
|
28天前
|
人工智能 自然语言处理 开发工具
Languine:专为开发者设计的 AI 多语言翻译工具,快速生成100+种语言的准确翻译,简化应用程序的 i18n 国际化配置
Languine 是一款面向开发者的 AI 翻译工具,支持 100+ 种语言,自动化翻译流程,提升多语言应用开发效率。
75 15
Languine:专为开发者设计的 AI 多语言翻译工具,快速生成100+种语言的准确翻译,简化应用程序的 i18n 国际化配置
|
28天前
|
机器学习/深度学习 人工智能 iOS开发
MagicMirror:一键 AI 换脸、换发型和换穿搭,拖放照片就能实现换脸和形象变换,本地运行无需配置
MagicMirror 是一款开源的一键 AI 换脸、换发型和穿搭应用,支持离线处理,保护隐私,轻量级设计,适合个人娱乐和创意内容创作。
103 13
MagicMirror:一键 AI 换脸、换发型和换穿搭,拖放照片就能实现换脸和形象变换,本地运行无需配置
|
2月前
|
人工智能 Serverless API
《智能导购 AI 助手构建》解决方案评测:极具吸引力的产品,亟待完善的教程文档
《智能导购 AI 助手构建》解决方案评测:极具吸引力的产品,亟待完善的教程文档
122 8
《智能导购 AI 助手构建》解决方案评测:极具吸引力的产品,亟待完善的教程文档
|
16天前
|
人工智能 数据安全/隐私保护 图形学
关于AI绘画优雅草央千澈整理的一份咒语(与AI对话提示词-应用于AI绘图和AI生成视频)-本文长期更新-本次更新2025年1月15日更新-长期更新建议点赞收藏
关于AI绘画优雅草央千澈整理的一份咒语(与AI对话提示词-应用于AI绘图和AI生成视频)-本文长期更新-本次更新2025年1月15日更新-长期更新建议点赞收藏
|
3月前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
90 6
|
16天前
|
人工智能 运维 物联网
云大使 X 函数计算 FC 专属活动上线!享返佣,一键打造 AI 应用
如今,AI 技术已经成为推动业务创新和增长的重要力量。但对于许多企业和开发者来说,如何高效、便捷地部署和管理 AI 应用仍然是一个挑战。阿里云函数计算 FC 以其免运维的特点,大大降低了 AI 应用部署的复杂性。用户无需担心底层资源的管理和运维问题,可以专注于应用的创新和开发,并且用户可以通过一键部署功能,迅速将 AI 大模型部署到云端,实现快速上线和迭代。函数计算目前推出了多种规格的云资源优惠套餐,用户可以根据实际需求灵活选择。
|
13天前
|
人工智能 算法 前端开发
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
OmAgent 是 Om AI 与浙江大学联合开源的多模态语言代理框架,支持多设备连接、高效模型集成,助力开发者快速构建复杂的多模态代理应用。
148 72
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备