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

文章目录

    • Windows安装git
    • 下载 Stable Diffusion web UI GitHub 源码
    • stable-diffusion模型下载
    • 生成错误排查处理
    • 推荐阅读

使用的开源库为 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

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

在这里插入图片描述

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 参数:

@echo off

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

call webui.bat

在这里插入图片描述
重新执行bat文件:

C:\Users\86186\stable-diffusion-webui>webui-user.bat

在这里插入图片描述

再重新打开模型:http://127.0.0.1:7860/,输入提示词,简单输了一个古风,侠客。发现已经开始有进图条了,看起来终于调好了。
在这里插入图片描述
在这里插入图片描述
经过耐心的等待,可以正常的文字生图了,不过,跟提示词粘了古风的边,侠客估计还在睡觉没起来。
在这里插入图片描述

重新来一次,这次的提示词是古风长发美女,执行过程顺便看了一下GPU,显存100%。
在这里插入图片描述
再次等待后,这次正常了,来了一位古装翩翩美少女。
在这里插入图片描述
以上就是运用开源库Stable Diffusion web UI搭建AI生图工具的过程,耗了一些时间,不过最终有成功完成。结果还是不错的。

推荐阅读

  • 程序猿无烦恼:让养生专家来写代码!!!
  • 如何使用 Google 的 Gemini
  • Python包管理器PIP用法大全
  • 【网络安全】Suspicious DNS Query(可疑的DNS查询)
  • 【Linux】Linux MTR(My TraceRoute)command
  • 【Linux】在Windows WSL (Linux的Windows子系统)上运行的Ubuntu如何更改主机名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/255148.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

epub怎么打开?一文为你说清楚

遇到epub文件打不开的问题,您可以按照以下方法进行操作: 方法一:使用epub电子书阅读器软件 ①在您的设备上下载并安装一个电子书阅读器应用程序,例如NeatReader就是一个很好用的epub阅读器。下载前往https://www.neat-reader.cn …

程序人生,由“小作文”事件想到的

时势造英雄。自媒体时代,火出圈是靠大众的审美和爱好,自己能做的关键,其实是做好自己,选择向上生长,持续不断的读书、学习。同时保持一份好奇心,培养一个兴趣爱好并自得其乐。 展示自我 回想起我小时候&am…

Android 一分钟使用RecyclerView完美实现瀑布

【免费】安卓RecyclerView瀑布流效果实现资源-CSDN文库 1.WaterfallFlowActivity 主函数代码: package com.example.mytestapplication;import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.widget.Toast;im…

头部游戏厂商鸿蒙合作,开发岗又‘缺人‘

12月18日,米哈游宣布将基于HarmonyOS NEXT启动鸿蒙原生应用开发,成为又一家启动鸿蒙原生应用开发的头部游戏厂商。 作为一家创立于2011年的科技型文创企业,上海米哈游网络科技股份有限公司推出了众多高品质人气产品,其中包括《崩坏…

[GXYCTF2019]Ping Ping Ping (文件执行漏洞)

