stable diffusion的从安装到使用

stable-diffusion,一个免费开源的文生图软件,文章主要讲怎么从源码开始安装,以及使用的方式

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

本人电脑环境win10,软件pycharm,需要提前安装好python环境,推荐使用Anaconda3。公共号发送 “ 软件安装包 ”可以获得相关文件下载

安装

可以直接去github上下载压缩包,或者使用pycharm直接打开,这里我用的是pycharm

在这里插入图片描述

进入后pycharm后会自动创建环境,建议在当前项目下创建,然后等待依赖下载完成即可

除了下载源码外,也可以直接下载官网上搞好的安装包,

https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.0.0-pre

解压后首先双击执行update.bat,然后执行run.bat,等待下载完成即可

在这里插入图片描述

运行

所有依赖完成后,在terminal面板下执行webui-user.bat即可运行,当然后面不进入pycharm,直接在黑窗口执行命令也是可以的,执行完成后进入网页http://127.0.0.1:7860/就可以看到软件界面了

图画的生成需要对应模型,相关模型可以去https://www.liblib.art/网站上下载,下载下来后放入models/Stable-diffusion文件夹即可

在这里插入图片描述

然后页面点击刷新按钮,就可以选择相关模型

如果遇到异常可以根据下面异常内容进行解决

常见异常

1、AssertionError: Torch not compiled with CUDA enabled

CUDA和Torch版本不兼容,可以选择修改CUDA的或者Torch的版本

使用命令nvcc -V,查看CUDA版本

进入Terminal板块,卸载PyTorch

pip uninstall torch

进入https://pytorch.org/get-started/locally/官网,下载所需要的版本,这里注意需要先查询下当前电脑CUDA所对应的版本

在这里插入图片描述

如果是没有CUDA,则安装CUDA。

2、AssertionError: Couldn’t find Stable Diffusion in any of: [‘E:\pythonWordspace\open\stable-diffusion-webui\repositories/stable-diffusion-stability-ai’, ‘.’, ‘E:\pythonWordspace\open’]

没有repositories/stable-diffusion-stability-ai文件夹,启动webui-user.bat命令自动就会创建,这个错一般是在第一次直接启动webui.py时报的错

3、Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check

这个错误信息是由于Torch无法使用GPU而导致的,修改webui-user.bat文件中参数即可

set COMMANDLINE_ARGS=--lowvram --precision full --no-half --skip-torch-cuda-test

4、torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB. GPU 0 has a total capacity of 6.00 GiB of which 0 bytes is free. Of the allocated memory 5.16 GiB is allocated by PyTorch, and 148.39 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

这里主要是CUDA 超内存,我并没有解决到该BUG,可能因为本身电脑GPU比较小,这里只提供几种解决方案

1、控制台执行set PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True 【我当前环境win所以用set命令,Linux下用export】

2、修改batch_size大小

3、修改高级系统设置,性能中的虚拟内存大小

4、增加清除代码

import torch, gc

gc.collect()
torch.cuda.empty_cache()

5、Can’t load tokenizer for ‘openai/clip-vit-large-patch14’. If you were trying to load it from ‘https://huggingface.co/models’, make sure you don’t have a local directory with the same name. Otherwise, make sure ‘openai/clip-vit-large-patch14’ is the correc

运行时它需要访问huggingface.co去下载一些模型需要的文件

界面以及字段说明

在这里插入图片描述

**Prompt,**正向提示词,用于描述图像中应该包含的元素或内容的指令

**Negative prompt,**用于描述在生成图像时应该避免或排除的元素、内容或特征

**Sampling method,**用于生成图像时所采用的抽样方法,决定了模型如何根据输入的文本描述来逐步生成图像

**Sampling steps, **采样步数,指模型从初始的随机噪声状态逐渐优化到最终生成清晰图像所需的迭代次数,每次迭代进行细微的调整和优化,生成更加清晰和逼真的图像,耗时也会增长

Hires.fix,用于提高成图质量。原理是以较低分辨率呈现图像,然后将其放大,最后在高分辨率下添加细节。这样,即使是在底模通常使用512512或768768的图片进行训练的情况下,也能显著提高成图质量。在显存足够的情况下,推荐尽可能开启此功能。

需要注意的是,Hires.fix会消耗大量的时间。需要根据情况选择。同时,Denoising strength(重绘强度)也需要合理设置,通常在0.30.5的范围内比较安全,如果想要赋予AI更多的发挥空间,可以设置为0.50.7。

关于Upscaler(放大算法)一般照片生成使用推荐:ESRGAN_4x, R-ESRGAN 4x+, SwinIR_4x 算法。
针对二次元相关图片推荐: R-ESRGAN 4x+ Anime6B

**CFG Scale,**用于控制文本提示对生成图像的影响程度,它决定了生成的图像与给定的文本提示之间的相关性。值可以从0到30进行调整。数值越大,生成的图像与文本提示的相关性越高,但可能会失真。相反,数值越小,相关性则越低,图像可能越偏离提示或输入图像,但质量可能更好。在实际应用中,将CFG Scale设置在7到11之间通常可以获得最佳的低噪效果。

