Stable Diffusion超详细教程!本地部署 Stable Diffusion

embedded/2024/10/18 12:32:09/

前言

目前市面上比较权威,并能用于工作中的AI绘画软件其实就两款:

  • Midjourney(MJ)
  • Stable-Diffusion(SD

MJ需要付费使用,而SD开源免费,但是上手难度和学习成本略大,并且非常吃电脑配置(显卡、内存)。

Stable Diffusion 开源免费收获了大量活跃用户,开发者社群提供了大量免费高质量的外接预训练模型(fine-tune)和插件,使得SD拥有更加丰富的个性化功能,在经过使用者调教后可以生成更贴近需求的图片,甚至在 AI 视频特效、AI音乐生成等领域,Stable Diffusion 也占据了一席之地。

Stable Diffusion是一种潜在扩散模型(Latent Diffusion Model):

  • 能够从文本描述中生成详细的图像
  • 可以用于图像修复、图像绘制、文本到图像和图像到图像等任务

只要给出想要的图片的文字描述在提Stable Diffusion就能生成符合你要求的逼真的图像!

电脑配置

关键点:显卡、内存、硬盘、CPU:

  • 显卡:N卡(英伟达Nvida独立显卡)首选,效率远超集显/AMD/Intel显卡和CPU渲染,最低10系起步,体验感佳用40系,显存最低4G,6G及格,上不封顶;
  • 内存最低8G,16G及格,上不封顶;
  • 硬盘可用空间最好有个500G朝上,固态最佳。

系统要求:支持 Win10/Win11/macOS(仅限Apple Silicon,Intel 版本的 Mac 无法调用 Radeon 显卡)和 Linux 系统,苹果版 SD 兼容的插件数量较少,功能性不及 Windows 与 Linux 电脑。

如果身边没有合适的电脑可以考虑购买云主机,比如腾讯GPU云服务器。若无法使用独立显卡和云服务,亦可修改启动配置,使用CPU渲染(兼容性强,出图速度慢,需要16G以上内存)。

从图中可看出,与AMD或英特尔的任何产品相比,Nvidia的GPU提供了卓越的性能--有时是以巨大的优势。随着Torch的DLL修复到位,RTX 4090的性能比带有xformers的RTX 3090 Ti高出50%,而没有xformers的性能则高出43%。生成每张图片只需要三秒多。


官方安装步骤

在 Windows 上自动安装

  1. 安装 Python 3.10.6(较新版本的 Python 不支持torch),选中“将 Python 添加到 PATH”
  2. 安装 git。
  3. 以普通用户、非管理员用户身份从 Windows 资源管理器运行。webui-user.bat

CUDA 环境

默认stable-diffusion-webui运行使用的是 GPU 算力

检查自己的电脑配置是否符合要求

在Windows【开始】点鼠标右键,选择【任务管理器(T)】,在【性能】一栏选择【GPU】查看“专用GPU内存

我测试用电脑

我测试用的电脑是集成显卡,用 CPU算力,可以运行,但速度慢,建议采用N卡。

Nvidia 显卡(配置越高,绘图越快)A卡不行,A卡不行,A卡不行(CPU 算力跟 GPU 算力相比简直天差地别,虽然可以通过改参来实现,但有条件直接上N卡吧

注:如果没有 Nvidia 显卡,可以通过给stable-diffusion-webui指定运行参数--use-cpu sd,让其使用 CPU 算力运行,但是非常不建议你这么做,CPU 算力跟 GPU 算力相比简直天差地别,可能 GPU 只需要 10 秒就能绘制完成,而 CPU 却要 10 分钟,这不是开玩笑的。另外,如果你的显卡内存不多,建议 4G 的显卡加上--medvram启动参数,2G 的显卡加上--lowvram启动参数。

Windows用户编辑webui-user.bat文件,修改第六行:

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

如果是16系列显卡,出的图是黑色的话,也是修改webui-user.bat文件的第六行:

set COMMANDLINE_ARGS=--lowvram --precision full --no-half

CUDA 官方归档

CUDA Toolkit Archive | NVIDIA Developer​developer.nvidia.com/cuda-toolkit-archive

需要安装 CUDA 驱动,先确定一下电脑能安装的 CUDA 版本,桌面右下角->右键 NVIDIA 设置图标->NVIDIA 控制面板

电脑的显示是NVIDIA CUDA 11.6.134 driver,所以CUDA 版本不能超过 11.6

直接选择 "精简" 安装就可以了,安装完成之后,可以使用如下命令查看 CUDA 版本,来验证 CUDA 是否安装成功:

nvcc --version


安装Git

Git​git-scm.com/​编辑

检查自己电脑有没有安装Git:【Win+R】唤出【运行】,输入“cmd”,回车,在命令行里输入

git --version

git clone 支持https和git( 即ssh)二种方式下载源码

当使用git 下载时,如果没有配置过ssh key,则会有如下错误提示:

.....
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

git ssh key配置,以方便用git clone 方式下载 Stable diffusion源码。

【Win+R】唤出【运行】,输入“cmd”,回车,在命令行里输入

# 首先检查全局配置列表是否已经有配置
git config --global --list# 如果返回如下内容,则表示已配置好
user.name =****
user.email=***@***.**# 如果未配置,则执行如下命令
git config --global user.name "这里输入你的用户名"
git config --global user.email "这里输入你的邮箱"

git 生成SSH密钥

生成新的 SSH 密钥并将其添加到 ssh-agent - GitHub 文档​docs.github.com/zh/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

【Win+R】唤出【运行】,输入“cmd”,回车,在命令行里输入

ssh-keygen -t rsa -C "这里输入你的邮箱"

执行命令后需要进行3~4次确认:

  • 确认ssh key保存路径(如不需要改变路么可直接回车)
  • 确认是否需要覆盖保存路径下已有ssh key(可直接回车覆盖)
  • 创建密码(如不需要密码则直接回车)
  • 确认ssh key

在默认路径下会生成2 个文件:id_rsa、id_rsa.pub

添加 SSH 密钥到 GitHub 帐户

新增 SSH 密钥到 GitHub 帐户 - GitHub 文档​docs.github.com/zh/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

在任何页面的右上角,单击个人资料照片,然后单击“设置”。

选择SSH and GPG keys项:

然后用文本工具打开之前的id_rsa.pub文件,把内容copy到下面输入框,并命名区分不同主机,然后保存:


安装Python

Python Release Python 3.10.6​www.python.org/downloads/release/python-3106/​编辑

注意要勾选此选项,将python添加到系统环境变量PATH中


SD安装


目前大家普遍采用的 Stable Diffusion Web UI

开源 Github:

Home · AUTOMATIC1111/stable-diffusion-webui Wiki (github.com)​github.com/AUTOMATIC1111/stable-diffusion-webui/wiki

Stable Diffusion Web UI 是一个基于 Gradio 库的Stable Diffusion浏览器界面。

  • 在 NVidia GPU 上安装和运行
  • 在 AMD GPU 上安装和运行
  • 在 Apple Silicon 上安装和运行
  • 在英特尔芯片上安装和运行(外部 wiki 页面)
  • 通过容器(即 Docker)安装和运行
  • 通过在线服务运行

下载stable-diffusion-webui仓库

AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI (github.com)​github.com/AUTOMATIC1111/stable-diffusion-webui

【Win+R】唤出【运行】,输入“cmd”,回车,在命令行里输入

# 选择一个空间较大的硬盘,建议固态硬盘。假设为D盘
cd d:
d:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

下载好了会在上述路径下找到:


启动SD

  • 进入SD安装文件夹

  • 双击 webui-user.bat

首次运行会创建python虚拟环境、Installing torch and torchvision等依赖

  • 待其加载完成方可使用浏览器(Chrome/Edge)登录默认的加载IP http://127.0.0.1:7860/


界面汉化

dtlnor/stable-diffusion-webui-localization-zh_CN: Simplified Chinese translation extension for AUTOMATIC1111's stable diffusion webui (github.com)​github.com/dtlnor/stable-diffusion-webui-localization-zh_CN

Extension选项卡里面通过加载官方插件列表直接安装

  • 点击 Extension 选项卡,点击 Avaliable 子选项卡
  • 取消勾选localization,再把其他勾上,然后点击 橙色按钮,如下图

  • zh_CN Localization这一项的右边点击install

  • 重启webUI以确保扩展已经加载了
  • 在 Settings 选项卡,点击 页面右上角的 橙色Reload UI按钮 刷新扩展列表

  • Extensions选项卡,确定已勾选本扩展☑️;如未勾选,勾选后点击橙色按钮启用本扩展。

  • Settings选项卡中,找到User interface子选项

  • 然后去页面最底部(1.5版本起为页面最顶部),找到Localization (requires restart)小项,找到在下拉选单中选中zh_CN(如果没有就按一下 按钮),如图

  • 然后按一下 页面顶部左边的橙色Apply settings按钮保存设置,再按 右边的橙色Reload UI按钮重启webUI


  • 生效了~~~

开始使用

stable-diffusion-webui 的功能很多,主要有如下 2 个:

  • 文生图(text2img):根据提示词(Prompt)的描述生成相应的图片。
  • 图生图(img2img):将一张图片根据提示词(Prompt)描述的特点生成另一张新的图片。

1.stable diffusion安装包

随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。

最新 Stable Diffusion 除了有win多个版本,就算说底端的显卡也能玩了哦!此外还带来了Mac版本,仅支持macOS 12.3或更高版本

在这里插入图片描述

2.stable diffusion视频合集

我们在学习的时候,往往书籍源码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,一步步带你入坑stable diffusion,科学有趣才能更方便的学习下去。

在这里插入图片描述

3.stable diffusion模型下载

stable diffusion往往一开始使用时图片等无法达到理想的生成效果,这时则需要通过使用大量训练数据,调整模型的超参数(如学习率、训练轮数、模型大小等),可以使得模型更好地适应数据集,并生成更加真实、准确、高质量的图像。

在这里插入图片描述

4.stable diffusion提示词

提示词是构建由文本到图像模型解释和理解的单词的过程。可以把它理解为你告诉 AI 模型要画什么而需要说的语言,整个SD学习过程中都离不开这本提示词手册。

在这里插入图片描述

5.SD从0到落地实战演练

在这里插入图片描述

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名SD大神的正确特征了。

这份完整版的stable diffusion资料我已经打包好,需要的点击下方插件,即可前往免费领取!

 


http://www.ppmy.cn/embedded/42042.html

相关文章

Excel 每 N 列内容填成一行

Excel表格从第 2 列起,每 N 列为一组,以 N2 为例: ABCDEFG1IDType 1Count 1Type 2Count 2Type 3Count 321a640d290a32d12000a1900f600043f48000f3600e160054c46000e3100b120065e47000c3400d140076b64000b3600c1200 现在要进列转行&#xff…

python中字符串的 format() 方法

文章目录 前言1、位置参数2、索引参数3、命名参数3、格式化参数 前言 format() 是 Python 字符串对象的方法,用于将值插入到格式化字符串的占位符中。它是一种灵活和强大的字符串格式化工具。format() 方法可以在字符串中使用占位符 {},并通过传递参数将…

信息系统项目管理师——十大管理过程输入、工具和技术、输出(论文篇)二

六、项目风险管理 规划风险管理 在撰写关于“规划风险管理”的论文时,这个过程是项目风险管理的第一步,旨在建立风险管理的框架,为整个项目周期内的风险识别、分析、应对和监控奠定基础。以下是规划风险管理过程中可能涉及的输入、工具和技…

uniapp、web网页跨站数据交互及通讯

来来来,说说你的创作灵感!这就跟吃饭睡觉一样,饿了就找吃的,渴了就倒水张口灌。 最近一个多月实在是忙的没再更新日志,好多粉丝私信说之前的创作于他们而言非常有用!受益菲浅,这里非常感谢粉丝…

Android面试题之Kotlin的几种常见的类

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 初始化的顺序 主构造函数里声明的属性 类级别的属性赋值 init初始化块里的属性赋值和函数调用 次构造函数里的属性赋值和函数调用 延迟初始…

element 表格滚动条滑动,表格错位

解决办法(主要是根据滚动条的宽度决定的,可自行调整) 1、.el-table__header-wrapper { width: 99.3% !important; } 2、.el-table__header-wrapper { padding-right: 10px!important; }

R语言学习笔记

学习资料: 菜鸟教程:https://www.runoob.com/r/r-setup.html 1、查看 R 包的安装目录.libPaths() 查看已安装的包:library() search()函数可以输出当前加载的环境: 2、利用conda创建新的环境,并安装包(…

量子计算入门:原理与编程

量子计算是一种利用量子力学原理来执行计算的技术。与传统的经典计算机相比,量子计算机在处理某些特定类型的问题时,如整数分解、搜索算法和模拟量子物理过程等,可以显著提高速度。下面我们将简要介绍量子计算的基本原理和如何开始量子编程。…