本题考点: 1、命令联合执行 2、命令绕过空格方法 3、变量拼接 1、命令联合执行 ; 前面的执行完执行后面的| 管道符,上一条命令的输出,作为下一条命令的参数(显示后面的执行结果)|| 当前面的执行出错时(为…

波奇学Linux:进程等待

僵尸进程(Z状态)无法被kill指令杀死,通过进程等待杀掉它,解决内存泄漏问题(进程处于僵尸态,仍然维护pcb结构体来解决问题) 通过进程等待,获得进程退出情况 wait回收僵尸态进程 我们可以看到进程由五秒后子…

工业应用新典范,飞凌嵌入式FET-D9360-C核心板发布!

来源:飞凌嵌入式官网 当前新一轮科技革命和产业变革突飞猛进,工业领域对高性能、高可靠性、高稳定性的计算需求也在日益增长。为了更好地满足这一需求,飞凌嵌入式与芯驰科技(SemiDrive)强强联合,基于芯驰D9…

机器视觉【1】相机的成像(畸变)模型

零、前言 很久没写文章,简单唠一唠。 不知道巧合还是蜀道同归,部门领导设定了些研究课题,用于公司部门员工的超前发展,该课题是“2D to 3D的三维重建”,这一块刚好是我个人看中的一个大方向,所以就有了这…

【03】GeoScene创建海图或者电子航道图数据

1 配置Nautical属性 1.1 管理长名称 长名称(LNAM)是一个必要的对象标识符,是生产机构(AGEN)、要素识别号码(FIDN)和要素识别子项(FIDS)组件的串联。这三个子组件用于数…

linux性能优化-cpu使用率

文章目录 1.CPU使用率2.节拍率的概念2.1.查看系统节拍率2.2.用户节拍率2.3.CPU使用率公式 3.怎么查看CPU使用率3.1.top显示系统总体CPU使用情况3.2.pidstat分析每个进程CPU使用情况 4.CPU使用率过高怎么办4.1.perf命令详解 1.CPU使用率 用什么指标来描述系统的CPU性能呢?不是…

深度学习——AlexNet

论文信息 论文名称:ImageNet Classification with Deep Convolutional Neural Networks 论文别名:AlexNet 发表期刊:NIPS 论文地址: https://www.cin.ufpe.br/~rmd2/ImageNet%20classification%20wth%20deep%20convolutional%20neural%20net…

蚂蚁SEO强引蜘蛛是什么

强引蜘蛛在网页中是指一些特殊类型的网页,这些网页具有极高的吸引力和价值,能够吸引搜索引擎蜘蛛(Spider)的强烈关注和抓取。强引蜘蛛的网页通常具有以下特点: 如何联系蚂蚁seo? baidu搜索:如…

Python开发GUI常用库PyQt6和PySide6介绍之一:概述

Python开发GUI常用库PyQt6和PySide6介绍之一:概述 Python开发GUI有许多选择,下面是常见的选择: Tkinter:Tkinter是Python标准库中的一个GUI工具包,易于学习和使用。它提供了丰富的组件和布局选项,适用于简…

后端相关随机题目记录(1)

目录 后端相关随机题目记录(1) 后端相关随机题目记录(1)Bean的类型以及作用域Bean的生命周期Mysql的底层数据结构RedisHttp和Https区别AOP在项目的应用 自定义注解?请求在spring中的一个流程Nacos与zk的区别SpringMV…

那些年项目中踩的那些坑(二)

目录 一、硬件资源与软件需求不匹配1.1 背景1.2教训 一、硬件资源与软件需求不匹配 1.1 背景 在项目中期需要添加XCP到TDA4的main域中,但是发现所有的八路can中已经有七路can被占用,剩下一路因为没有TJA1045驱动无法使用。 1.2教训 1.软件架构缺失&am…

FPGA时序分析与时序约束(二)——时钟约束

目录 一、时序约束的步骤 二、时序网表和路径 2.1 时序网表 2.2 时序路径 三、时序约束的方式 三、时钟约束 3.1 主时钟约束 3.2 虚拟时钟约束 3.3 衍生时钟约束 3.4 时钟组约束 3.5 时钟特性约束 3.6 时钟延时约束 一、时序约束的步骤 上一章了解了时序分析和约束…

高级桌面编程(一)

前言 学习心得:C# 入门经典第8版书中的第15章《高级桌面编程》 创建控件并设置样式 1 样式 Style WPF 当中我们可以对每一个控件进行完全的自定义。我们可以随意更改控件外观和功能。提供我们能完成这样的效果与控件的样式(Style)有着不可分…

如何实现TensorFlow自定义算子?

在上一篇文章中 Embedding压缩之基于二进制码的Hash Embedding,提供了二进制码的tensorflow算子源码,那就顺便来讲下tensorflow自定义算子的完整实现过程。 前言 制作过程基于tensorflow官方的custom-op仓库以及官网教程,并且在Ubuntu和Mac…

第8次实验:UDP

目的: 来看一下UDP(用户数据报协议)的细节。UDP是整个互联网上使用的一种传输协议。在不需要可靠性的情况下,作为TCP的替代品在互联网上使用。它在你的课文的第6.4节中有所涉及。在做这个实验之前,先复习一下这一部分 …

【精选】计算机网络教程(第7章网络安全)

目录 前言 第7章网络安全 1、公钥 2、私钥 3、数字签名 前言 总结计算机网络教程课程期末必记知识点。 第7章网络安全 1、公私密钥和对称密钥 公私密钥(或非对称密钥)和对称密钥是在密码学中用于加密和解密数据的两种不同的密钥类型。 公私密钥…