然而,当CFG Scale的数值过高(例如高于20)时,生成效果可能会出现反向变化,导致图像质量变差,可能出现粗犷的线条或过度锐化的图像。因此,在使用CFG Scale时,需要根据实际需求进行适当调整,以获得满意的图像生成效果。

**Seed,**用于控制生成图片随机性的重要工具。具体来说,Seed参数决定了生成图片的外观,不同的Seed值会产生不同的随机性,从而导致生成的图片呈现出不同的特征和风格。通过调整Seed的数值,我们可以获得各种不同的效果和样式。

同时,Seed参数还确保了结果的可重现性。当使用相同的Seed来运行程序时,生成的图片将是完全一样的。这对于实验、复现和比较不同模型的性能非常重要。

Prompt提示词如何写

Prompt提示词简单点讲就是模型的指令,stable-diffusion根据指令生成图片

正向提示词和反向提示词,提示词要用英文书写,词之间用逗号隔开

提示词分多种不同类型【主要是一些例子,用的时候最好翻译成英文,可以用百度翻译或者有道词典】

内容提示词

人物及主体特征:例如服饰穿搭,发型发色,面部表情
场景特征:例如室内、室外
环境光照:例如白天黑夜,时段
画幅视角:例如距离,人物比例

画质提示词

画质以及具体分辨率:例如8k,unreal engine rendered
画风:例如插画风,二次元,写实

权重与负面提示词

括号加数字:(提示词:1.5)表示该提示词权重增强1.5倍
套括号:((提示词))每个圆括号*1.1倍,{{提示词}}大括号权重*1.4,[[]]方括号*0.9
混合:描述提示词1 / 描述提示词2 表示混合两种描述的词
迁移:[ 描述提示词1 / 描述提示词2 ] 先执行1,然后再执行2

常用参数

采样迭代步数默认20
采样方法:Euler a,Euler(适合插画风格),DPM 2M,2M Karras(速度快),SDE Karras(细节丰富)

编写提示词方式

1、用翻译软件翻译

2、使用些在线提示词工具,http://www.atoolbox.net/Tool.php?Id=1101

3、复制别人写好的提示词,然后修改

行2


常用参数

采样迭代步数默认20
采样方法:Euler a,Euler(适合插画风格),DPM 2M,2M Karras(速度快),SDE Karras(细节丰富)


编写提示词方式

1、用翻译软件翻译

2、使用些在线提示词工具,http://www.atoolbox.net/Tool.php?Id=1101

3、复制别人写好的提示词,然后修改

例如https://www.liblib.art/中作品灵感模块可以用于选择

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

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

相关文章

基于直方图的图像曝光量分析FPGA实现,包含tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 正常图像: checkb位于f192b和f250b之间 多度曝光图像: checkb位于f192b和f250b之外,判决为曝光过度。 2.算法…

k8s_入门_kubelet安装

安装 在大致了解了一些k8s的基本概念之后,我们实际部署一个k8s集群,做进一步的了解 1. 裸机安装 采用三台机器,一台机器为Master(控制面板组件)两台机器为Node(工作节点) 机器的准备有两种方式…

【神经网络】卷积神经网络CNN

卷积神经网络 欢迎访问Blog全部目录! 文章目录 卷积神经网络1. 神经网络概览2.CNN(Convolutional Neunal Network)2.1.学习链接2.2.CNN结构2.2.1.基本结构2.2.1.1输入层2.2.1.2.卷积层|Convolution Layers2.2.1.3.池化层|Pooling layers2.3…

设计模式——2_8 策略(Strategy)

文章目录 定义图纸一个例子:如何切换坦克的攻击方式GameElement(游戏元素)TankFactory(坦克工厂)Tank(坦克) 医疗车和飞行车策略模式Behavior(行为)TankTankFactory 碎碎念策略和状态为什么我们…

[数据结构]双向带头循环链表制作

前面我们有提到,单向不带头循环链表的制作 这里我们介绍一个双向带头循环链表的制作方法 双向带头循环链表的示意图如下 带头指针的作用体现在哪呢? 第一、防止头节点为空,既有头结点,头指针始终指向头结点,那么无论链表是否为空&#xf…

游戏公司面试题系列-CocosCreator实现虚拟摇杆控制角色移动中心旋转自转小球割草旋转逻辑

游戏公司面试题系列-CocosCreator实现虚拟摇杆控制角色移动&中心旋转自转小球&割草旋转逻辑<&#xff01;&#xff01;&#xff01;文章末尾有完整代码下载链接地址&#xff01;&#xff01;&#xff01;> Hello大家好&#xff01;今天我们来用最新的CocosCreat…

pringboot2集成swagger2出现guava的FluentIterable方法不存在

