Stable Diffusion教程|快速入门SD绘画原理与安装
什么是Stable Diffusion,什么是炼丹师?根据市场研究机构预测,到2025年全球AI绘画市场规模将达到100亿美元,其中Stable Diffusion(简称SD)作为一种先进的图像生成技术之一,市场份额也在不断增长,越来越多的人参与到AI掘金这场运动中来。炼丹师,就是指那些专门研究、开发与应用Stable Diffusion模型的专业人士或爱好者,他们在实践中不断优化模型,使其产生更高质量、更具创意的图像。
目录
_1 SD绘画原理
_
2 本地部署安装SD WebUI
3 生成第一张SD绘画
**一、**SD绘画原理
基本概念
名词 | 解释说明 |
Stable Diffusion | 是一种基于扩散模型的先进的人工智能技术,特别适用于文本到图像(Text-to-Image)的生成任务。该模型由CompVis、Stability AI、LAION等研究机构和公司合作研发,它利用扩散过程在潜在空间(latent space)中生成图像,而不是直接在高维像素空间中操作。 |
SD WebUI | Stable Diffusion Web UI (SD WebUI) 是一个用于交互式控制和使用 Stable Diffusion 模型的网页应用程序界面。用户可以通过这个界面输入文本提示(prompt)来驱动模型生成相应的图像,提供了简单易用的方式来体验和定制基于 Stable Diffusion 的文本到图像生成过程。 |
Python | 是一种广泛使用的高级编程语言,以其语法简洁清晰和代码可读性强而著称。在AI领域,Python尤为流行,因为它拥有丰富的科学计算、机器学习和数据处理相关的库,比如NumPy、Pandas和TensorFlow等。在部署和使用像Stable Diffusion这样的深度学习模型时,Python常被作为开发和运行环境的基础。 |
Controlnet插件 | 是针对 Stable Diffusion 模型开发的一种功能扩展插件,它允许用户在文本生成图像的过程中实现更为细致和精确的控制。该插件使得用户不仅能够通过文本提示(prompt)指导模型生成图像,还能添加额外的输入条件,比如控制图像的构图、颜色、纹理、物体位置、人物姿势、景深、线条草图、图像分割等多种图像特征。通过这种方式,ControlNet 提升了 AI 绘画系统的可控性和灵活性,使得艺术创作和图像编辑更加精细化。 |
Controlnet模型 | 是配合上述插件工作的一个组成部分,它是经过训练以实现对大型预训练扩散模型(如 Stable Diffusion)进行细粒度控制的附加神经网络模型。ControlNet 模型可以学习如何根据用户的特定需求去调整原始扩散模型的输出,即便是在训练数据有限的情况下,依然能够确保生成结果的质量和稳定性。例如,ControlNet 可能包括用于识别和利用边缘映射、分割映射或关键点信息的子模块,从而实现对生成图像的特定区域进行针对性修改或强化。 |
VAE | Variational Autoencoder (VAE): 变分自编码器是一种概率生成模型,它结合了编码器(将输入数据编码为潜在空间中的概率分布)和解码器(从潜在空间重构数据)的概念。在图像生成场景中,VAE可以用来学习数据的潜在表示,并基于这些表示生成新的图像。 |
CHECKPOINT | SD能够绘图的基础模型,因此被称为大模型、底模型或者主模型,WebUI上就叫它Stable Diffusion模型。安装完SD软件后,必须搭配主模型才能使用。不同的主模型,其画风和擅长的领域会有侧重。checkpoint模型包含生成图像所需的一切,不需要额外的文件。 |
hyper-network | 超网络是一种模型微调技术,最初是由NOVA AI 公司开发的。它是一个附属于Stable Diffusion 稳定扩散模型的小型神经网络,是一种额外训练出来的辅助模型,用于修正SD稳定扩散模型的风格。 |
LORA | 全称是Low-Rank Adaptation of Large Language Models 低秩的适应大语言模型,可以理解为SD模型的一种插件,和hyper-network,controlNet一样,都是在不修改SD模型的前提下,利用少量数据训练出一种画风/IP/人物,实现定制化需求,所需的训练资源比训练SD模要小很多,非常适合社区使用者和个人开发者。LoRA最初应用于NLP领域,用于微调GPT-3等模型(也就是ChatGPT的前生)。由于GPT参数量超过千亿,训练成本太高,因此LoRA采用了一个办法,仅训练低秩矩阵(low rank matrics),使用时将LoRA模型的参数注入(inject)SD模型,从而改变SD模型的生成风格,或者为SD模型添加新的人物/IP。 |
prompt | 提示词/咒语 |
工作原理
Stable Diffusion就是一个接收文本提示词,并生成相应图像的生成模型。
SD来自于扩散模型(Diffusion Model)
扩散模型:(Diffusion Model)的核心原理被生动地比喻为物理学中的扩散过程,通过前向扩散过程逐渐将图像转化为噪声图像,然后通过反向扩散过程恢复出清晰的图像。在Stable Diffusion中,模型训练了一个噪声预测器(noise predictor),它是一个U-Net结构的神经网络,可以预测并从图像中去除噪声,从而重构原始图像。
然而,传统的扩散模型在图像空间中的运算效率极低,不适合实时应用。为此,Stable Diffusion采用了在潜在空间(latent space)中进行扩散的过程,利用变分自编码器(VAE)将图像压缩到较低维度的空间,极大地提高了计算速度和效率。
Stable Diffusion的具体工作流程包括:
-
输入图像被编码到潜在空间。
-
添加噪声,并通过噪声预测器估算添加的噪声量。
-
反复迭代,通过噪声预测器预测并减去潜在噪声。
-
使用VAE的解码器将清理过的潜在图像转换回像素空间,生成最终图像。
学习资料
国外一手资料:
stability.ai官网
https://stability.ai/aboutgithub开源项目
https://github.com/CompVis/stable-diffusion/blob/main/README.md
The Illustrated Stable Diffusion @Jay Alammar 讲的原理
https://jalammar.github.io/illustrated-stable-diffusion/
这份完整版的SD整合包已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
二、本地部署安装SD WebUI
硬件条件
说明:本地部署的硬件要求,当然使用云端部署租赁更高端的机器也是没问题。
最低推荐配置 | 推荐配置 | 备注 | |
显卡(GPU) | GTX1050Ti | 低配推荐:RTX4060Ti-16G高配推荐:RTX4090 | 为达到良好的体验,请尽可能使用8GB显存及以上显卡。低显存虽然能跑,但是体验极差 |
内存(RAM) | 8GB内存 | 总内存24GB及以上 | 可以开启虚拟内存,内存过小会在加载模型的时候出现问题 |
存储空间 | 20GB任意存储设备 | 500GB以上固态硬盘 | 强烈建议单独使用一个盘符,如果不想启动的时候等10分钟的话,那么只推荐使用SSD |
CPU | x86架构的Intel或AMD等处理器都可以, 若为Mac电脑建议使用搭载M系列芯片的机型。 |
- 显卡VRAM在4GB以下的会很容易遇到显存不足的问题,即使使用放大插件也就非常慢(以时间换显存)
2. 显卡较差/显存严重不足时可以开启CPU模式,但是速度非常慢。你不希望一个小时一张图的话那就别想着用CPU跑图。
软件需求
Windows:最低要求为Windows 10 64比特,请确保系统已更新至最新版本。
macOS:最低要求为macOS Monterey (12.5),如果可以的话请使用最新版macOS。建议使用搭载Apple Silicon M芯片 (M1、M2) 的Mac机型。旧款Mac需配备AMD独立显卡,只有Intel核显的不能使用。
下载地址 (不藏着掖着,直接拿走不谢)
这份完整版的SD整合包已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
安装部署
2025.1月 更新了最新的整合包,无需任何操作即可达到最佳速度,解压打开即用,内置启动器。
整合包做了哪些事情?打包了 Python、Git、CUDA 等等必须的环境,并且放了运行必须的模型。简单来说,整合包就是 SD-WebUI内核+启动器+安装好的环境+必须的模型。你只需下载它解压就可以直接启动运行!
特别鸣谢,安装包作者@秋葉aaaki
**三、**生成第一张SD绘画
启动“A启动器.exe”
加载更新
点击“一键启动”
[不要关闭它],它会自动打开,浏览器地址"http://127.0.0.1:7860/?__theme=dark"
基本功能介绍
界面及操作说明 | |
stable diffusion模型 | 下拉,替换大模型/底模 |
正面提示词 Tag | (想要的内容,提示词) 如:masterpiece, best quality, |
反面提示词 Tag | (不想要的内容,提示词) 如:lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry |
提示词加权重 | (girl) 加权重,这里是1.1倍。 ((girl)) 加很多权重,1.1*1.1=1.21倍,以此类推。 |
提示词减权重 | [girl] 减权重,一般用的少。减权重也一般就用下面的指定倍数。 |
提示词指定权重 | (girl:1.5) 指定倍数,这里是1.5倍的权重。还可以 (girl:0.9) 达到减权重的效果 |
采样迭代步数 | 不需要太大,一般在50以内。通常28是一个不错的值。 |
采样方法 | 没有优劣之分,但是他们速度不同。全看个人喜好。推荐的是图中圈出来的几个,速度效果都不错 |
提示词相关性 | 代表你输入的 Tag 对画面的引导程度有多大,可以理解为 “越小AI越自由发挥”,太大会出现锐化、线条变粗的效果。太小AI就自由发挥了,不看 Tag |
随机种子 | 生成过程中所有随机性的源头 每个种子都是一幅不一样的画。默认的 -1 是代表每次都换一个随机种子。由随机种子,生成了随机的噪声图,再交给AI进行画出来 |
切换webUI黑白皮肤,修改浏览器http地址:
白:http://127.0.0.1:7860/?__theme=light
黑:http://127.0.0.1:7860/?__theme=dark
输入提示词【1 girl】,点击生成即可:
(我安装了皮肤插件,所以和你运行的界面稍微酷炫一点_)
**点点下方【收藏】和【点赞】再走,赠人玫瑰 手留余香!****
相关文章:

