大家好,我是阿钛老师。最近一直在整合和AI相关的一些资源,接下来我打算做stable diffusion(以后简称SD) 的系统课,目的是改善国内课程体系不完善的情况,这是现在的一个重中之重的问题,因为我发现网络上对于stable diffusion的相关课程都是各有千秋,但是又很难做到由点到线,由线及面的全方位的覆盖。对于高级一点的课程,我们只能通过阅读大量的国外的文章和教程一点点的去摸索,可能需要实验很多次才能达到理想的效果。对于入门一些的课程,网上资源虽然很多,但又过于零散,相对一些纯小白十分的不友好。很难不发现,至今仍有人再走我们走过的弯路,重复着我们的痛苦,比如基础教程中的软件安装到进阶教程中的dream booth模型训练。可以说,很多人是根本不懂电脑上的一些操作,更别说涉及到原理的什么AI算法、各种参数。只能盲人摸象在这个坑里越陷越深投入了大量的时间却得不到回报。
本教程首先通过最基本的软件的安装和使用,由浅入深的进行讲解,其次通过对模型的讲解,主要让大家了解必要的神经网络、SD模型炼制的基本原理。用最通俗易懂的语言帮助大家理解这些原理,从而高效的进行学习、研究。然后我还会讲解 dream booth、Lora、embedding的各种参数以及训练的方法。有些同学可能看到这些名词已经开始头疼了,看到这些晦涩难懂的名词甚至想要放弃了。阿钛老师在这里给大家打个预防针,既然大家决定来学这门课程,就一定要抱有必胜的信心。首先,涉及高等数学、线性代数、编程写代码的专业知识咱们不回去深入研究,其次不管你是学生、文职工作、美术相关专业、还是其他的不想关的专业、又或者那你是老板、投资人又不懂计算机,只要大家跟着我的这个课程一步一步的走,就一定能基本掌握其中的基本原理。给大家讲个亲身经历,我的弟弟是学体育专业、他看我一直在研究这个东西,就想跟我学,现在人家已经开始在教同学玩这个了。咱们以前经常开玩笑说人家数学不好就说,你数学是体育老师教的吧!可现在来看,体育老师不止会教数学哈。扯远了,扯远了。说这个主要想表达什么的就是说,咱们体育专业可以说跟这个AI绘画是没有什么太大的关系,你要非说有,那倒也能说出一些,咱们不去深究。既然咱们这么不相干的专业都能掌握这门技术,所以大家更应该充满信心去学习这门课程。
通过通俗易懂的语言和一系列相关的案例去讲解这些原理和参数,目的在于能够让大家快速的构建知识体系,确保绝大多数人不掉队都能赶上 A I 这趟快车,不会去深入研究专业的知识体系,所以大家不要纠结我讲的专业知识的深度太浅,如果想吐槽,那我也欢迎。
Stable Diffusion 是由 Comp Vis、Stability AI 和 LAION 共同开发的一个文本转图像模型,它通过 LAION-5B 子集大量的 512x512 图文模型进行训练,我们只要简单的输入一段文本,Stable Diffusion 就可以迅速将其转换为图像,它的特点是可以控制生成过程中的随机性和多样性,以及使用不同的采样器来优化生成效果。
起初Stable Diffusion被一个叫 Anlatan 的公司用在他们的NovelAI这个项目上。NovelAI是一个AI辅助小说创作平台,Stable Diffusion模型用于根据小说内容生成插图,是该公司的内部项目并未开源。但是该模型原始的机器学习训练数据来源与各个网络的免费资源,该公司却将其用于他们的付费服务,该行为一度引起争议。
2022年10月6日,NovelAI 发生了一起数据泄露,其服务源代码被泄露。泄露原因不明,传闻NovelAI服务器采用了弱密码,导致黑客攻击,模型数据被泄露。之后NovelAI被迫开源,逐渐在圈内火爆起来。
Stable Diffusion WebUI(Automatic1111) 是一个图形化界面,可以让我们方便地使用Stable Diffusion来进行文本到图像(txt2img)和图像到图像(img2img)的转换。它提供了丰富的功能和设置选项,例如:
文本反转:根据图像输入,生成描述该图像的文本输出
文本加权和负文本:通过在文本中添加括号或减号,来增加或减少对某些词语的关注度
图像编辑:可以使用遮罩和裁剪功能,来对图像进行局部修改或重绘
图像增强和放大:可以使用GFPGAN和realESRGAN等技术,来提升图像的清晰度和分辨率
生成预览:可以实时观察生成过程中的图像变化
提示矩阵:可以使用竖线分隔多个文本输入,来生成多个图像输出的组合
词语种子:可以使用词语代替数字作为种子,来控制生成结果的随机性
这些基于 Stable Diffusion封装的Web Ui 开源项目,可以通过界面交互的方式来使用 Stable Diffusion。当然,国内也有很多大佬封装了很便利的傻瓜式整合包比如:秋叶一键整合包、星空一键整合包等......极大的降低了使用门槛。本文将以秋叶一键整合包为例进行教学讲解,带您逐步去了解AI绘画。
Stable Diffusion简单应用示例:(TxT2Img)
Prompt:
In a cyberpunk city, a police car is on the street, raining, light effect, Simon Stalenhag, Ian McQue, Ghibli Studio, Beeple, Kaino University
在一个赛博朋克城市中,一辆警车在街上行驶,下着雨,灯光效果非常炫酷。这个场景可能是由Simon Stalenhag、Ian McQue、吉卜力工作室、Beeple或Kaino大学等艺术家或机构创作的。
Prompt:
Glowing crystals in the depths of the black valley, Simon Stalenhag, Ian McQue, Ghibli Studio, Beeple, Kaino University, high-definition picture, unreal engine
黑暗峡谷深处闪耀着晶莹剔透的水晶,这个场景可能是由Simon Stalenhag、Ian McQue、吉卜力工作室、Beeple或Kaino大学等艺术家或机构创作的。这幅高清晰度的图片可能是使用虚幻引擎制作的。
Prompt:
A silver mech horse running in a dark valley, in the night, Beeple, Kaino University, high-definition picture, unreal engine, cyberpunk.
一匹银色机械马在黑暗的峡谷中奔跑,夜晚里闪耀着光芒。这个场景可能是由Beeple或Kaino大学等艺术家或机构创作的。这幅高清晰度的图片可能是使用虚幻引擎制作的,属于赛博朋克风格。
维基百科中的解释是:“Stable Diffusion由3个部分组成:变分自编码器(VAE)、U-Net和一个文本编码器。与其学习去噪图像数据(在“像素空间”中),而是训练VAE将图像转换为低维潜在空间潜在空间。添加和去除高斯噪声的过程被应用于这个潜在表示,然后将最终的去噪输出解码到像素空间中。在前向扩散过程中,高斯噪声被迭代地应用于压缩的潜在表征。每个去噪步骤都由一个包含残差神经网络(ResNet)中坚的U-Net架构完成,通过从前向扩散往反方向去噪而获得潜在表征。最后,VAE解码器通过将表征转换回像素空间来生成输出图像。”
1、本地部署
2、云端部署
Stable Diffusion是一个开源项目,完全免费,如今可以实现本地部署,在个人电脑上运行Stable Diffusion 。
虽然在本地运行的门槛虽然降低了很多,但是本地部署对电脑的配置是有一些要求的,接下来就讲一讲如何判断自己的电脑能不能使用SD web ui 。
(1)、首先在---任务栏,点击---鼠标右键,点击打开---任务管理器
(2)、打开任务管理器后,点击顶部菜单栏中的---性能,打开性能界面
(3)、点击下方 GPU 一栏。
第一步:查看这个位置的名字是否为 NVIDIA 开头,也就是我们所说的N卡、英伟达显卡,如果是AMD的显卡的话,那你使用SD 可能有些困难,建议您更换英伟达显卡的电脑或设备。
第二步:查看这一栏专用GPU内存中的两个数字,图中为 3.6/24.0GB 如果 后面一个数字最小值建议大于等于4,如果低于4, 那么您的设备可能运行SD会非常的困难。流畅使用,没有训练模型的需求,建议8GB。如需升级建议 你找专业人士升级配置。
(4)、点击内存这一栏;
第一步:点击内存栏
第二步:查看这个位置的数值大小,最小值建议为8GB,流畅使用建议32GB,如果小于8建议你找专业人士升级配置。
(5)、查看自己显卡在SD绘图中的性能可以参考下图(以下统计数据由国外大神测试制作,仅为Windows系统下测试结果,理论上Linux系统性能更优,但考虑到大多数同学的操作系统为windows,所以不对Linux下的SD作介绍)
各型号显卡出图能力参考表
原文链接:https://docs.getgrist.com/3mjouqRSdkBY/sdperformance/p/1
(6)、最后避免后期的一些兼容性问题建议您使用windows10、windows11系统以获得稳定的使用效果。(需要重装系统请私信)
运行环境配置简单来说就是设置SD软件所需要得环境,打个比方,淡水鱼需要用淡水养殖才合适;而海水鱼则需要用海水养殖最为合适。那么对于计算机来说,软件就是鱼,运行环境就是水,用合适得水养合适的鱼,鱼也就能正常生长发育,同理安装了合适的运行环境的计算机,也能够让软件流畅的运行。那么,我们该如何检查或安装这个运行环境到我们的电脑呢?
打开下面网盘链接,下载网盘中的“00.Stable Diffusion整合包”
网盘百度网盘https://pan.baidu.com/s/1Zi5M0MFT2kJ9rcDPreE8_Q?pwd=8888
提取码:8888123云盘
1.下载完后打开下载文件的文件夹,找到.环境搭建.rar——右键点击——1.环境搭建.rar——点击解压到1.环境搭建——等待解压完成。
2.解压完成后文件夹内会出现一个1.环境搭建文件夹,点击打开——1.环境搭建文件夹——获得三个安装包
(2)安装python
双击1-python-3.10.6-amd64.exe——点击打开第一个安装包——开始安装python
如果出现以下界面代表已经安装过python,请查看第一部位置的前两个数字是否为3.10,如果不是,建议执行第二步,点击Uninstall卸载当前版本。如果是3.10.xx版本则关闭此窗口。
2.如果是第一次安装,则会显示以下界面。点击下方两个方框——勾选Use admin privileges when installing py.exe和Add python.exe to PATH两个选项——然后点击——Customize installation
3.进入可选功能设置Optional Features——防止出现问题建议勾选所有选项——点击Next到下一步
4.高级选项设置Advanced Options——按图中提示勾选相应的
选项后——点击install
5.开始安装——出现进度条——安装完成后出现Setup was successful——点击Close关闭页面——python安装完成
(3)安装git
双击2-Git-2.39.2-64-bit.exe——打开Git安装包——一直点击Next——直到出现install按钮——点击install——开始安装git——等待安装完成后——点击Finish——关闭页面——GIT安装完成
(4)安装CUDA
按键盘的win+r按键(如图所示)——弹出运行窗口
在弹出的运行窗口内输入cmd——点击确认——弹出一个控制台窗口——输入nvidia-smi——按键盘Enter键
出现如下界面后——如图查看这个位置显示的数字——我的是12.1,代表我可以安装的CUDA的最高版本是12.1
复制链接https://developer.nvidia.com/cuda-toolkit-archive到浏览器,推荐用edge浏览器——打开链接(如图)——这里按上一步的提示,我选择的是11.8的版本——点击方框内区域到下一步
如图根据自己的系统选择——1选择电脑系统(一般选windows)——2默认选择x86_64——3选择电脑系统版本(根据自己的系统版本选择,我是win10就点第一个10)——4选择exe(local)——5点击Download开始下载CUDA安装包
下载完成后,找到下载的安装包打开——点击ok按钮
弹出NVIDIA安装程序——检查系统兼容性
没问题后会弹出许可协议——直接点击同意并继续
弹出的安装选项,选择自定义,点击下一步
把CUDA选一下,然后一直点击下一步,直到安装完成。
(5)安装VS Code
点击打开文件夹内的第三个安装包3-VSCodeUserSetup-x64-1.68.1.exe——点击我同意此协议——点击下一步
按图中勾选相应选项——点击下一步
点击安装——等待安装完成后关闭窗口
至此前置运行环境安装完成下面开始安装SD本体软件。
回到从网盘下载的两个压缩包的位置——右键点击第二个压缩包2.绘画文件.rar——点击解压到2.绘画文件.——得到2.绘画文件文件夹
(a)安装启动器运行依赖
点击打开2.绘画文件文件夹——双击打开启动器运行依赖-dotnet-6.0.11.exe——安装启动器运行的环境
点击下方安装按钮会自动安装,无需其他操作
显示安装成功后点击下方关闭按钮
(b)解压SD本体文件
找到刚才的2.绘画文件文件夹——点击打开
点击打开novelai-webui文件夹
右键点击novelai-webui-aki-v3.rar压缩文件——带年纪解压到novelai-webui-aki-v3——获得novelai-webui-aki-v3文件夹——记住这个文件夹的位置
(c)解压sd-webui启动器文件
找到刚才的2.绘画文件文件夹——点击打开
点击sd-webui启动器文件夹
右键点击sd-webui启动器.zip压缩文件——点击解压到sd-webui启动器——获得sd-webui启动器文件夹
打开sd-webui启动器文件夹——右键点击A启动器.exe文件——点击复制
打开刚才SD本体文件夹novelai-webui-aki-v3文件夹——在空白处右键点击一下——点击粘贴
点击替换目标中的文件
(d)签署协议
点击打开文件夹内的A用户协议.txt文件——在最后一行的地方按要求填写我已阅读并同意用户协议——注意开头和末尾不要有空格空行——填写完后点击右上角关闭——提示是否保存——点击保存
至此,关于SD的运行环境和本体软件都安装完成了。接下来点击打开A启动器打开软件开始使用。
双击A启动器文件启动SD启动器
张小枫聊设计 2023-05-15