错误信息 Description: An attempt was made to call a method that does not exist. The attempt was made from the following location: springfox.documentation.spring.web.scanners.ApiListingScanner.scan(ApiListingScanner.java:117) The following method did not ex…

PHP运算符与流程控制

华子目录 运算符赋值运算符算术运算符比较运算符逻辑运算符连接运算符错误抑制符三目运算符自操作运算符 计算机码位运算符 运算符优先级流程控制控制分类顺序结构分支结构if分支switch分支 循环结构for循环while循环continuebreak 运算符 运算符&#xff1a;operator&#xf…

谷歌留痕霸屏要怎么做?

谷歌留痕霸屏&#xff0c;就是让你的网站或者页面在谷歌搜索结果里尽可能多地出现&#xff0c;就像是在你的潜在客户眼前留下深刻印象一样&#xff0c;你要做的就是在一些高权重平台发布有价值的信息&#xff0c;同时巧妙地留下你的品牌名、产品名或者任何你想要推广的关键词&a…

谷歌不收录怎么办?

谷歌不收录首先你要确认自己网站有没有出问题&#xff0c;比如你的网站是否已经公开&#xff0c;rboot是否允许搜索引擎进来&#xff0c;网站架构有没有问题&#xff0c;面包屑的结构是否有问题&#xff0c;确保你的网站没问题 接下来就是优化这个过程&#xff0c;有内容&#…

python|drop的应用

drop 删除列B 删除索引为1的行 删除列为‘A’&#xff0c;‘C’的列&#xff0c;axis表示方向 删除时保留原始 DataFrame&#xff08;使用 inplaceFalse&#xff09; 删除时直接修改原始 DataFrame&#xff08;使用 inplaceTrue&#xff09;

SEO优化艺术:精细化技巧揭示与搜索引擎推广全面战略解读

SEO&#xff08;搜索引擎优化&#xff0c;Search Engine Optimization&#xff09;是一种网络营销策略&#xff0c;旨在通过改进网站内外的各项元素&#xff0c;提升网站在搜索引擎自然搜索结果中的排名&#xff0c;从而吸引更多目标用户访问网站&#xff0c;增加流量&#xff…

如何快速开启一个项目-ApiHug - API design Copilot

ApiHug101-001开启篇 &#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin |…

少儿编程 2024年3月电子学会图形化编程等级考试Scratch二级真题解析(判断题)

2024年3月scratch编程等级考试二级真题 判断题&#xff08;共10题&#xff0c;每题2分&#xff0c;共20分&#xff09; 26、下列积木块运行结果为false 答案&#xff1a;错 考点分析&#xff1a;考查积木综合使用&#xff0c;重点考查逻辑或积木的使用&#xff0c;或运算是只…

用Echarts词云数据可视化热词表白​​

目录 1、使用前准备 2、准备工作 3、盒子搭建 4、整体展现 1、使用前准备 找到表白对象&#xff08;重中之重&#xff01;&#xff09;&#xff0c;不要一见钟情&#xff08;个人觉得&#xff1a;一见钟情属于见色起意&#xff01;&#xff09;&#xff0c;因为数据可视化需…

中颖51芯片学习3. 定时器

中颖51芯片学习3. 定时器 一、SH79F9476定时器简介1. 简介2. 定时器运行模式 二、定时器21. 说明&#xff08;1&#xff09;时钟&#xff08;2&#xff09;工作模式 2. 寄存器&#xff08;1&#xff09;控制寄存器 T2CON&#xff08;2&#xff09;定时器2模式控制寄存器 T2MOD …

sql注入方式之联合注入

1.1 靶场环境 系统centos7 IP地址192.168.1.24 1.2 联合注入原理 联合查询注入是联合两个表进行注入攻击&#xff0c;使用关键词 union select 对两个表进行联合查询。两个表的字段要数要相同&#xff0c;不然会出现报错。 1.3 找注入点 找注入点&#xff0c;当输入id1 an…

你知道哪几种当前流行的lisp语言的方言?

估计很多人都看过《黑客与画家》这本书&#xff0c;这本书主要介绍黑客即优秀程序员的爱好和动机&#xff0c;讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。作者保罗格雷厄姆字里行间不经意间向大家推介Lisp是最好的编程…

【linux】set ff=unix、linux设置文件格式

文章目录 一、文件格式二、如何查看文件格式三、设置文件格式、set ffunix四、查看unix与dos的区别 一、文件格式 当我们打开sh脚本时发现有时候格式是unix(LF) ,有时候是windows(CR LF) 。如下图&#xff1a; 文件格式影响了文件中的换行符 linux中sh类型的文件一般要设置为…

[dvwa] CSRF

CSRF 0x01 low 跨站&#xff0c;输入密码和确认密码直接写在url中&#xff0c;将连接分享给目标&#xff0c;点击后修改密码 社工方式让目标点击短链接 伪造404页&#xff0c;在图片中写路径为payload&#xff0c;目标载入网页自动请求构造链接&#xff0c;目标被攻击 http…