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, gcgc.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=11013、复制别人写好的提示词,然后修改例如https://www.liblib.art/中作品灵感模块可以用于选择

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jeecg-boot 3.6使用微服务启动详细配置

1:运行sql文件 2:配置host 路径如下 127.0.0.1 jeecg-boot-redis 127.0.0.1 jeecg-boot-mysql 127.0.0.1 jeecg-boot-nacos 127.0.0.1 jeecg-boot-gateway 127.0.0.1 jeecg-boot-system 127.0.0.1 jeecg-boot-xxljob 127.0.0.1 jeecg-boot-rabbitmq 3…

LeetCode第十五题:三数之和【15/1000 python】

👤作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 LeetCode解锁1000题: 打怪升级之旅htt…

【管理咨询宝藏52】AA银行企业文化策略分析报告

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏52】AA银行企业文化策略分析报告 【格式】PPT版本,可编辑 【关键词】战略规划、商业分析、管理咨询 【强烈推荐】这是一套市面上非常…

npm包安装与管理:深入解析命令行工具的全方位操作指南,涵盖脚本执行与包发布流程

npm,全称为Node Package Manager,是专为JavaScript生态系统设计的软件包管理系统,尤其与Node.js平台紧密关联。作为Node.js的默认包管理工具,npm为开发者提供了便捷的方式来安装、共享、分发和管理代码模块。 npm作为JavaScript世…

Unity MySql安装部署与Unity连接 上篇

1.前言 最近项目用到MySql,记录一下安装部署过程。 数据量过大或者需要管理用户数据的时候用mysql的话数据结构比较清晰明了,便于管理。 2.安装MySql Unity版本:2019.4.16 MySql版本:8.2.0 下载地址:MySql 下载…

PostgreSQL入门到实战-第七弹

PostgreSQL入门到实战 PostgreSQL查询语句(四)官网地址PostgreSQL概述PostgreSQL中DISTINCT 语句介绍PostgreSQL中DISTINCT 语句实操更新计划 PostgreSQL查询语句(四) 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https:…

【测试篇】Selenium + Java环境搭建

文章目录 Selenium Java环境搭建配置系统环境变量PATH验证环境是否搭建成功常见问题&解决办法 Selenium Java环境搭建 Java版本最低要求为8,这里默认大家都下载好了Java。😆 下载chrome浏览器(点我下载) 观察chrome版本。…

设备监控公有云

在数字化浪潮的推动下,越来越多的企业开始关注设备监控公有云这一重要领域。设备监控公有云通过云计算技术,实现对设备的远程监控、管理和维护,大大提高了企业的运营效率和管理水平。HiWoo Cloud平台作为领先的设备监控公有云解决方案提供商&…

【数据库】PostgreSQL源码编译安装方式与简单配置(v16.2)

PostgreSQL源码编译安装方式与简单配置(v16.2) 一、PostgreSQL安装基本介绍1.1 几种PostgreSQL的安装方式1.2 删除原有的PostgreSQL1.3 编译安装过程简介 二、源码编译安装方式详情2.1 下载源代码2.2 编译安装运行 configure执行 make执行 make install …

力扣207.课程表

你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。 例如…

SSM党员管理系统

一、系统介绍 党员管理系统: 可以方便管理人员对党员管理系统的管理,提高信息管理工作效率及查询效率,有利于更好的为用户提供服务。 主要的模块包括: 1、后台功能: 管理员角色:首页、个人中心,党员管理…

【java面试题-Redis篇-2024】

##java面试题大全 详细面试题-持续更新中-点击跳转 点赞、收藏、加关注 java基础面试题 ##java面试题大全1、什么是 Redis2、Redis 的数据结构类型3、Redis 为什么快4、什么是跳跃表5、什么是 I/O 多路复用6、什么是缓存击穿、缓存穿透、缓存雪崩7、什么是布隆过滤器8、热…

经典文章:卷积神经网络的运作原理

https://brohrer.mcknote.com/zh-Hans/how_machine_learning_works/how_convolutional_neural_networks_work.html 参考资料 https://aitechtogether.com/article/38900.html https://www.ruanyifeng.com/blog/2017/07/neural-network.html http://neuralnetworksanddeeplea…

快速入门Kotlin④集合

集合概述 继承关系(List、Set和Map均继承了Collection) List List 是一个接口,用于表示列表(List)数据结构。它是一个有序的集合,允许重复元素。 listOf 创建的列表是不可变的,而 mutableListOf 创建的列表是可变的,允许对其进行添加、删除和更新操作。 fun main()…

fast_bev 学习笔记

目录 一. 简述二. 输入输出三. github资源四. 复现推理过程4.1 cuda tensorrt 版 训练修改图像数 一. 简述 原文:Fast-BEV: A Fast and Strong Bird’s-Eye View Perception Baseline FAST BEV是一种高性能、快速推理和部署友好的解决方案,专为自动驾驶车载芯片设计…

插入排序解读

在众多的排序算法中,插入排序以其直观易懂和在某些特定场景下的高效性而备受青睐。今天,我们就来深入探索一下插入排序的原理、实现方式以及它的优缺点。 一、算法原理 插入排序相当于打牌中抓牌插入的方式。插入排序的工作方式是通过构建有序序列&…

功能测试_验证qq账号的合法性

案例:验证qq账号的合法性(要求:6-10位的自然数) 使用等价类设计用例案例: 步骤: 1:明确需求:qq账号的合法性 2:划分等价类:有效等价类、有效取值、无效等价类、无效取值 3&…

三、SpringBoot3 整合 SpringMVC

本章概要 实现过程web 相关配置静态资源处理自定义拦截器(SpringMVC 配置) 3.1 实现过程 创建程序引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www…

双目运算符和单目运算符的重载

目录 题目 源码 结果示例 题目 建立一个矩阵类&#xff0c;可以完成指定的操作或运算。 说明&#xff1a; 矩阵为2行3列&#xff0c;基类型为整型&#xff1b;操作或运算&#xff1a;初始化&#xff08;>>&#xff09;、输出&#xff08;<<&#xff09;、赋值…

SpringBoot学习笔记(一)

SpringBootSpringBoot学习笔记&#xff08;一&#xff09; 1.SpringBoot配置2.yml3.SpringBoot配置&#xff08;1&#xff09;Value注解获取配置参数&#xff08;2&#xff09;Environment获取配置参数&#xff08;3&#xff09;ConfigurationProperties方式&#xff08;4&…