Python开源库Stable Diffusion web UI搭建AI生图工具

文章目录

使用的开源库为 Stable Diffusion web UI,它是基于 Gradio 库的 Stable Diffusion 浏览器界面。
运行 Stable Diffusion 需要硬件要求比较高,运行时会消耗较大的GPU资源,硬件环境最好是有独立显卡。所以我在家里的PC上进行部署环境,此前玩WOW,买了一张独立显卡GTX 1660 Ti,看看能不能运行起来。

Windows安装git

Git安装包下载地址:https://git-scm.com/download/win

git 安装过程就略掉了,国内网络下载确实很慢,相信大家都会有办法的。

下载 Stable Diffusion web UI GitHub 源码

从github下载Stable Diffusion web UI GitHub 源码,下载链接:https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

bash 复制代码
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
bash 复制代码
admin@DESKTOP-6EEG99D MINGW64 ~
$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Cloning into 'stable-diffusion-webui'...
remote: Enumerating objects: 28998, done.
remote: Counting objects: 100% (46/46), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 28998 (delta 26), reused 28 (delta 17), pack-reused 28952
Receiving objects: 100% (28998/28998), 32.90 MiB | 2.83 MiB/s, done.
Resolving deltas: 100% (20282/20282), done.

admin@DESKTOP-6EEG99D MINGW64 ~

git安装后,stable-diffusion-webui在路径:C:\Users\86186\stable-diffusion-webui

如果不想安装git,也可以下载zip格式到本地安装

stable-diffusion模型下载

模型下载地址:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

模型大小4GB,等待下载完成......

将模型复制到stable-diffusion-webui\models\Stable-diffusion目录:C:\Users\86186\stable-diffusion-webui\models\Stable-diffusion

同时在stable-diffusion-webui目录下找到webui-user.bat 双击并运行这个bat文件。

bat运行成功的话,会开始自动安装并启动。从运行提示来看,需要python至少是3.10.6版本。我们电脑上python的版本是3.11.5。

接着就耐心等待下载安装torch==2.0.1 等等python文件。



安装完成后,会自动打开本地的Web窗口:http://127.0.0.1:7860/ 基本上就算完成了。

安装完成后,我们需要增加模型。下载后的模型仍然放到stable-diffusion-webui\models\Stable-diffusion目录,并点击刷新按钮,就可以看到新的模型了。

在增加模型的过程,观察GPU和内存使用率都非常高,这点也对应了前面提到的硬体资源占用问题。

尝试进行文字生图时,产生图片失败,报错如下,按照提示和网上找了一些建议,一直没有解决。

NansException: A tensor with all NaNs was produced in Unet. This could be either because there's not enough precision to represent the picture, or because your video card does not support half type. Try setting the "Upcast cross attention layer to float32 " option in Settings > Stable Diffusion or using the --no-half commandline argument to fix this. Use --disable-nan-check commandline argument to disable this check.

生成错误排查处理

网络上也有一些解决这个问题的提问,大家也可以参考一下:
Stable Diffusion 生成出现错误
加载不了safetensor模型


第二天......


找到文件目录webui-user.bat文件,并增加--no-half 参数:

bash 复制代码
@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--no-half

call webui.bat

重新执行bat文件:

bash 复制代码
C:\Users\86186\stable-diffusion-webui>webui-user.bat

再重新打开模型:http://127.0.0.1:7860/,输入提示词,简单输了一个古风,侠客。发现已经开始有进图条了,看起来终于调好了。

经过耐心的等待,可以正常的文字生图了,不过,跟提示词粘了古风的边,侠客估计还在睡觉没起来。

重新来一次,这次的提示词是古风长发美女,执行过程顺便看了一下GPU,显存100%。

再次等待后,这次正常了,来了一位古装翩翩美少女。

以上就是运用开源库Stable Diffusion web UI搭建AI生图工具的过程,耗了一些时间,不过最终有成功完成。结果还是不错的。

推荐阅读

相关推荐
南山二毛18 小时前
机器人控制器开发(导航算法——导航栈关联坐标系)
人工智能·架构·机器人
大数据张老师19 小时前
【案例】AI语音识别系统的标注分区策略
人工智能·系统架构·语音识别·架构设计·后端架构
xz2024102****19 小时前
吴恩达机器学习合集
人工智能·机器学习
anneCoder19 小时前
AI大模型应用研发工程师面试知识准备目录
人工智能·深度学习·机器学习
骑驴看星星a19 小时前
没有深度学习
人工智能·深度学习
youcans_19 小时前
【医学影像 AI】YoloCurvSeg:仅需标注一个带噪骨架即可实现血管状曲线结构分割
人工智能·yolo·计算机视觉·分割·医学影像
空白到白19 小时前
机器学习-决策树
人工智能·决策树·机器学习
奇舞精选19 小时前
超越Siri的耳朵:ASR与Whisper零代码部署实战指南
前端·人工智能·aigc
说私域19 小时前
兴趣电商内容数据洞察未来市场走向研究——基于开源AI智能名片链动2+1模式S2B2C商城小程序的实践
人工智能·小程序
lvcoc19 小时前
unity 接入火山引擎API,包括即梦AI
windows·unity·ai·火山引擎