【计算机视觉】手把手教你配置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

相关文章
|
3月前
|
人工智能 测试技术 API
AI计算机视觉笔记二十 九:yolov10竹签模型,自动数竹签
本文介绍了如何在AutoDL平台上搭建YOLOv10环境并进行竹签检测与计数。首先从官网下载YOLOv10源码并创建虚拟环境,安装依赖库。接着通过官方模型测试环境是否正常工作。然后下载自定义数据集并配置`mycoco128.yaml`文件,使用`yolo detect train`命令或Python代码进行训练。最后,通过命令行或API调用测试训练结果,并展示竹签计数功能。如需转载,请注明原文出处。
|
1月前
|
人工智能 弹性计算 Serverless
触手可及,函数计算玩转 AI 大模型 | 简单几步,轻松实现AI绘图
本文介绍了零售业中“人—货—场”三要素的变化,指出传统营销方式已难以吸引消费者。现代消费者更注重个性化体验,因此需要提供超出预期的内容。文章还介绍了阿里云基于函数计算的AI大模型,特别是Stable Diffusion WebUI,帮助非专业人士轻松制作高质量的促销海报。通过详细的部署步骤和实践经验,展示了该方案在实际生产环境中的应用价值。
83 6
触手可及,函数计算玩转 AI 大模型 | 简单几步,轻松实现AI绘图
|
24天前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
45 6
|
2月前
|
自然语言处理 IDE 测试技术
通义灵码史上最全使用教程:秀一秀AI编程新肌肉
通义灵码是阿里云推出的一款智能编码辅助工具,基于通义大模型,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答、异常报错排查等功能。它支持 Visual Studio Code 和 JetBrains IDEs,适配多 IDE 原生设计,帮助开发者高效、流畅地编码。官方提供了详细的下载和安装指南,以及丰富的功能介绍和使用指南。
420 3
|
2月前
|
人工智能 自然语言处理 数据挖掘
利用小蜜蜂AI智能问答ChatGPT+AI高清绘图生成图文故事案例
利用小蜜蜂AI智能问答ChatGPT+AI高清绘图生成图文故事案例
60 1
|
3月前
|
机器学习/深度学习 人工智能 PyTorch
AI计算机视觉笔记三十二:LPRNet车牌识别
LPRNet是一种基于Pytorch的高性能、轻量级车牌识别框架,适用于中国及其他国家的车牌识别。该网络无需对字符进行预分割,采用端到端的轻量化设计,结合了squeezenet和inception的思想。其创新点在于去除了RNN,仅使用CNN与CTC Loss,并通过特定的卷积模块提取上下文信息。环境配置包括使用CPU开发板和Autodl训练环境。训练和测试过程需搭建虚拟环境并安装相关依赖,执行训练和测试脚本时可能遇到若干错误,需相应调整代码以确保正确运行。使用官方模型可获得较高的识别准确率,自行训练时建议增加训练轮数以提升效果。
|
3月前
|
人工智能 开发工具 计算机视觉
AI计算机视觉笔记三十:yolov8_obb旋转框训练
本文介绍了如何使用AUTODL环境搭建YOLOv8-obb的训练流程。首先创建虚拟环境并激活,然后通过指定清华源安装ultralytics库。接着下载YOLOv8源码,并使用指定命令开始训练,过程中可能会下载yolov8n.pt文件。训练完成后,可使用相应命令进行预测测试。
|
3月前
|
传感器 人工智能 算法
AI计算机视觉笔记二十七:YOLOV8实现目标追踪
本文介绍了使用YOLOv8实现人员检测与追踪的方法。通过为每个人员分配唯一ID,实现持续追踪,并可统计人数,适用于小区或办公楼出入管理。首先解释了目标检测与追踪的区别,接着详细描述了使用匈牙利算法和卡尔曼滤波实现目标关联的过程。文章提供了基于IOU实现追踪的具体步骤,包括环境搭建、模型加载及追踪逻辑实现。通过示例代码展示了如何使用YOLOv8进行实时视频处理,并实现人员追踪功能。测试结果显示,该方法在实际场景中具有较好的应用潜力。
|
3月前
|
人工智能 并行计算 测试技术
AI计算机视觉笔记三十一:基于UNetMultiLane的多车道线等识别
该项目基于开源数据集 VIL100 实现了 UNetMultiLane,用于多车道线及车道线类型的识别。数据集中标注了六个车道的车道线及其类型。项目详细记录了从环境搭建到模型训练与测试的全过程,并提供了在 CPU 上进行训练和 ONNX 转换的代码示例。训练过程约需 4 小时完成 50 个 epoch。此外,还实现了视频检测功能,可在视频中实时识别车道线及其类型。
|
3月前
|
人工智能 Linux iOS开发
AI超强语音转文本SenseVoice,本地化部署教程!
【9月更文挑战第7天】以下是AI超强语音转文本工具SenseVoice的本地化部署教程:首先确保服务器或计算机满足硬件和软件要求,包括处理器性能、内存及操作系统等。接着从官网下载适合的安装包,并按操作系统进行安装。配置音频输入设备和语言模型后,启动SenseVoice并测试其语音转文本功能。最后根据实际使用情况进行优化调整,并定期更新以获取最新功能。详细步骤需参照官方文档。
841 1