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 WebUIStable 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的具体工作流程包括:

  1. 输入图像被编码到潜在空间。

  2. 添加噪声,并通过噪声预测器估算添加的噪声量。

  3. 反复迭代,通过噪声预测器预测并减去潜在噪声。

  4. 使用VAE的解码器将清理过的潜在图像转换回像素空间,生成最终图像。

学习资料

国外一手资料:

stability.ai官网
https://stability.ai/about

github开源项目

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系列芯片的机型。

  1. 显卡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】,点击生成即可:

(我安装了皮肤插件,所以和你运行的界面稍微酷炫一点_

**点点下方【收藏】和【】再走,赠人玫瑰 手留余香!****

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

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

相关文章

惊喜操作!强制DeepSeek和豆包轻松生成你的专属图片提示词

大家好,我是抖知书!大伙儿平时用DeepSeek或者豆包,多半是写文章、搞数据,谁会天天想着用它生成图片啊?不过话说回来,还真有人动这个心思。 很多人大概觉得,AI不就是弄文字、数据的么&#xff1…

缓存之美:Guava Cache 相比于 Caffeine 差在哪里?

大家好,我是 方圆。本文将结合 Guava Cache 的源码来分析它的实现原理,并阐述它相比于 Caffeine Cache 在性能上的劣势。为了让大家对 Guava Cache 理解起来更容易,我们还是在开篇介绍它的原理: Guava Cache 通过分段(…

日期类、Date、Calendar、IO 流、File

DAY9.2 Java核心基础 日期类 java对日期使用提供了良好的封装,包括java.util.Date和java.util.Calender Date Date类使用比较简单,直接通过构造函数实例化对象接口,Date对象标识当前的系统时间,默认的格式并不是我们所熟悉的&…

【Linux】详谈 基础I/O

目录 一、理解文件 狭义的理解: 广义理解: 文件操作的归类认知 系统角度 二、系统文件I/O 2.1 标志位的传递 系统级接口open ​编辑 open返回值 写入文件 读文件 三、文件描述符 3.1(0 & 1 & 2) 3.2 文件描…

【HarmonyOS Next之旅】DevEco Studio使用指南(二)

目录 1 -> 工程模板介绍 2 -> 创建一个新的工程 2.1 -> 创建和配置新工程 2.1.1 -> 创建HarmonyOS工程 2.2.2 -> 创建OpenHarmony工程 1 -> 工程模板介绍 DevEco Studio支持多种品类的应用/元服务开发,预置丰富的工程模板,可以根…

transformer模型介绍——大语言模型 LLMBook 学习(二)

1. transformer模型 1.1 注意力机制 **注意力机制(Attention Mechanism)**在人工智能中的应用,实际上是对人类认知系统中的注意力机制的一种模拟。它主要模仿了人类在处理信息时的选择性注意(Selective Attention)&a…

RAG 常见分块策略全解析:从原理到代码实践(2025 深度版)

大家好,我是大 F,深耕AI算法十余年,互联网大厂技术岗。 知行合一,不写水文,喜欢可关注,分享AI算法干货、技术心得。 更多文章可关注《大模型理论和实战》、《DeepSeek技术解析和实战》,一起探索技术的无限可能! 引言 在检索增强生成(RAG)系统中,分块策略是决定系统…

【论文解读】《START: Self-taught Reasoner with Tools》

链接:https://arxiv.org/pdf/2503.04625 1. 论文概述 解决现有大规模推理模型(LRMs)在复杂推理任务中容易产生幻觉(hallucination)以及内部推理效率低下的问题。提出一种工具集成的长链条思考(Long Chain…

【问题处理】Vmware安装Centos Stream10无法加载安装界面

问题描述 使用Vmware17安装Centos Stream 10,安装界面无法成功加载,长时间显示为灰色,导致安装过程无法继续,如图所示。 问题原因 图形界面的渲染,相比于命令行界面,所需的硬件要求更高。 如果分配的C…

通义万相2.1开源版本地化部署攻略,生成视频再填利器

2025 年 2 月 25 日晚上 11:00 通义万相 2.1 开源发布,前两周太忙没空搞它,这个周末,也来本地化部署一个,体验生成效果如何,总的来说,它在国内文生视频、图生视频的行列处于领先位置&#xff0c…

线程--轻量化进程

1、什么是线程 在⼀个程序⾥的⼀个执⾏路线就叫做线程(thread)。更准确的定义是:线程是“⼀个进程内部的控制序列⼀切进程⾄少都有⼀个执⾏线程线程在进程内部运⾏,本质是在进程地址空间内运⾏在Linux系统中,在CPU眼中…

自动化测试脚本语言选择

测试人员在选择自动化测试脚本语言时面临多种选项。Python、Java、C#、JavaScript 和 Ruby 都是常见选择,但哪种语言最适合?本文将详细分析这些语言的特点、适用场景和优劣势,结合行业趋势和社会现象,为测试人员提供全面指导。 选…

React基础之组件通信

组件嵌套 父子传值实现 实现步骤 1.父组件传递数据-在子组件标签上绑定属性 2.子组件接收数据-子组件通过props参数接收数据 import React, { useRef, useState } from react; //父传子 //1.父组件传递数据,需要在子组件标签上绑定数据 //2.子组件接收数据 props的参…

UE5从入门到精通之如何创建自定义插件

前言 Unreal 的Plugins插件系统中有很多的插件供大家使用,包括官方的和第三方的,这些插件不仅能帮我我们实现特定功能,还能够提升我们的工作效率。 所以我们今天就来自己创建一个自定义插件,如果我们想实现什么特定的功能,我们也可以发布到商店供大家使用了。 创建插件 …

VSCode 2025最新 前端开发必备插件推荐汇总(提效指南)

🌟前言: 如果你是一名前端开发工程师,合适的开发工具能大大提高工作效率。Visual Studio Code (VSCode) 凭借其轻量级、高扩展性的特点,已成为众多前端开发者在win系电脑的首选IDE。 名人说:博观而约取,厚积而薄发。—…

BGP实验(一)IBGP全互联配置

一、拓扑图 二、实验思路 根据BGP的路由优先原则,首先要保证路由可达。但是IBGP间存在水平分割机制,因此实验可使用IBGP全互联,反射器或联盟来实现IBGP间路由可达,本实验使用全互联全互联缺点:将BGP路由引入到IGP&…

查看和杀死进程线程

windows 任务管理器tasklist 查看进程taskkill 杀死进程 liunx ps -fe 查看所有进程ps -fT -p 查看某个进程pid 的所有线程kill 杀死进程kill -9 top 按大写H切换是否现实线程top -H -p 查看某个进程的的所有线程 java jps 查看所有Java进程jstack 查看某个Java进程pid 的所…

SpringBoot(一)--搭建架构5种方法

目录 一、⭐Idea从spring官网下载打开 2021版本idea 1.打开创建项目 2.修改pom.xml文件里的版本号 2017版本idea 二、从spring官网下载再用idea打开 三、Idea从阿里云的官网下载打开 ​编辑 四、Maven项目改造成springboot项目 五、从阿里云官网下载再用idea打开 Spri…

Vue Diff算法原理深度解析:如何高效更新虚拟DOM?

文章目录 1. 为什么需要Diff算法?2. Diff算法核心原则3. 核心流程图解4. 核心代码实现(简化版)5. Key的重要性示例6. 算法优化策略7. 时间复杂度优化8. 与其他框架的对比9. 总结 1. 为什么需要Diff算法? 在Vue的响应式系统中&…

【QT】简易小六壬起卦器 遇事不决 六壬决断

整点有意思的,用qt写了个简易小六壬起卦器。 一天不超过三次,占卜前提 不诚不占, 不疑不占, 不义不占 心血来潮时获取当时起卦结果。 不多说,直接上源码。 #pragma once#include "DADMPCoreExportLib.h" …