Stable Diffusion教程|快速入门SD绘画原理与安装
什么是Stable Diffusion,什么是炼丹师?根据市场研究机构预测,到2025年全球AI绘画市场规模将达到100亿美元,其中Stable Diffusion(简称SD)作为一种先进的图像生成技术之一,市场份额也在不断增长&…...

系统架构设计师—系统架构设计篇—微服务架构
文章目录 概述优势挑战 概述 微服务是一种架构风格,将单体应用划分成一组小的服务,服务之间相互协作,实现业务功能,每个服务运营在独立的进程中,服务间采用轻量级的通信机制协作(通常是HTTP/JSON࿰…...

Array and string offset access syntax with curly braces is deprecated
警告信息 “Array and string offset access syntax with curly braces is deprecated” 是 PHP 中的一个弃用警告(Deprecation Notice),表明在 PHP 中使用花括号 {} 来访问数组或字符串的偏移量已经被标记为过时。 背景 在 PHP 的早期版本…...

腾讯元宝:AI 时代的快速论文阅读助手
1. 背景与需求 在 AI 研究领域,每天都会涌现大量学术论文。如何高效阅读并提取关键信息成为研究者的一大难题。腾讯元宝是腾讯推出的一款大模型,结合了**大语言模型(LLM)和自然语言处理(NLP)**技术&#x…...

基于单片机的风速报警装置设计
标题:基于单片机的风速报警装置设计 内容:1.摘要 本设计聚焦于基于单片机的风速报警装置,旨在解决传统风速监测缺乏实时报警功能的问题。采用单片机作为核心控制单元,结合风速传感器采集风速数据。经实验测试,该装置能准确测量 0 - 60m/s 范…...

1998-2022年各地级市第一产业占GDP比重/地级市第一产业占比数据(市辖区)
1998-2022年各地级市第一产业占GDP比重/地级市第一产业占比数据(市辖区) 1、时间:1998-2022年 2、指标:地级市第一产业占GDP比重/地级市第一产业占比 3、来源:城市统计年鉴 4、范围:299个地级市 5、缺…...

IntersectionObserver接口介绍
IntersectionObserver API 是浏览器提供的一个用于异步观察目标元素与其祖先元素或视口(Viewport)交叉状态(即是否进入或离开视口)的接口。在 IntersectionObserver 出现之前,开发者通常需要通过监听 scroll 事件或使用…...

go并发学习笔记
包含了go学习笔记,含有channel的基础学习,编写数字的平方,如何成组的合并channel,如何优雅的关闭退出并发协程,通道阻塞情况分析,channel与哪些变成情况,可谓是收藏好文. 文章目录 并发1:chann…...

DeepSeek V3 源码:从入门到放弃!
从入门到放弃 花了几天时间,看懂了DeepSeek V3 源码的逻辑。源码的逻辑是不难的,但为什么模型结构需要这样设计,为什么参数需要这样设置呢?知其然,但不知其所以然。除了模型结构以外,模型的训练数据、训练…...

关于C++数据类型char的类型是整数的思考
学习数据类型时,整数类型中有一个特殊的类型char,可以使用字符来为其赋,也可以用整数来为其赋值,这是怎么一回事?其实任何类型,在计算机的内存中,在最小的存储单元比特中,内部只有0或…...

手写识别革命:Manus AI如何攻克多语言混合识别难题(二)
一、多语种特征分离:对抗训练与解耦表示 1. 梯度反转层(GRL)实现语言无关特征提取 class GradientReversalFn(Function):staticmethoddef forward(ctx, x, alpha):ctx.alpha alphareturn x.view_as(x)staticmethoddef backward(ctx, grad_…...

windows:curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325)
目录 1. git update-git-for-windows 报错2. 解决方案2.1. 更新 CA 证书库2.2. 使用 SSH 连接(推荐)2.3 禁用 SSL 验证(不推荐) 1. git update-git-for-windows 报错 LenovoLAPTOP-EQKBL89E MINGW64 /d/YHProjects/omni-channel-…...

typedef 和 using 有什么区别?
在 C 编程中,类型别名(Type Aliases)是为已有类型定义新名称的一种机制,能够显著提升代码的可读性和可维护性。C 提供了两种工具来实现这一功能:传统的 typedef 和 C11 引入的 using 关键字。 概念 类型别名本质上是为…...

【Java学习笔记】三、运算符,表达式、分支语句和循环语句
运算符与表达式 算数运算符与算数表达式 加减运算符 操作数:2结合方向:从左到右优先级:4级 乘(*)、除(/)和取余(%)运算符 操作数:2结合方向:从左到右优先…...

广度优先遍历(BFS):逐层探索的智慧
引言:什么是广度优先遍历? 广度优先遍历(BFS)是一种用于遍历或搜索树(Tree)和图(Graph)结构的算法。其核心思想是逐层访问节点,先访问离起点最近的节点,再逐…...

网络HTTP
HTTP Network Request Library A Retrofit-based HTTP network request encapsulation library that provides simple and easy-to-use API interfaces with complete network request functionality. 基于Retrofit的HTTP网络请求封装库,提供简单易用的API接口和完…...

(七)企业级高性能 WEB 服务 - HTTPS 加密
在当今互联网时代,数据安全成为了每个企业和开发者必须关注的重点。尤其是对于Web服务来说,如何保障用户数据的安全传输是至关重要的。本文将深入探讨HTTPS加密的原理、Nginx的HTTPS配置,以及如何通过Nginx实现高性能的Web服务。 1. HTTPS加密…...

[HTTP协议]应用层协议HTTP从入门到深刻理解并落地部署自己的云服务(2)
标题:[HTTP协议]应用层协议HTTP从入门到深刻理解并落地部署自己的云服务(2) 水墨不写bug 文章目录 一、无法拷贝类(class uncopyable)的设计解释:重要思想:使用示例 二、锁的RAII设计解释重要考虑使用示例 三、基于RAII模式和互斥锁的的日志…...

MySQL(单表)知识点
文章目录 1.数据库的概念2.下载并配置MySQL2.1初始化MySQL的数据2.2注册MYSQL服务2.3启动MYSQL服务2.4修改账户默认密码2.5登录MYSQL2.6卸载MYSQL 3.MYSQL数据模型3.1连接数据库 4.SQL简介4.1SQL的通用语法4.2SQL语句的分类4.3DDL语句4.3.1数据库4.3.2表(创建,查询,修改,删除)4…...

HarmonyOS Next 属性动画和转场动画
HarmonyOS Next 属性动画和转场动画 在鸿蒙应用开发中,动画是提升用户体验的关键要素。通过巧妙运用动画,我们能让应用界面更加生动、交互更加流畅,从而吸引用户的注意力并增强其使用粘性。鸿蒙系统为开发者提供了丰富且强大的动画开发能力&…...

使用Node.js从零搭建DeepSeek本地部署(Express框架、Ollama)
目录 1.安装Node.js和npm2.初始化项目3.安装Ollama4.下载DeepSeek模型5.创建Node.js服务器6.运行服务器7.Web UI对话-Chrome插件-Page Assist 1.安装Node.js和npm 首先确保我们机器上已经安装了Node.js和npm。如果未安装,可以通过以下链接下载并安装适合我们操作系…...

Docker 部署 MongoDB 并持久化数据
Docker 部署 MongoDB 并持久化数据 在现代开发中,MongoDB 作为 NoSQL 数据库广泛应用,而 Docker 则提供了高效的容器化方案。本教程将介绍如何使用 Docker 快速部署 MongoDB,并实现数据持久化,确保数据不会因容器重启或删除而丢失…...

DeepSeek + 沉浸式翻译 打造智能翻译助手
本文详细介绍如何使用 DeepSeek API 沉浸式翻译插件打造个性化翻译助手。 一、DeepSeek API 配置 基础配置 API 基础地址:https://api.deepseek.com需要申请 API Key支持与 OpenAI SDK 兼容的调用方式 可用模型 deepseek-chat:已升级为 DeepSeek-V3&am…...

cdn取消接口缓存
添加cdn后,使用cdn加速域名访问接口 是缓存,不是最新的数据,如果使用局域网则是最新的数据,如果修改配置,确保使用cdn域名请求的接口返回不是缓存 要确保通过CDN加速域名访问接口时返回的是最新的数据,而不…...

字节跳动C++客户端开发实习生内推-抖音基础技术
智能手机爱好者和使用者,追求良好的用户体验; 具有良好的编程习惯,代码结构清晰,命名规范; 熟练掌握数据结构与算法、计算机网络、操作系统、编译原理等课程; 熟练掌握C/C/OC/Swift一种或多种语言ÿ…...

OpenHarmony子系统开发编译构建指导
OpenHarmony子系统开发编译构建指导 概述 OpenHarmony编译子系统是以GN和Ninja构建为基座,对构建和配置粒度进行部件化抽象、对内建模块进行功能增强、对业务模块进行功能扩展的系统,该系统提供以下基本功能: 以部件为最小粒度拼装产品和独…...

MySQL进阶-关联查询优化
采用左外连接 下面开始 EXPLAIN 分析 EXPLAIN SELECT SQL_NO_CACHE * FROM type LEFT JOIN book ON type.card book.card; 结论:type 有All ,代表着全表扫描,效率较差 添加索引优化 ALTER TABLE book ADD INDEX Y ( card); #【被驱动表】࿰…...

数据结构第六节:二叉搜索树(BST)的基本操作与实现
【本节要点】 二叉搜索树(BST)基本原理代码实现核心操作实现辅助函数测试代码完整代码 一、二叉搜索树(BST)基本原理与设计总结 注:基本原理的详细分析可以在数据结构第六节中查看,这里是简单描述。 二叉搜…...

在昇腾GPU上部署DeepSeek大模型与OpenWebUI:从零到生产的完整指南
引言 随着国产AI芯片的快速发展,昇腾(Ascend)系列GPU凭借其高性能和兼容性,逐渐成为大模型部署的重要选择。本文将以昇腾300i为例,手把手教你如何部署DeepSeek大模型,并搭配OpenWebUI构建交互式界面。无论…...

在window终端创建docker容器的问题
问题: 错误原因: PowerShell 换行符错误 PowerShell 中换行应使用反引号而非反斜杠 \,错误的换行符导致命令解析中断。 在 Windows 的 PowerShell 中运行 Docker 命令时遇到「sudo 无法识别」的问题,这是因为 Windows 系统原生不…...