VIP部落 http://down.vvipblog.com 编程技术,购物天堂,淘客圣地,教培基地,资源下载 Tue, 17 Dec 2024 16:33:01 +0000 zh-CN hourly 1 https://wordpress.org/?v=5.4.2 AI去衣脱衣软件SelfieU版本,最新版本 http://down.vvipblog.com/ai/aipainting/6537.html http://down.vvipblog.com/ai/aipainting/6537.html#respond Tue, 17 Dec 2024 15:52:34 +0000 http://down.vvipblog.com/?p=6537 Selfieu模块AI重绘可以去衣。一次可以生成四张,可以高清导出,但是去衣效果一般,感觉不行调一下想象值多重新生成几次。关键词nude girl,big breast


第一步先点击AI实验室


下拉找到AI重绘

选择一张照片,他会自动识别衣服,如果选择不对自己删除或者添加
添加上关键词开始点击制作



下面是楼主自己生成的两张图,想要效果更好的话自己多重绘几次


容易遇到的问题,多次后点击制作不好使了一直加载,退出软件清理下数据重新进就能继续生成了。

话不多说直接上链接
请用于合法用途。

为了APP能有一个合法的用途,稍微设一个门槛,收费9.9元。

 

]]>
http://down.vvipblog.com/ai/aipainting/6537.html/feed 0
【AI换脸】一键换脸 FaceFusion 3.0.1 N卡版 修复3.0bug 本地一键整合包下载 http://down.vvipblog.com/ai/aifacefusion/6534.html http://down.vvipblog.com/ai/aifacefusion/6534.html#respond Mon, 16 Dec 2024 16:03:57 +0000 http://down.vvipblog.com/?p=6534

今天分享的是FaceFusion最新的3.0.1版本,主要修复了大量3.0版本的bug,之前遇到的问题,这个版本基本都解决了,FaceFusion3 全新架构,全新模型,更优秀的人脸检测等等

FaceFusion 傻瓜一键换脸软件三剑客之一,他的老大哥是家喻户晓的Roop,二哥Rope

同样由Roop衍生而来,集成WebUI,操作更简单。提供更多可控的参数调节,可玩性更高,新版最大的功能就是优化了侧脸换脸效果。
FaceFusion还支持直播实时换脸。

新版的FaceFusion 支持五官选择性替换,比如只替换眼镜、嘴巴、或者鼻子等。也可选择性替换和保留
支持一键创建数字人,可以上传一段音频实现对口型,使用的是wav2lip技术.
最新的3.0支持更多新增功能,比如人脸编辑、年龄修改、新的人脸检测和换脸模型等。

相较其他类似傻瓜软件,FaceFusion也是一直在更新,人脸识别也是同类做的最好的,侧脸效果和Rope一样,现在也优化的很不错了。
具体效果可自行体验。

3.0.1更新日志:
修复bug,3.0版的bug修复;
如使用3.0有各种未知问题,请更新此版

3.0更新日志:
改造一切都是工作的架构
将像素增强引入面部交换器
为人脸检测器添加多角度处理
引入年龄修饰符处理器
推出由 Live Portrait 提供支持的表情还原处理器
推出由 Live Portrait 提供支持的人脸编辑器处理器
将人脸解析器替换为 resnet_34 模型
发布 GHOST 换脸器模型
real_esrgan_x8模型的释帧增强器
引入 SimSwap 和 GHOST 的 ArcFace 转换器模型
引入基于本地哈希验证的离线优先资产
用卓越的 Fairface 模型替换 gender_age
将顺序、年龄和性别传输到面孔选择器
支持 CUDA 12.4、TensorRT 10.4、OpenVino 2024.1 和 ROCm 6.2
在无头模式下提供适当的错误代码
将 CLI 迁移到命令以及相关参数
引入定制的 peppa_wutz Face 地标模型
引入 –face-landmark-model 参数
引入 –output-audio-encoder 参数
添加视频编码器h264_videotoolbox和hevc_videotoolbox
将 –face-selector-order 默认值更改为 large-small
将 globals 替换为上下文感知推理管理器
调整 UI 布局和视觉外观
更新到最新的 Gradio 4
提供多范围滑块以修剪视频帧
在 UI 中引入日志级别感知终端组件
确保更准确的基准测试结果
由于精度低,丢弃人脸检测器模型 yunet
修复换脸器单面模型中的闪烁
修复 ROCm 和 DirectML 的线程和预览崩溃
修复 webp 图像的图像质量
修复 ffmpeg 处理终止的问题

下载地址:(下载前,请先阅读 使用说明 再下载,避免不必要的问题和纠纷)
因为3.0改动较大,所以本次升级只提供完整包。包含一键包和模型包两个部分,先下载一键包,解压出来,再下载模型包,放到一键包根目录,解压到当前文件夹即可。
已支持tensorrt,tensorrt显存占用更低。如果tensorrt模式报错,也可以可以用cuda处理

夸克网盘:
一键包下载:

模型包下载: https://pan.baidu.com/s/1zy90_5hYah5QRvxjZnz28g?pwd=wpat 提取码: wpat

]]>
http://down.vvipblog.com/ai/aifacefusion/6534.html/feed 0
FaceFusion3.7.0黄金版本(N卡专用)支持批量视频换脸整合包下载地址 http://down.vvipblog.com/software/pcsoft/6527.html http://down.vvipblog.com/software/pcsoft/6527.html#respond Mon, 16 Dec 2024 13:38:10 +0000 http://down.vvipblog.com/?p=6527 FaceFusion换脸工具3.7.0黄金版本换脸工具整合包此版本是最新版本,无需配置任何环境,解压即用,本地版本,无需联网也可使用,一次下载,永久免费使用
FaceFusion软件功能:图片换脸视频换脸,人脸编辑,数字人对口型视频批量换脸老旧照片视频修复上色,此版本侧脸效果大幅度优化提高
无需配置任何环境,解压即用,本地版本,无需联网也可使用,一次下载,永久免费使用
电脑要求:
1、软件解压就能用,任何电脑都可用,推荐英伟达显卡4G以上下载没显卡也能用,也支持cpu版本
2、系统要求:win10、win11
容易出错的地方

软件路径不要包含中文
图片和视频文件名称和路径也不要包含中文
计算机系统用户名不要是中文
FaceFusion 3.7.0版本如图:

● 整合版更新
○ 彻底解除NSFW限制
○ 本地离线版本,无需联网也可使用
○ 中文汉化
○ 更新最新版依赖组件
○ 优化隔离环境

○ 修改缓存目录为当前文件夹temp避免替换长视频C盘占满
FaceFusion(2024.10.02)更新日志
代码优化
FaceFusion3.7.0(2024.09.21)更新日志
引入像素增强功能到换脸模块
为人脸检测器加入多角度处理
引入年龄修改处理器
引入由Live Portrait驱动的表情恢复处理器
引入由Live Portrait驱动的脸部编辑处理器
用resnet_34模型替代现有的人脸解析器
发布GHOST换脸模型
发布帧增强模型real_esrgan_x8
为SimSwap和GHOST引入ArcFace转换模型
引入基于本地哈希验证的离线优先资源管理
用更先进的fairface模型替换现有的性别和年龄模型
将顺序、年龄和性别转移到人脸选择器
支持CUDA 12.4、TensorRT 10.4、OpenVino 2024.1和ROCm 6.2
在无头模式下提供合适的错误代码
将CLI迁移到命令行模式,支持相关参数
引入定制的peppa_wutz人脸标志点模型
引入–face-landmark-model参数
引入–output-audio-encoder参数
添加视频编码器h264_videotoolbox和hevc_videotoolbox
将–face-selector-order参数的默认值改为large-small
用上下文感知的推理管理器替换全局变量
调整UI布局和视觉外观
升级到最新的Gradio 4
提供一个多范围滑块用于剪辑视频帧
为UI引入一个日志级别感知的终端组件
确保更精确的基准测试结果
由于精度低,移除yunet人脸检测模型
修复uniface换脸模型中的闪烁问题
修复ROCm和DirectML线程和预览崩溃问题
提升webp图像质量
修复ffmpeg处理终止问题

FaceFusion3.6.0(2024.05.20)更新日志
添加帧增强器模型 modelclear_reality_x4 和 ultra_sharp_x4
通过参数ini–config加载不同文件
添加程序准备就绪后打开浏览器的功能 –open-browser
添加选择处理设备参数  –execution-device-id
使用 OpenVINO 执行提供程序支持 Intel Arc显卡
禁止 Gradio 上传超过 512 MB 大小的视频
修复 Windows 下与特殊字符相关的路径问题
修复使用临时文件最终处理图像时的问题

●下载声明
软件只要下载到您手上,就可以永久使用。

重要说明:软件压缩包中自带一个miyao.txt密钥文件,切勿把软件发送他人使用,两台电脑同时使用密钥,密钥会自动失效
软件不绑定电脑,但是不要两台电脑同时使用

]]>
http://down.vvipblog.com/software/pcsoft/6527.html/feed 0
一键生成高清短视频:MoneyPrinterTurbo 本地一键包 http://down.vvipblog.com/ai/aipainting/6524.html http://down.vvipblog.com/ai/aipainting/6524.html#respond Sat, 30 Nov 2024 06:59:13 +0000 http://down.vvipblog.com/?p=6524

MoneyPrinterTurbo是一个强大的开源项目,只需提供一个视频主题或关键词,即可全自动生成视频文案、视频素材、视频字幕、视频背景音乐,并合成一个高清的短视频。自媒体必备神器!

MoneyPrinterTurbo是一个由 harry0703 创造的开源项目,它可以让你轻松地生成短视频。
项目地址:https://github.com/harry0703/MoneyPrinterTurbo


只需要输入一个视频主题或关键词,它就可以自动为你生成视频文案、视频素材、视频字幕、视频背景音乐,并将这些元素合成为一个高清的短视频。这个项目的目标是让视频创作变得更加轻松、快捷。


项目采用MVC架构,代码结构清晰,便于维护,同时支持API和Web界面。它有很多功能特性,包括支持视频文案AI自动生成,也可以自定义文案,支持多种高清视频尺寸,支持批量视频生成,支持视频片段时长设置,支持中英文视频文案,支持多种语音合成,支持字幕生成,支持背景音乐设置,且视频素材来源高清且无版权,最后也支持OpenAI、moonshot、Azure、gpt4free、one-api、通义千问等多种模型接入。


主要功能
视频生成
AI自动生成视频文案,也可以自定义文案
支持多种高清视频尺寸,包括竖屏9:16,1080×1920和横屏16:9,1920×1080
支持批量视频生成,可以一次生成多个视频,然后选择一个最满意的
支持视频片段时长设置,方便调节素材切换频率
支持中英文视频文案
支持多种语音合成
支持字幕生成,可以调整字体、位置、颜色、大小,同时支持字幕描边设置
支持背景音乐,随机或者指定音乐文件,可设置背景音乐音量
视频素材来源高清且无版权

模型接入
支持OpenAI、moonshot、Azure、gpt4free、one-api、通义千问等多种模型接入

后期计划
GPT-SoVITS 配音支持
优化语音合成,利用大模型,使其合成的声音,更加自然,情绪更加丰富
增加视频转场效果,使其看起来更加的流畅
优化视频素材的匹配度
OLLAMA 支持
总的来说,MoneyPrinterTurbo是一款功能强大、易于使用、免费开源的短视频制作工具。无论你是个人还是团队,都可以使用它来帮助你更高效地制作短视频。

下载一键启动包,解压直接使用 (需要开启魔法)

载后,建议先双击执行 update.bat 更新到最新代码,然后双击 start.bat 启动Web界面


下载地址:
夸克网盘:https://pan.quark.cn/s/627b97140464
百度网盘:https://pan.baidu.com/s/1ojdIUOd-lqJB3ZYnK8ugqQ?pwd=mytw

 

 

 

]]>
http://down.vvipblog.com/ai/aipainting/6524.html/feed 0
FaceFusion3.7.0黄金版本(AMD、Intel显卡通用10月02更新)支持批量视频换脸 http://down.vvipblog.com/software/pcsoft/6514.html http://down.vvipblog.com/software/pcsoft/6514.html#respond Tue, 22 Oct 2024 06:46:01 +0000 http://down.vvipblog.com/?p=6514 FaceFusion换脸工具3.7.0黄金版本换脸工具整合包此版本是最新版本,无需配置任何环境,解压即用,本地版本,无需联网也可使用,一次下载,永久免费使用
FaceFusion软件功能:图片换脸视频换脸,视频批量换脸人脸编辑,数字人对口型老旧照片视频修复上色,此版本侧脸效果大幅度优化提高
此版本支持AMD显卡和Intel显卡,凡是支持directx 12 的AMD或Intel显卡(包括集成显卡)都可以使用此版本换脸工具,使用的是显卡运算,速度很快,此版本同时支持没有独立显卡的电脑
目前测试AMD rx550及其以上的显卡都可以用显卡GPU正常运行AMD显卡4G及其以上的都可以用,Intel独立显卡推荐8G及其以上,A卡和I卡的福音
电脑要求:
1、软件解压就能用,任何电脑都可用,推荐AMD独立显卡4G以上或英特尔独立显卡8G以上下载没显卡也能用,也支持cpu版本
2、系统要求:win10、win11
容易出错的地方

软件路径不要包含中文
图片和视频文件名称和路径也不要包含中文
计算机系统用户名不要是中文
● 整合版更新
○ 彻底解除NSFW限制
○ 本地离线版本,无需联网也可使用
○ 中文汉化
○ 更新最新版依赖组件
○ 优化隔离环境

○ 修改缓存目录为当前文件夹temp避免替换长视频C盘占满

FaceFusion 3.7.0版本如图:


FaceFusion(2024.10.02)更新日志
代码优化
FaceFusion3.7.0(2024.09.21)更新日志
引入像素增强功能到换脸模块
为人脸检测器加入多角度处理
引入年龄修改处理器
引入由Live Portrait驱动的表情恢复处理器
引入由Live Portrait驱动的脸部编辑处理器
用resnet_34模型替代现有的人脸解析器
发布GHOST换脸模型
发布帧增强模型real_esrgan_x8
为SimSwap和GHOST引入ArcFace转换模型
引入基于本地哈希验证的离线优先资源管理
用更先进的fairface模型替换现有的性别和年龄模型
将顺序、年龄和性别转移到人脸选择器
支持CUDA 12.4、TensorRT 10.4、OpenVino 2024.1和ROCm 6.2
在无头模式下提供合适的错误代码
将CLI迁移到命令行模式,支持相关参数
引入定制的peppa_wutz人脸标志点模型
引入–face-landmark-model参数
引入–output-audio-encoder参数
添加视频编码器h264_videotoolbox和hevc_videotoolbox
将–face-selector-order参数的默认值改为large-small
用上下文感知的推理管理器替换全局变量
调整UI布局和视觉外观
升级到最新的Gradio 4
提供一个多范围滑块用于剪辑视频帧
为UI引入一个日志级别感知的终端组件
确保更精确的基准测试结果
由于精度低,移除yunet人脸检测模型
修复uniface换脸模型中的闪烁问题
修复ROCm和DirectML线程和预览崩溃问题
提升webp图像质量
修复ffmpeg处理终止问题

FaceFusion3.6.0(2024.05.20)更新日志
添加帧增强器模型 modelclear_reality_x4 和 ultra_sharp_x4
通过参数ini–config加载不同文件
添加程序准备就绪后打开浏览器的功能 –open-browser
添加选择处理设备参数  –execution-device-id
使用 OpenVINO 执行提供程序支持 Intel Arc显卡
禁止 Gradio 上传超过 512 MB 大小的视频
修复 Windows 下与特殊字符相关的路径问题
修复使用临时文件最终处理图像时的问题

解压密码: www.aibl.vip

●下载声明
软件只要下载到您手上,就可以永久使用。

]]>
http://down.vvipblog.com/software/pcsoft/6514.html/feed 0
sd教程:电脑本地安装3步轻松搞定,小白看完也能学会 http://down.vvipblog.com/ai/aipainting/6480.html http://down.vvipblog.com/ai/aipainting/6480.html#respond Mon, 10 Jun 2024 08:45:11 +0000 http://down.vvipblog.com/?p=6480

SD做出来的小姐姐太美了,昨天网友私信我,买了新电脑,Stable Diffusion webui就是装不好,好吧好吧,今天就来教大家快速安装SD,一起愉快的制作小姐姐。首先说明一下,SD对电脑要求很高,最好是N卡,显存至少4G,内存8G以上,如果你的电脑是入门级的上网本,或者是amd显卡,也不要着急,我有别的方式让你用上SD。具体私信联系我。


 

对于新人来说,最简单最常用的应该是Windows系统,这里就介绍windows系统下如何安装,安装之前先把你的显卡驱动升级到最新,第一步下载python3.10版。这是sd必须依赖的执行程序。


 


 

安装就直接默认就可以了,第二步安装这程序也直接默认安装就好了。上面两个程序都是SD运行必须使用的依赖环境。

第三步,在你准备安装SD的目录,以管理员身份打开CMD命令行工具,这里有个小技巧,直接在文件地址栏全选目录,输入CMD就打开了。打开后使用GT远程下载SD的安装包,这个命令我放在下面了,

git clone https:http://ghproxy.com/https:http://github.com/AUTOMATIC1111/stable-diffusion-webui

网络可能不好,有时网络出错,Ctrl+z退出 重复操作

https:http://ghproxy.com/是一个加速git网站地址。

需要的小伙伴直接复制一下就好了。安装包有2G多,如果你网络不好,可能需要等十分钟左右才可以完全执行完命令。


 


 

恭喜你,SD已经安装完90%了。最后一步也很简单,打开你的SD安装包,直接点击web user这个批处理命令,命令会自动运行,第一次点击它会自动下载一些SD需要的程序,这个过程如果网速好的话,可能20分钟就可以了。


 


 

在安装中间可能会出一些小问题,比如豆豆的SD就提示我的G不是最新的,让我升级到最新好的。经过漫长的等待,SD会给你一个网址,你把这个网址复制到你的浏览器,激动人心的时刻终于来到了,我们随便输入一些关键词,下面就是见证奇迹的时刻。


 


 


 

 

]]>
http://down.vvipblog.com/ai/aipainting/6480.html/feed 0
sd教程:LoRA、TI、dreambooth、Hypernetworks四大模型区别 http://down.vvipblog.com/ai/aipainting/6478.html http://down.vvipblog.com/ai/aipainting/6478.html#respond Mon, 10 Jun 2024 08:42:56 +0000 http://down.vvipblog.com/?p=6478

玩StableDiffusion的朋友,第一个难关应该是软件的本地安装了,

因为它对电脑硬件有一定要求,还需要安装各种各样的依赖环境。

新人很容易不知所措。

如果你还没有安装好sd,可以参考我下面的教程:

sd教程:电脑本地安装3步轻松搞定,小白看完也能学会

安装好了,就该装模型文件了,sd的模型这么多,而且动不动就是几个g,新人到底应该如何选择呢?

下面我结合我的经验给新人一些推荐,希望可以帮助到大家。

首先把模型切换出来,如下图请点击橙色生成按钮下第三个图标,就可以切换出这4类模型。


 


 

sd里面的模型大体上有下面4种:

check point模型

也就是sd所谓的大模型,或者说基础模型,比如sd-v1.5.ckpt,sd官方自带的基础模型。这类模型都是由dreambooth技术,经过大量数据训练,可以生成各类常见元素的图片,算是一个全能工具。因此不可缺少,至少有一个,不然sd不能启动。这类模型要放在models\stable diffusion文件夹内。通过右上角的选择框进行切换。如下图


 

小知识:所有的check point模型,都有搭配的vae文件,vae的作用是增强模型的色彩、光照等表现效果,相当于给模型加了美颜滤镜。所以如果你发现你的模型做的图发灰,检查一下vae文件是否勾选。

embeddings模型

字面意思是文字嵌入,这类模型是通过Textual Inversion (TI)#纹理反转的方法,在check point模型的基础上训练来的,特点是文件格式是pt,体积一般只有几十kb,特别小。下载的这类模型,要放到\embeddings文件夹内。

这类模型使用时要在prompt中,添加模型名字。模型的功能是可以生成特定人物类型或风格的图片,比如一款叫Pure Eros.pt的模型,可以让生成的人物都是一副纯欲脸的样子。


 

flower_style.pt这个模型,可以给生成的画面,添加很多随机的花朵。


 

hypernetworks模型

超级网格模型,和上面的类似,也是pt格式,文件一般100m左右,由于lora模型现在更受到欢迎,这类模型使用的人很少。下载的模型要放到models\hypernetworks文件夹内。

lora模型

这种模型格式是safetensors,放到models\lora文件夹内。这类模型容易训练,对电脑配置要求低,文件安全,现在使用的人很多。使用时,需要把模型名字放入prompt内,一般格式是<lora:name : 权重系数>,比如<lora:cuteGirlMix4_v10_T_mix4:0.35>,注意权重一般在0-1之间,根据实际需要灵活调整。可以多个lora模型一起使用,一般权重加起来不超过1.


 

总体上来看,check point模型、embeddings模型、lora模型都很受欢迎,hypernetworks模型有慢慢被淘汰的趋势。


 

这四类模型,哪些适合新人朋友?哪些好用?我想生成妹子,该用什么模型?下面几期我会详细介绍。

 

]]>
http://down.vvipblog.com/ai/aipainting/6478.html/feed 0
全网最全stable diffusion模型讲解!快来!!小白必收藏!! http://down.vvipblog.com/ai/aipainting/6431.html http://down.vvipblog.com/ai/aipainting/6431.html#respond Sun, 09 Jun 2024 16:31:57 +0000 http://down.vvipblog.com/?p=6431
手把手教你入门绘图超强的AI绘画程序Stable Diffusion,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新Stable Diffusion保姆级教程资料包(文末可获取)

AI模型最新展现出的图像生成能力远远超出人们的预期,直接根据文字描述就能创造出具有惊人视觉效果的图像,其背后的运行机制显得十分神秘与神奇,但确实影响了人类创造艺术的方式。

AI模型最新展现出的图像生成能力远远超出人们的预期,直接根据文字描述就能创造出具有惊人视觉效果的图像,其背后的运行机制显得十分神秘与神奇,但确实影响了人类创造艺术的方式。

Stable Diffusion的发布是AI图像生成发展过程中的一个里程碑,相当于给大众提供了一个可用的高性能模型,不仅生成的图像质量非常高,运行速度快,并且有资源和内存的要求也较低。

相信只要试过AI图像生成的人都会想了解它到底是如何工作的,这篇文章就将为你揭开Stable Diffusion工作原理的神秘面纱。
在这里插入图片描述

Stable Diffusion从功能上来说主要包括两方面:

1)其核心功能为仅根据文本提示作为输入来生成的图像(text2img);
2)你也可以用它对图像根据文字描述进行修改(即输入为文本+图像)。

在这里插入图片描述

下面将使用图示来辅助解释Stable Diffusion的组件,它们之间如何交互,以及图像生成选项及参数的含义。

Stable Diffusion组件

Stable Diffusion是一个由多个组件和模型组成的系统,而非单一的模型。

当我们从模型整体的角度向模型内部观察时,可以发现,其包含一个文本理解组件用于将文本信息翻译成数字表示(numeric representation),以捕捉文本中的语义信息。
在这里插入图片描述

虽然目前还是从宏观角度分析模型,后面才有更多的模型细节,但我们也可以大致推测这个文本编码器是一个特殊的Transformer语言模型(具体来说是CLIP模型的文本编码器)。

模型的输入为一个文本字符串,输出为一个数字列表,用来表征文本中的每个单词/token,即将每个token转换为一个向量。

然后这些信息会被提交到图像生成器(image generator)中,它的内部也包含多个组件。
在这里插入图片描述

图像生成器主要包括两个阶段:

1. Image information creator
这个组件是Stable Diffusion的独家秘方,相比之前的模型,它的很多性能增益都是在这里实现的。

该组件运行多个steps来生成图像信息,其中steps也是Stable Diffusion接口和库中的参数,通常默认为50或100。
在这里插入图片描述

图像信息创建器完全在图像信息空间(或潜空间)中运行,这一特性使得它比其他在像素空间工作的Diffusion模型运行得更快;从技术上来看,该组件由一个UNet神经网络和一个调度(scheduling)算法组成。

扩散(diffusion)这个词描述了在该组件内部运行期间发生的事情,即对信息进行一步步地处理,并最终由下一个组件(图像解码器)生成高质量的图像。

2. 图像解码器

图像解码器根据从图像信息创建器中获取的信息画出一幅画,整个过程只运行一次即可生成最终的像素图像。
在这里插入图片描述

可以看到,Stable Diffusion总共包含三个主要的组件,其中每个组件都拥有一个独立的神经网络:

1)Clip Text用于文本编码。

输入:文本

输出:77个token嵌入向量,其中每个向量包含768个维度

2)UNet + Scheduler在信息(潜)空间中逐步处理/扩散信息。

输入:文本嵌入和一个由噪声组成的初始多维数组(结构化的数字列表,也叫张量tensor)。

输出:一个经过处理的信息阵列

3)自编码解码器(Autoencoder Decoder),使用处理过的信息矩阵绘制最终图像的解码器。

输入:处理过的信息矩阵,维度为(4, 64, 64)

输出:结果图像,各维度为(3,512,512),即(红/绿/蓝,宽,高)
在这里插入图片描述

什么是Diffusion?

扩散是在下图中粉红色的图像信息创建器组件中发生的过程,过程中包含表征输入文本的token嵌入,和随机的初始图像信息矩阵(也称之为latents),该过程会还需要用到图像解码器来绘制最终图像的信息矩阵。
在这里插入图片描述

整个运行过程是step by step的,每一步都会增加更多的相关信息。

为了更直观地感受整个过程,可以中途查看随机latents矩阵,并观察它是如何转化为视觉噪声的,其中视觉检查(visual inspection)是通过图像解码器进行的。
在这里插入图片描述

整个diffusion过程包含多个steps,其中每个step都是基于输入的latents矩阵进行操作,并生成另一个latents矩阵以更好地贴合「输入的文本」和从模型图像集中获取的「视觉信息」。
在这里插入图片描述

将这些latents可视化可以看到这些信息是如何在每个step中相加的。
在这里插入图片描述

整个过程就是从无到有,看起来相当激动人心。

步骤2和4之间的过程转变看起来特别有趣,就好像图片的轮廓是从噪声中出现的。

Diffusion的工作原理

扩散模型是一种生成模型,用于生成与训练数据相似的数据。简单的说,扩散模型的工作方式是通过迭代添加高斯噪声来“破坏”训练数据,然后学习如何消除噪声来恢复数据。

一个标准扩散模型有两个主要过程:正向扩散和反向扩散。

在正向扩散阶段,通过逐渐引入噪声来破坏图像,直到图像变成完全随机的噪声。

在反向扩散阶段,使用一系列马尔可夫链逐步去除预测噪声,从高斯噪声中恢复数据。
在这里插入图片描述

通过缓慢添加(去除)噪声来生成样本的正向(反向)扩散过程的马尔可夫链(图片来源: Jonathan Ho, Ajay Jain, Pieter Abbeel. 2020)

对于噪声的估计和去除,最常使用的是 U-Net。该神经网络的架构看起来像字母 U,由此得名。U-Net 是一个全连接卷积神经网络,这使得它对图像处理非常有用。U-Net的特点在于它能够将图像作为入口,并通过减少采样来找到该图像的低维表示,这使得它更适合处理和查找重要属性,然后通过增加采样将图像恢复回来。
在这里插入图片描述

一个典型的U-Net架构实例
具体的说,所谓去除噪声就是从时间帧 t 向时间帧 t − 1 的变换,其中 t 是 t 0(没有噪声)到 t_{max}(完全噪声)之间的任意时间帧。变换规则为:

  1. 输入时间帧 t 的图像,并且在该时间帧上图像存在特定噪声;
  2. 使用 U-Net 预测总噪声量;
  3. 然后在时间帧 t 的图像中去除总噪声的“一部分”,得到噪声较少的时间帧 t − 1 的图像。
    在这里插入图片描述

向图片逐步增加/删除噪声
从数学上讲,执行此上述方法 T 次比尝试消除整个噪声更有意义。通过重复这个过程,噪声会逐渐被去除,我们会得到一个更“干净”的图像。比如对于带有噪声的图,我们通过在初始图像上添加完全噪声,然后再迭代地去除它来生成没有噪声的图像,效果比直接在原图上去除噪声要好。

近几年,扩散模型在图像生成任务中表现出突出的性能,并在图像合成等多个任务中取代了GAN。由于扩散模型能够保持数据的语义结构,因此不会受到模式崩溃的影响。

然而,实现扩散模型存在一些困难。因为所有马尔可夫状态都需要一直在内存中进行预测,这意味着内存中要一直保存多个大型深度网络的实例,从而导致扩散模型非常吃内存。此外,扩散模型可能会陷入图像数据中难以察觉的细粒度复杂性中,导致训练时间变得太长(几天到几个月)。矛盾的是,细粒度图像生成是扩散模型的主要优势之一,我们无法避免这个“甜蜜的烦恼”。由于扩散模型对计算要求非常高,训练需要非常大的内存和电量,这使得早前大多数研究人员无法在现实中实现该模型。

Stable Diffusion

扩散模型最大的问题是它的时间成本和经济成本都极其“昂贵”。Stable Diffusion的出现就是为了解决上述问题。如果我们想要生成一张 1024 × 1024 1024 尺寸的图像,U-Net 会使用 1024 × 1024 1024尺寸的噪声,然后从中生成图像。这里做一步扩散的计算量就很大,更别说要循环迭代多次直到100%。一个解决方法是将大图片拆分为若干小分辨率的图片进行训练,然后再使用一个额外的神经网络来产生更大分辨率的图像(超分辨率扩散)。

2021年发布的Latent Diffusion模型给出了不一样的方法。 Latent Diffusion模型不直接在操作图像,而是在潜在空间中进行操作。通过将原始数据编码到更小的空间中,让U-Net可以在低维表示上添加和删除噪声(stable Diffusion的核心原理就是Latent Diffusion)。

使用扩散模型生成图像的核心思路还是基于已存在的强大的计算机视觉模型,只要输入足够大的数据集,这些模型可以学习任意复杂的操作。

假设我们已经有了一张图像,生成产生一些噪声加入到图像中,然后就可以将该图像视作一个训练样例。

训练示例是通过生成噪声并将一定的噪声添加到训练数据集中生成的(前向扩散)
在这里插入图片描述

使用相同的操作可以生成大量训练样本来训练图像生成模型中的核心组件。
在这里插入图片描述

上述例子展示了一些可选的噪声量值,从原始图像(级别0,不含噪声)到噪声全部添加(级别4) ,从而可以很容易地控制有多少噪声添加到图像中。

所以我们可以将这个过程分散在几十个steps中,对数据集中的每张图像都可以生成数十个训练样本。
在这里插入图片描述

基于上述数据集,我们就可以训练出一个性能极佳的噪声预测器,每个训练step和其他模型的训练相似。当以某一种确定的配置运行时,噪声预测器就可以生成图像。
在这里插入图片描述

移除噪声,绘制图像

经过训练的噪声预测器可以对一幅添加噪声的图像进行去噪,也可以预测添加的噪声量。
在这里插入图片描述

由于采样的噪声是可预测的,所以如果从图像中减去噪声,最后得到的图像就会更接近模型训练得到的图像。
在这里插入图片描述

得到的图像并非是一张精确的原始图像,而是分布(distribution),即世界的像素排列,比如天空通常是蓝色的,人有两只眼睛,猫有尖耳朵等等,生成的具体图像风格完全取决于训练数据集。
在这里插入图片描述

不止Stable Diffusion通过去噪进行图像生成,DALL-E 2和谷歌的Imagen模型都是如此。

需要注意的是,到目前为止描述的扩散过程还没有使用任何文本数据生成图像。因此,如果我们部署这个模型的话,它能够生成很好看的图像,但用户没有办法控制生成的内容。

在接下来的部分中,将会对如何将条件文本合并到流程中进行描述,以便控制模型生成的图像类型。

加速:在压缩数据上扩散

 **潜在空间(Lantent Space)**

潜在空间简单的说是对压缩数据的表示。所谓压缩指的是用比原始表示更小的数位来编码信息的过程。比如我们用一个颜色通道(黑白灰)来表示原来由RGB三原色构成的图片,此时每个像素点的颜色向量由3维变成了1维度。维度降低会丢失一部分信息,然而在某些情况下,降维不是件坏事。通过降维我们可以过滤掉一些不太重要的信息你,只保留最重要的信息。

假设我们像通过全连接的卷积神经网络训练一个图像分类模型。当我们说模型在学习时,我们的意思是它在学习神经网络每一层的特定属性,比如边缘、角度、形状等……每当模型使用数据(已经存在的图像)学习时,都会将图像的尺寸先减小再恢复到原始尺寸。最后,模型使用解码器从压缩数据中重建图像,同时学习之前的所有相关信息。因此,空间变小,以便提取和保留最重要的属性。这就是潜在空间适用于扩散模型的原因。
在这里插入图片描述
在这里插入图片描述

利用卷积神经网络提取最重要的属性
任何生成性学习方法都有两个主要阶段:感知压缩和语义压缩:

在感知压缩学习阶段,学习方法必须去除高频细节将数据封装到抽象表示中。此步骤对构建一个稳定、鲁棒的环境表示是必要的。GAN 擅长感知压缩,通过将高维冗余数据从像素空间投影到潜在空间的超空间来实现这一点。潜在空间中的潜在向量是原始像素图像的压缩形式,可以有效地代替原始图像。

更具体地说,用自动编码器 (Auto Encoder) 结构捕获感知压缩。 自动编码器中的编码器将高维数据投影到潜在空间,解码器从潜在空间恢复图像。
在这里插入图片描述

语义压缩

在学习的第二阶段,图像生成方法必须能够捕获数据中存在的语义结构。 这种概念和语义结构提供了图像中各种对象的上下文和相互关系的保存。 Transformer擅长捕捉文本和图像中的语义结构。 Transformer的泛化能力和扩散模型的细节保存能力相结合,提供了两全其美的方法,并提供了一种生成细粒度的高度细节图像的方法,同时保留图像中的语义结构(UNet结构中的Transformer主要用于语义压缩)。

感知损失

潜在扩散模型中的自动编码器通过将数据投影到潜在空间来捕获数据的感知结构。论文作者使用一种特殊的损失函数来训练这种称为“感知损失”的自动编码器。该损失函数确保重建限制在图像流形内,并减少使用像素空间损失(例如 L1/L2 损失)时出现的模糊。
在这里插入图片描述

为了加速图像生成的过程,Stable Diffusion并没有选择在像素图像本身上运行扩散过程,而是选择在图像的压缩版本上运行,论文中也称之为「Departure to Latent Space」。

整个压缩过程,包括后续的解压、绘制图像都是通过自编码器完成的,将图像压缩到潜空间中,然后仅使用解码器使用压缩后的信息来重构。
在这里插入图片描述

前向扩散(forward diffusion)过程是在压缩latents完成的,噪声的切片(slices)是应用于latents上的噪声,而非像素图像,所以噪声预测器实际上是被训练用来预测压缩表示(潜空间)中的噪声。
在这里插入图片描述

前向过程,即使用自编码器中的编码器来训练噪声预测器。一旦训练完成后,就可以通过运行反向过程(自编码器中的解码器)来生成图像。
在这里插入图片描述

前向和后向过程如下所示,图中还包括了一个conditioning组件,用来描述模型应该生成图像的文本提示。
在这里插入图片描述
在这里插入图片描述

文本编码器:一个Transformer语言模型

模型中的语言理解组件使用的是Transformer语言模型,可以将输入的文本提示转换为token嵌入向量。发布的Stable Diffusion模型使用 ClipText (基于 GPT 的模型) ,这篇文章中为了方便讲解选择使用 BERT模型。
在这里插入图片描述

Imagen论文中的实验表明,相比选择更大的图像生成组件,更大的语言模型可以带来更多的图像质量提升。

早期的Stable Diffusion模型使用的是OpenAI发布的经过预训练的 ClipText 模型,而在Stable Diffusion V2中已经转向了最新发布的、更大的CLIP模型变体OpenClip.

CLIP是怎么训练的?

CLIP需要的数据为图像及其标题,数据集中大约包含4亿张图像及描述。
在这里插入图片描述

数据集通过从网上抓取的图片以及相应的「alt」标签文本来收集的。

CLIP 是图像编码器和文本编码器的组合,其训练过程可以简化为拍摄图像和文字说明,使用两个编码器对数据分别进行编码。
在这里插入图片描述

然后使用余弦距离比较结果嵌入,刚开始训练时,即使文本描述与图像是相匹配的,它们之间的相似性肯定也是很低的。
在这里插入图片描述

随着模型的不断更新,在后续阶段,编码器对图像和文本编码得到的嵌入会逐渐相似。
在这里插入图片描述

通过在整个数据集中重复该过程,并使用大batch size的编码器,最终能够生成一个嵌入向量,其中狗的图像和句子「一条狗的图片」之间是相似的。

就像在 word2vec 中一样,训练过程也需要包括不匹配的图片和说明的负样本,模型需要给它们分配较低的相似度分数。

文本信息喂入图像生成过程:

文本-图像合成:在 Python 实现中,我们可以使用使用 LDM v4 的最新官方实现来生成图像。 在文本到图像的合成中,潜在扩散模型使用预训练的 CLIP 模型3,该模型为文本和图像等多种模态提供基于Transformer的通用嵌入。 然后将Transformer模型的输出输入到称为“diffusers”的潜在扩散模型Python API,同时还可以设置一些参数(例如,扩散步数、随机数种子、图像大小等)。

为了将文本条件融入成为图像生成过程的一部分,必须调整噪声预测器的输入为文本。
在这里插入图片描述

所有的操作都是在潜空间上,包括编码后的文本、输入图像和预测噪声。
在这里插入图片描述

为了更好地了解文本token在 Unet 中的使用方式,还需要先了解一下 Unet模型。

Unet 噪声预测器中的层(无文本)

一个不使用文本的diffusion Unet,其输入输出如下所示:
在这里插入图片描述

在模型内部,可以看到:

1. Unet模型中的层主要用于转换latents;
2. 每层都是在之前层的输出上进行操作;
3. 某些输出(通过残差连接)将其馈送到网络后面的处理中
4. 将时间步转换为时间步长嵌入向量,可以在层中使用。

在这里插入图片描述

Unet 噪声预测器中的层(带文本)

现在就需要将之前的系统改装成带文本版本的。

条件扩散

扩散模型是依赖于先验的条件模型。在图像生成任务中,先验通常是文本、图像或语义图。为了获得先验的潜在表示,需要使用转换器(例如 CLIP)将文本/图像嵌入到潜在向量τ \tauτ中。因此,最终的损失函数不仅取决于原始图像的潜在空间,还取决于条件的潜在嵌入。
在这里插入图片描述

主要的修改部分就是增加对文本输入(术语:text conditioning)的支持,即在ResNet块之间添加一个注意力层。
在这里插入图片描述

需要注意的是,ResNet块没有直接看到文本内容,而是通过注意力层将文本在latents中的表征合并起来,然后下一个ResNet就可以在这一过程中利用上文本信息。

AI绘画所有方向的学习路线思维导图

这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。如果下面这个学习路线能帮助大家将AI利用到自身工作上去,那么我的使命也就完成了:
在这里插入图片描述

👉stable diffusion新手0基础入门PDF👈

在这里插入图片描述

👉AI绘画必备工具👈

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉AI绘画基础+速成+进阶使用教程👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

 

 

]]>
http://down.vvipblog.com/ai/aipainting/6431.html/feed 0
Stable Diffusion原理详解(附代码实现) http://down.vvipblog.com/ai/aipainting/6412.html http://down.vvipblog.com/ai/aipainting/6412.html#respond Sun, 09 Jun 2024 16:27:12 +0000 http://down.vvipblog.com/?p=6412

一、前言

回顾AI绘画的历史,GAN(Generative Adversarial Nets)是比较出众的一个。GAN的出现让AI绘画成为可能,当时GAN给AI绘画提供了一种新的思路,现在回顾当时的绘画可以算是相当粗糙。

gan-results.jpg

初代GAN出现后,出现了大量GAN的变种,比如StyleGAN、CycleGAN、DCGAN等。而StyleGAN已经可以生成非常逼真的图像了,下面是StyleGAN的一些结果。

stylegan-results.jpg

GAN提出已经过去十年,AI绘画也得到了颠覆性的进步。Diffusion Model(DM)逐渐取代了GAN在AI绘画领域的地位。在此基础上,AI绘画领域还融合了其它深度学习方法,比如Controlnet、LoRA等。如今,AI绘画达到了以假乱真的地步,同时给与用户极高的可控性,对资源的要求也逐步降低,每个人都可以在自己的电脑上运行AI绘画模型。

今天我们的主角是Stable Diffusion,它是如今最流行的开源DM。基于Stable Diffusion,开源社区涌现了繁多的开源项目和模型。比如Stable Diffusion Webui、Comfyui、Fooocus等集成应用;分享模型的Civitai网站;HuggingFace提供的Diffusers模块。

今天我们将介绍Stable Diffusion的整体架构,分解每个部件,最后借助Diffusers模块实现AI绘画。

二、网络结构

Stable Diffusion由多个子网络组成,包括文本编码器、UNet和VAE三大部分。组合在一起可以看做一个接收文本输入,输出图像的模型。下面我们将从整体出发,而后拆分每个部件。

2.1 整体架构

Stable Diffusion的架构如图所示:

stable-diffusion-structure.jpg

整体上看是一个接收文本输入,并输出图像的模型。Stable Diffusion处理的过程如下:

  1. 输入文本,使用CLIP模型对文本进行编码,获得文本Embedding
  2. 从潜空间生成噪声Latent
  3. 将文本Embedding和Latent输入UNet模型,预测Latent中的噪声
  4. 将去除Latent中的噪声,去除噪声后的结果重新赋值为Latent
  5. 重复步骤3、4
  6. 将Latent传入VAE解码器,得到最终图片

模型的核心是一个UNet噪声预测网络。不同于GAN直接从噪声中生成图片,Stable Diffusion会进行多次预测噪声并降噪,最终生成图片。

2.2 文本编码器

Stable Diffusion是一种带条件的图像生成模型,可以根据输入的文本生成与文本相符的图片。我们可以直接使用训练良好的Bert模型作为文本编码器,但是这样生成的文本向量和图像的关系不太密切,为了图像生成能更遵循文本条件,Stable Diffusion使用了CLIP模型。

CLIP模型的提出是为了更好的解决视觉任务,CLIP可以在zero-shot的情况下在ImageNet上与ResNet50有同等的表现。

下面是OpenAI提供的CLIP工作图:

clip-training-steps.jpg

从结构上来看,CLIP模型由两个Encoder构成,分别是用来编码文本的TextEncoder和用来编码图片的ImageEncoder。CLIP的训练数据是一堆“图片-文本”对形式,其工作模式如下:

  1. 训练TextEncoder和ImageEncoder,最大化ItTt(图片向量与响应的文本向量相似度)
  2. 利用分类标签生成句子,“a photo of a {object}”
  3. 输入图片获得It,找到最相似的句子向量Tk,改句子对应的标签就是图片标签 在完成训练后就可以得到比较出色的文本编码器,而后两步则是为图像分类做准备。

2.3 VAE模型

VAE模型在Diffusion Model里面并非必要的,VAE在Stable Diffusion中作为一种有效利用资源的方法,减少了图片生成的资源需求。下图是VAE的结构,其中c是一个可选的条件。

vae-structure.png

VAE由Encoder和Decoder两个部分组成,首先需要输入x,经过Encoder编码后,得到(μ,σ),分别表示均值和方差,这两个变量可以确定一个分布,然后在当前分布中采样出样本z。z通常是一个比x维度更低的向量。

采样出来的z输入Decoder,我们希望Decoder的输出与输入的x越接近越好。这样我们就达到了图像压缩的效果。

在训练Stable Diffusion时,我们会把图片输入VAE的Encoder,然后再拿来训练UNet,这样我们就可以在更低的维度空间训练图像生成模型,这样就可以减少资源的消耗。

2.4 UNet模型

UNet模型结构与VAE非常相似,也是Encoder-Decoder架构。在Stable Diffusion中,UNet作为一个噪声预测网络,在绘画过程中需要多次推理。我们先不考虑VAE的介入,来看看UNet在Stable Diffusion中的作用。

实际上UNet在Stable Diffusion中充当噪声预测的功能。UNet接收一张带有噪声的图片,输出图片中的噪声,根据带噪声的图片和噪声我们可以得到加噪前的图片。这个降噪的过程通常会重复数十遍。

知道UNet的作用后,我们就需要创建数据集了。我们只需要图片即可,拿到图片对该图片进行n次加噪,直到原图变成完全噪声。而加噪前的图片可以作为输入,加噪后的数据可以作为输出。如图所示:

noising_step.jpg

在加噪的过程中,噪声逐步增大。因此在降噪的过程中,我们需要有噪声图片,以及当前加噪的step。下图是噪声预测部分的结构:

noise-predicter.jpg

最后图像生成的步骤就是不停降噪的步骤:

denoising-step.jpg

最后,我们再加入VAE。我们加噪和预测噪声的步骤不再是作用在原图上,而是作用在VAE Encoder的输出上面,这样我们就可以在较小的图像上完成UNet的训练,极大减少资源的消耗。

unet-vae.png

现在只需要在UNet的输入中再加入文本变量就是完整的Stable Diffusion了。

三、Diffusers模块

现在我们已经知道Stable Diffusion的原理,为了加深理解,下面使用Diffusers模块实现Stable Diffusion的全过程。下面的代码需要使用到pytorch、transformers和diffusers模块。

3.1 使用pipeline

HuggingFace中的模块提供了许多pipeline用于各种任务,而Stable Diffusion则是Text-to-image类型的任务,我们可以使用下面几句代码完成文生图:


from diffusers import AutoPipelineForText2Image
import torch

pipeline = AutoPipelineForText2Image.from_pretrained(
	"runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16, variant="fp16"
).to("cuda")
image = pipeline(
	"stained glass of darth vader, backlight, centered composition, masterpiece, photorealistic, 8k"
).images[0]
image

生成图像如下:

generated01.PNG

上面是一种简单的调用方式,下面我们加载各个部件,手动完成图像生成的过程。

3.2 加载各个部件

除了pipeline直接加载,我们还可以分部件加载,分别加载CLIP、UNet和VAE,代码如下:

from tqdm.auto import tqdm
from PIL import Image  
import torch  
from transformers import CLIPTextModel, CLIPTokenizer  
from diffusers import AutoencoderKL, UNet2DConditionModel, DDPMScheduler  
  
# 加载模型  
model_path = "runwayml/stable-diffusion-v1-5"  
vae = AutoencoderKL.from_pretrained(model_path, subfolder="vae")  
tokenizer = CLIPTokenizer.from_pretrained(model_path, subfolder="tokenizer")  
text_encoder = CLIPTextModel.from_pretrained(  
	model_path, subfolder="text_encoder"  
)  
unet = UNet2DConditionModel.from_pretrained(  
	model_path, subfolder="unet"  
)  
scheduler = DDPMScheduler.from_pretrained(model_path, subfolder="scheduler")
# 使用gpu加速  
torch_device = "cuda"  
vae.to(torch_device)  
text_encoder.to(torch_device)  
unet.to(torch_device)

在这里我们还加载了Scheduler,后续会使用Scheduler管理降噪的步骤。

3.3 对文本进行编码

下面我们使用CLIP模型对文本进行编码,这里要使用到tokenizer和text_encoder:

# 对文本进行编码  
prompt = ["a photograph of an astronaut riding a horse"]  
height = 512 # default height of Stable Diffusion  
width = 512 # default width of Stable Diffusion  
num_inference_steps = 25 # Number of denoising steps  
guidance_scale = 7.5 # Scale for classifier-free guidance  
batch_size = len(prompt)  
text_input = tokenizer(  
	prompt, padding="max_length", max_length=tokenizer.model_max_length, truncation=True, return_tensors="pt"  
)  
with torch.no_grad():  
	text_embeddings = text_encoder(text_input.input_ids.to(torch_device))[0]

其中text_embeddings就是文本编码结果。

3.4 获取潜变量

在训练过程中潜变量Latent是由VAE的Encoder得到的,而在生成过程中,Latent则是符合一定分别的随机噪声。代码如下:

# 获取latent  
latents = torch.randn(  
	(batch_size, unet.config.in_channels, height // 8, width // 8),  
	device=torch_device,  
)  
latents = latents * scheduler.init_noise_sigma

torch.randn可以得到方差为1的噪声,而latents * scheduler.init_noise_sigma则把方差修改为scheduler.init_noise_sigma。

3.5 降噪

接下来就是重复多次UNet推理,得到降噪后的Latent:

# 降噪  
scheduler.set_timesteps(num_inference_steps)  
for t in tqdm(scheduler.timesteps):  
	latent_model_input = latents  
	latent_model_input = scheduler.scale_model_input(latent_model_input, timestep=t)  
	with torch.no_grad():  
		# 预测噪声
		noise_pred = unet(
			latent_model_input, 
			t, 
			encoder_hidden_states=text_embeddings
		).sample 
	# 降噪 
	latents = scheduler.step(noise_pred, t, latents).prev_sample

最后得到的latents变量就是降噪后的结果,在训练过程中对应VAE Encoder的输出,因此我们还需要使用VAE Decoder还原出图片。

3.6 VAE解码

下面就是使用VAE Decoder解码出原图:

# 使用vae解码  
latents = 1 / 0.18215 * latents  
with torch.no_grad():  
	image = vae.decode(latents).sample  
	image = (image / 2 + 0.5).clamp(0, 1).squeeze()  
	image = (image.permute(1, 2, 0) * 255).to(torch.uint8).cpu().numpy()  
	images = (image * 255).round().astype("uint8")  
	image = Image.fromarray(image)  
	image.show()

最后生成如下图片:

generated02.PNG

四、总结

今天我们以GAN开始,介绍了AI绘画领域的一些模型,并把Stable Diffusion作为今天的主角,详解介绍了Stable Diffusion的实现原理。

我们还使用Diffusers模块实现了Stable Diffusion生成图像的代码。在Stable Diffusion中,还有诸如LoRA、Controlnet等相关技术,在本文没有详细提到。而这些东西在AI绘画中却非常重要,也让AI绘画可以应用在更多领域。

我们可以使用Stable Diffusion Webui等工具使用LoRA和Controlnet等工具,我们还可以在Diffusers中使用这些根据。后续我们将介绍Diffusers模块如何加载LoRA等附加网络。

这里直接将该软件分享出来给大家吧~

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://down.vvipblog.com/ai/aipainting/6412.html/feed 0
stable diffusion LORA模型训练最全最详细教程 http://down.vvipblog.com/ai/aipainting/6369.html http://down.vvipblog.com/ai/aipainting/6369.html#respond Sun, 09 Jun 2024 05:06:17 +0000 http://down.vvipblog.com/?p=6369
img 

 

一、前言

其实想写LORA模型训练很久了,一直没时间,总结一下现在主流的两种LORA模型训练方式,分别是朱尼酱的赛博丹炉和秋叶大佬的训练脚本,训练效果应该是赛博丹炉更好,我个人更推荐朱尼酱的赛博丹炉,界面炫酷,操作简单,作者也是花了很多心思的。我会逐一介绍两种LORA模型训练方法。

二、朱尼酱的赛博丹炉

1.介绍

  • 全新U升级,赛博炼丹、科技修仙:大功能
  • 首页新增产品,建筑两个训川练预设:
  • 升级中英文双语TAG编辑器,支持实时翻译中英文输入TAG:
  • 新增自定义参数,正则化训川练集功能:
  • 新增自定义参数,分层训练功能:易用性
  • 更换wd14 tagger标签器(可自定义可信度阈值
  • 更换anime抠图核心,同时兼容二次元与真人
  • 优化自定义参数,学习率增加加减按钮功能,方便调整
  • 新增参数预设管理器功能,可自定义并管理自己的预设参数(支持中文预设名)
  • 输出训川练参数到模型文件夹,方便统计xyz信息

网盘链接:https://pan.baidu.com/s/1_yB_pNrNGotudYmOOwjp8g
提取码:fapv

最新的赛博丹炉已经整合到道玄界面了,就是一个新的压缩包文件,里面不仅可以使用赛博丹炉训练LORA模型,还可以在上面生图,但是对我来说用处不大,我只需要他的训练脚本,因为习惯在秋叶启动器使用了,而且更方便更全面,不过如果有新手伙伴想用的话,可以去使用支持一下博主,这里给出链接。朱尼酱B站链接

img

2.解压配置

下载完百度网盘压缩包后,解压后点击

\cybertronfurnace1.4\cfurnace_ui\Cybertron Furnace.exe

img

第一次打开会下载一些文件,请耐心等待!直到出现server start

img

img

3.使用

开启炼丹炉,让我们使用把!

img

训练准备
首页设置

我们需要准备使用的基础模型(大模型),和我们的训练集图片。现在我以自己举例开始演示!

基础模型使用麦橘的majicMIX realistic_v5 preview.safetensors作为底模,点击选择我们的大模型路径,召唤词可以自己命名一个,样张预览开启,就是训练的时候每50步会生成一张图查看训练效果。

好了,点击人物,确定到下一步!

上传素材

img

训练集最好准备50张图片,包含不同角度,你的训练集质感越高,你训练出来的效果也越好,可能几个epoch就能达到很好的效果,如果训练集模糊。质感差,100张图片,20个epoch效果也很差!

分辨率不用改,或者改成768×768,

模式选择抠图填白,就是去除背景,只保留人物做训练

TAG选择自动TAG,使用的是WD1.4TAG反推器

标签可信度阈值默认0.35,数值越小TAG越多,数值越大TAG越少,就是设置越小,反推生成TAG越多

如果训练脸部请勾选,最后点击预处理img

后台可以查看进度,一般是先抠图,后TAG反推。ok,抠图完成,脸部也单独提取出来了img

img

TAG反推也完成了,你还可以为每张图增加一些提示词,如光影,质感等词汇

img

我这里整理一些,把这些TAG全部新增到每张图片,别忘了脸部也新增一下。

Best quality,masterpiece,ultra high res,(photorealistic:1.4),raw photo,Kodak portra 400,film grain,

img

顺便推荐一个中文自动转英文的功能,打中文点击红框,自动转英文。需要的按我步骤操作一下,

img

进入网址https://api.fanyi.baidu.com/,注册登录后,点击通用文本翻译

img

点击立即使用img

然后选择个人开发者,填写一些个人信息,然后选择高级版,实名认证一些,图片就不放了,因为我弄过了,就是按照流程来,很简单,之后点击界面最上面的管理控制台选项,点击开通img

然后选择通用文本翻译,开通高级版,最后一步填写应用名称就行,其他不管,提交申请就完了。

img

把APPID和密钥填入开启就完成了。

img

查看进度

img

先别点击开始训练,查看进度界面,点击参数调优

img

学习步数默认50步,,epoch可以选择20,batch size可以选择4,优化器Adam,没训练一个epoch保存一次权重(模型),Precision选择半精度(负2的15次方到2的15次方之间的数),调度器默认,余弦退火就是学习率曲线类似余弦函数一样,先增大后减小,重启次数应该就是周期数,暂时默认不填。

总步数就是50x50x20/4=12500步,假如50张图片,如果加强脸部训练,步数翻倍。

img

我只讲一下关键参数,其他默认,学习率默认,网络维度选128,效果比较好,训练出来的lora模型文件大小144M,这也是为什么市面上不同的lora大小模型,网络维度128,64,32,分别对应144M,72M,36M网络Alpha需要调成和网络维度一样,或者一半。如网络维度128,网络Alpha128或64。样图分辨率设置成和前面图片预处理一样,如果是768×768,那么这里也改成768×768。如果爆显存就默认别改了。
样图设置可以随意不影响,可以每50步生成一次,第二个就不用改了,基本默认就行,种子随意都行,样本生成的提示词选一个。

img

分层训练,可以查看下图,仅帮助理解,因为lora仅仅是训练一部分网络架构,不是全部unet,unet网络就是一个u型网络架构,先进行下采样在进行上采样,中间一层就是中间层。之前写过stable diffusion原理时候讲过Unet,有兴趣看看。链接

img

如果没有特殊需求分层设置先默认不填,其他设置中可以加载预训练模型,如果你上次训练了一个模型没跑完,只训练8个epoch,效果不好,可以加载模型路径继续训练节省时间。正则化就是防止过拟合,如果想要开启正则化,点击开启。然后把你的图片放入正则化文件夹就行。

参数调整完毕!!回到界面,点击开始训练!!!

img

之后就开始训练了,耐心等待,可以查看日志,模型保存的路径点击模型即可,

img

我们所有的训练数据都在这,包括训练集,日志,模型,正则化目录

img

可以看到,样图,训练的参数配置文件,以及每个epoch的模型都保存在这,建议分别在前中后选取模型测试效果,epoch少的不一定差。对了,文件名可以改的,不影响。

img

到此,赛比丹炉介绍完毕了!!!应该很详细了,点个赞给博主提提神把,下面开始秋叶大佬的!

三、秋叶的lora训练器

img

链接:https://pan.baidu.com/s/1-AN-ulR3PTS6KYyWVPARNA
提取码:vtse

1.下载

下载完毕后解压后,先点击国内加速强制更新,然后点击启动脚本img

进入界面,一般使用新手模式就行,专家模式可以调节更多参数,可能更好,但也可能得到更差的效果,所以建议使用新手界面就行,提高训练集的质量才能大幅度提高训练效果。

2.预处理

其实跟上面的差不多,把训练集的路径导入,阈值这里默认0.5,那么我们就0.5把,附加提示词还是一样,把光影,质感等等加上去,其他不改。之后点击右下角启动!

Best quality,masterpiece,ultra high res,(photorealistic:1.4),raw photo,Kodak portra 400,film grain,

img

img

通过日志可以知道完成了,这里没有抠图填白,加强脸部训练等功能,只有TAG反推,img

3.参数调配

img

注意,在这里训练集和大模型,需要复制到训练器目录下,有点繁琐,然后再把训练集路径和大模型路径填入,

训练集复制到该目录下,20是repeat数,每张图片重复训练多少次,把这个数字改成几。

img

大模型复制到该路径下

img

把路径改好如下,其他参数其实和上面差不多,如果上面的能理解这里也一样。

img

参数如下


pretrained_model_name_or_path = "./sd-models/majicmixRealistic_v6.safetensors"
train_data_dir = "./train/aki"
resolution = "512,512"
enable_bucket = true
min_bucket_reso = 256
max_bucket_reso = 1_024
output_name = "aki"
output_dir = "./output"
save_model_as = "safetensors"
save_every_n_epochs = 2
max_train_epochs = 20
train_batch_size = 1
network_train_unet_only = false
network_train_text_encoder_only = false
learning_rate = 0.0001
unet_lr = 0.0001
text_encoder_lr = 0.00001
lr_scheduler = "cosine_with_restarts"
optimizer_type = "AdamW8bit"
lr_scheduler_num_cycles = 1
network_module = "networks.lora"
network_dim = 128
network_alpha = 128
logging_dir = "./logs"
caption_extension = ".txt"
shuffle_caption = true
keep_tokens = 0
max_token_length = 255
seed = 1_337
prior_loss_weight = 1
clip_skip = 2
mixed_precision = "fp16"
save_precision = "fp16"
xformers = true
cache_latents = true
persistent_data_loader_workers = true
lr_warmup_steps = 0
sample_prompts = "./toml/sample_prompts.txt"
sample_sampler = "euler_a"
sample_every_n_epochs = 2

点击开始训练即可

imgimg

模型训练完成会保存在在output中!

img

OK,到此完毕了!如果对你有帮助的话,请点个赞,谢谢!!

 

]]>
http://down.vvipblog.com/ai/aipainting/6369.html/feed 0
以SD为例分析图片生成原理 http://down.vvipblog.com/ai/aipainting/6365.html http://down.vvipblog.com/ai/aipainting/6365.html#respond Sat, 08 Jun 2024 12:55:16 +0000 http://down.vvipblog.com/?p=6365 世界很神奇,AI很神奇,我们通过一句话就生成了一大段文字,一张图片,一段视频,相信很多朋友听说过SD,听说过comfy UI工作流,今天我们就给大家深入分析一下文生图,图生图的原理。我会尽量用通俗易懂的语言让大家都能明白。

首先,我们添加一段提示词文字生成了一张图片,

过程中其实有三个关键点在起作用,它们分别是:

三个关键节点分别有什么作用呢?

1 大模型

什么是大模型?举个例子,我想让一个小孩在亲戚朋友到访时写出一幅美丽的行楷字,首先他得会,在家时默默地联系,日复一日,年复一年,把行楷,篆体等各种字体都练得炉火纯青,现在你想要他写什么字体他立马就能写出什么字体。这就是他的思想体系里已经有了一个大模型,只要关键词触发,他立马能写出对应的字体。

相信通过这个解释,大家已经懂了什么是大模型,就是生成文字、图片或视频的底层逻辑。

如何获得大模型?

(1)获取训练数据: 获取训练大模型所需的大规模数据集。这些数据集可能来自于公开的数据集、网络上的数据抓取、合作伙伴提供的数据等渠道。数据的质量和多样性对模型的性能至关重要,决定了最终的模型是智能还是智障。

(2)数据预处理: 对获取的数据进行预处理,包括数据清洗、标注、分词、归一化等处理步骤。预处理的目的是为了使数据适合模型的输入格式,并提高模型的训练效果。我们在文本上进行大量标记,比如一个美女图片,标记性别女,头发长,眼睛大,三庭五眼比例,身高,胖瘦,服饰,姿态,手势等等,这些成为Tag.

(3)模型训练: 使用获取的训练数据对选择的AI大模型进行训练。训练过程通常包括多轮迭代,通过优化损失函数来调整模型参数,使模型不断适应训练数据,提高性能。

(4)模型评估: 训练完成后,需要对模型进行评估,以评估其性能和泛化能力。评估通常包括在测试集上进行性能测试、与其他模型进行对比、进行用户反馈等。

(5)模型部署: 完成模型训练和评估后,将模型部署到实际应用中。部署过程涉及将模型集成到软件系统中、优化模型的运行效率、处理实时请求等步骤。

大模型训练流程

1:创建了一个叫做潜在空间的地方 Latent space。

2:用算法把这些图片进行压缩,并高度总结图片的特征,图片保留特征并且压缩成了特征的马赛克,这个过程我们称之为加噪音,特征马赛克也称之为噪音。图片处理后选用模型进行训练,例如常用的模型包括卷积神经网络(CNN)、循环神经网络(RNN)、注意力机制模型等。根据任务的复杂度和数据规模,选择合适的模型进行训练。卷积神经网络卷出图片的特征,跟标签Tag进行对应,相当于他通过大量的阅读资料学习明白了图片特征与文字标签特征tag之间的对应关系。也就是潜在空间中Latent Space中的特征马赛克和他Token对应的这种关系。

3:文本理解,同时stable diffusion对文本的Tag也进行了总结和压缩,这个过程,称之为Token化。所谓的Token化,就是把文字拆解成小的单位,然后形成各种方便计算机可以理解但是人无法理解的字符字母和符号。

潜在空间里面存放的都是马赛克和文本token的对应关系这个计算的过程一般称之为训练大模型。图片的特征和文本标签以一种压缩和转化后的形式相互对应,使得模型能够基于文本描述生成或理解图像内容。简单理解就是,输入提示词,模型对其进行理解token化就有了特征的标签,就生成对应特征的图片。

2 Clip和VAE

为了让用户输入的内容可以进入latent space进行匹配,就需要工具把人类可以理解的文字和图片进行编码,转换为可以在Latent Space中工作的标识符,这样才能在潜在空间LatentSpace中进行匹配,文字Prompt在转换的时候需要用到CLIP编码器把Prompt变成Token图片会通过VAE编码器转化成特征马赛克(也就是噪音),最后再经过计算,Stable diffusion 会按照我们想要的意图生成一个新的特征马赛克,这个时候我们需要用VAE解码器,把这个特征马赛克转换为图片,这个图片就是我们最终需要的1 girl 的图片了。

3 采样器

输入的文本提示里的”一个女孩”这样的东西转换成了一个叫”token”的东西。系统会给你搞一个基础特征马赛克0,挺随意的,然后,我们有个采样器,它会把这个”token”和基础特征马赛克0,扔进大模型里,根据提示词token来去噪声,获得一个新特征马赛克1。这个”token”加上基础马赛克0,再加上其他一些东西,我们就管它叫生成约束条件conditioning。例如我们可能会要求图片尺寸,采样模型,迭代步数等等,这个特征马赛克1会跟你输入的”token”继续打交道,搞个小计算,这个计算会一直继续很多次,每次就离计算机认为你要的token结果更近一步,最后到底是啥图形,这个过程叫采样。因为计算了好几次,所以特征马赛克1就会越来越接近真实的图片,所以叫Denose(去噪音)。

采样器用了一个算法和一些设置,跑了N次计算,最后在Latent Space(隐变量空间)中,搞出了一个特征马赛克N,它差不多就是你想要的内容。然后这个马赛克N经过VAE解码器的一顿操作,就变成了真实的图片,整个文生图过程也就这样完成了。

在这个基础上,还能玩出一大堆花样。比如图生图,就是一开始输入的特征马赛克0是根据你输入的图片算出来的;再比如controlnet,就是在采样器的条件里加了更多限制。就是这样,是不是很有意思?

以上就是SD图片生成原理。

]]>
http://down.vvipblog.com/ai/aipainting/6365.html/feed 0
sd模型种类介绍及安装使用详解 http://down.vvipblog.com/ai/aipainting/6340.html http://down.vvipblog.com/ai/aipainting/6340.html#respond Sun, 12 May 2024 15:53:55 +0000 http://down.vvipblog.com/?p=6340

本文使用工具,作者:秋葉aaaki

 

免责声明:
工具免费提供 无任何盈利目的

 

大家好,我是风雨无阻。

今天为大家带来的是 AI 绘画Stable Diffusion 研究(三)sd模型种类介绍及安装使用详解。

 

目前,AI 绘画Stable Diffusion的各种模型层出不穷,这些模型都有什么作用?又该怎么安装使用?对于新手朋友来说,是非常大的困扰。

 

这篇文章将会为你介绍AI 绘画Stable Diffusion的模型种类、模型的安装及使用方法、以及模型的选择和下载。

 

不同的模型有不同的画风如:线条风格、手绘风格、立体风格、科幻风格、真人风格。

还有不同的概念,例如:人物、物体、动作等。

这些都是目前Stable Diffusion 模型众多的原因。

那么,Stable Diffusion的模型具体有哪些种类呢,都有什么作用呢?

 

一、Stable Diffusion的模型详解

1、模型种类

当前,常见的模型可以分为两大类

  • 大模型:这里的大模型特指标准的 latent-diffusion 模型,拥有完整的 TextEncoder、U-Net、VAE。
  • 微调大模型的小模型

     

由于想要炼制、微调大模型非常的困难,需要比较好的显卡、比较高的算力, 因此更多的选择是去炼制小型模型。

 

这些小型模型通过作用在大模型的不同部分,来修改大模型,从而达到目的。

 

常见的用于微调大模型的小模型又分为以下几种:

  • Textual inversion (Embedding模型)
  • Hypernetwork模型
  • LoRA模型

 

还有一种叫做 VAE (VAE, Variational autoencoder,变分自编码器,负责将潜空间的数据转换为正常图像)的模型,通常来讲 VAE 可以看做是类似滤镜一样的东西,会影响出图的画面的色彩和某些极其微小的细节。

 

如图:

在这里插入图片描述

 

其实大模型本身就自带 VAE 的,但是一些融合模型的 VAE坏了 (例如:Anything-v3),有时画面发灰就是因为这个原因。所以需要外置 VAE 的覆盖来补救。

 

由于模型的种类不同、作用位置也不同,所以想要使用这些模型必须分清这些模型类别,并且正确的使用,模型才会生效。

 

2、模型的区分方法

 

如何区分这些模型对新手来说是一件非常困难的事情,因为他们都可以拥有一样的后缀名。

 

这里感谢 秋葉aaaki 提供的模型种类检测工具 ,在本地将模型文件拖入即可识别。

 

3、模型后缀名详解

 

目前,常见的 AI绘画标准模型后缀名有如下几种:

  • ckpt
  • pt
  • pth

    这三种是 pytorch(深度学习框架)的标准模型格式,由于使用了 Pickle,会有一定的安全风险 。

 

  • safetensors:新型的模型格式 。正如同名字:safe,为了解决前面几种模型的安全风险而出现的,safetensors 格式与 pytorch 的模型可以通过工具进行任意转换,只是保存数据的方式不同,内容数据没有任何区别。

     

注意:safetensors模型需要 webui 更新到2022年12月底以后的版本才能用。

 

4、常见模型安装及使用方法

 

(1)、大模型安装及使用

大模型,常见格式为 ckpt,顾名思义,就是大。大小在GB级别,常见有 2G、4G、7G模型,模型大小不代表模型质量。

 

安装方法:放在Stable-diffusion文件夹内。

\sd-webui-aki-v4.2\models\Stable-diffusion

 

如图:

在这里插入图片描述

使用方法:

 

第一步,在 webui 左上角选择对应的模型

 

在这里插入图片描述

 

第二步,手动选择vae并应用保存

 

前面也说到,部分合并出来的大模型VAE烂了,画面会发灰,因此需要去设置中手动选择vae并应用保存。

 

在这里插入图片描述

 

(2)、Embedding (Textual inversion)模型安装及使用

 

embedding 模型,常见格式为 pt、png图片、webp图片,大小一般在 KB 级别。

 

例如:

在这里插入图片描述

 

安装方法

放在 embeddings 这个文件夹里面

\sd-webui-aki-v4.2\embeddings

 

使用方法:

生成图片的时候需要带上文件名作为 tag。

例如,上面这张图里面的 shiratama_at_2-3000.pt 这个模型,使用的时候就需要带上这个tag:shiratama_at_2-3000

 

(3)、Hypernetwork安装及使用

 

常见格式为 pt,大小一般在几十兆到几百兆不等,由于这种模型可以自定义的参数非常多,也有的 Hypernetwork 模型可以达到 GB 级别。

 

例如:

在这里插入图片描述

 

安装方法:放在hypernetworks 文件夹内。

\sd-webui-aki-v4.2\models\hypernetworks

 

在这里插入图片描述

 

使用方法:

第一步,点击生成下方的第三个按钮

第二步,选择hypernetworks 标签页

 

如图所示

在这里插入图片描述

 

(4)、LoRA模型安装及使用

 

常见格式为 pt、ckpt,大小一般在8mb~144mb不等。

 

安装方法:模型需要放在 Lora 文件夹。

\sd-webui-aki-v4.2\models\Lora

 

在这里插入图片描述

 

使用方法:

第一步,点击生成下方的第三个按钮

第二步,选择Lora 标签页

 

如图:

在这里插入图片描述

 

第三步,点击一个模型以后会向提示词列表添加类似这么一个tag, 也可以直接用这个tag调用lora模型。

<lora:模型名:权重> 

 

在这里插入图片描述

 

(5)、VAE 模型安装及使用

 

常见格式为 .pt ,如图:

在这里插入图片描述

 

安装方法:模型需要放在 VAE 文件夹。

\sd-webui-aki-v4.2\models\VAE

 

模型放置完毕后,在设置页面进行如下设置,并重启。

 

在这里插入图片描述

 

如果没有sd_vae 选项,则需要补充上。

添加在 sd_model_checkpoint 之后,语法如下:

,sd_vae

 

在这里插入图片描述

 

好,由于篇幅原因,模型的安装和使用就介绍到这里。

 

大家都知道,要用Stable Diffusion画出漂亮的图片,首先得选好模型。

 

目前,模型数量最多的两个网站是civitaihuggingface

civitai又称c站,有非常多精彩纷呈的模型,有了这些模型,我们分分钟就可以变成绘画大师,用AI画出各种我们想要的效果。

我们这里就以 civitai 站下载模型进行安装为例,进行详细说明。

 

二、模型的下载及选择方法

 

在这里插入图片描述

 

1、直接搜索想要的模型

最上面是搜索框,我们可以直接通过关键词来搜索想要的模型。

 

在这里插入图片描述

 

在这里插入图片描述

 

2、按照菜单分类选择模型

点击左上角菜单,可以看到这里是按照 以下几项来分类的:

  • 最高评价HIGHEST RATED
  • 最多下载MOST DOWNLOADED
  • 点赞最多MOST LIKED
  • 讨论最多MOST DISCuSSED
  • 最新上传NEWEST。

 

在这里插入图片描述

 

3、按照时间排序来选模型

 

点击右上角,可以按照时间排序来选模型:最近一周、最近一月、所有时间的。

 

在这里插入图片描述

 

4、按照模型类型、Stable Diffusion版本选择模型

 

在这里插入图片描述

 

Stable Diffusion目前有SD 1.4、SD 1.5、SD 2.0、SD 2.0 768、SD 2.1、SD 2.1768、SD 2.1 Unclip 等版本。

 

注意:

  • 通常来说版本越高,效果越好。
  • 目前比较流行的还是1.5版本,1.5之前的版本没啥限制,可以自由出各种图片。
  • 2.0以上版本提供了一个 图像无损放大模型:Upscaler Diffusion ,可以将生成图像的分辨率提高 4 倍,适合出高清大图。2.0加入了一些限制,不能出一些不可描述的图片。

     

所以,具体使用哪个版本,还是要根据自己的需求来选择。

 

挑到喜欢的模型后,怎么安装模型呢?

 

三、模型的下载安装实操

 

接下来我们来说明一下安装实操步骤。

 

1、下载模型文件,在c站 搜搜到喜欢的模型,并下载

 

在这里插入图片描述

2、下载成功后,我们会获得模型文件

 

在这里插入图片描述

 

3、将模型文件使用模型种类检测工具 获取模型的种类

 

如图:

在这里插入图片描述

 

将模型文件拖入该工具后,会获得以下信息:

文件名
dunhuangV3.safetensors

文件大小
144.11 MB

模型种类
LoRA 模型

模型用法
放入 models/Lora 文件夹后,在 webui 中,“生成” 按钮的下方选择 🎴 按钮,找到 Lora 选项卡点击使用。

Info
{
ss_batch_size_per_device:"6"
ss_bucket_info:{}
ss_bucket_no_upscale:"True"
ss_cache_latents:"True"
ss_caption_dropout_every_n_epochs:"0"
ss_caption_dropout_rate:"0.0"
ss_caption_tag_dropout_rate:"0.0"
ss_clip_skip:"None"
ss_color_aug:"False"
ss_dataset_dirs:{}
ss_enable_bucket:"True"
ss_epoch:"10"
ss_face_crop_aug_range:"None"
ss_flip_aug:"False"
ss_full_fp16:"False"
ss_gradient_accumulation_steps:"1"
ss_gradient_checkpointing:"False"
ss_keep_tokens:"0"
ss_learning_rate:"0.0001"
ss_lowram:"False"
ss_lr_scheduler:"cosine_with_restarts"
ss_lr_warmup_steps:"0"
ss_max_bucket_reso:"1024"
ss_max_grad_norm:"1.0"
ss_max_token_length:"None"
ss_max_train_steps:"6750"
ss_min_bucket_reso:"256"
ss_min_snr_gamma:"None"
ss_mixed_precision:"fp16"
ss_network_alpha:"64.0"
ss_network_dim:"128"
ss_network_module:"networks.lora"
ss_new_sd_model_hash:"e4a30e4607faeb06b5d590b2ed8e092690c631da0b2becb6224d4bb5327104b7"
ss_noise_offset:"None"
ss_num_batches_per_epoch:"675"
ss_num_epochs:"10"
ss_num_reg_images:"0"
ss_num_train_images:"4050"
ss_optimizer:"bitsandbytes.optim.adamw.AdamW8bit"
ss_output_name:"dunhuang_20230625021029"
ss_prior_loss_weight:"1.0"
ss_random_crop:"False"
ss_reg_dataset_dirs:"{}"
ss_resolution:"(512, 768)"
ss_sd_model_hash:"1d5a534e"
ss_sd_model_name:"majicmix_realv6_fp16.safetensors"
ss_sd_scripts_commit_hash:"(unknown)"
ss_seed:"2361018997"
ss_session_id:"801586992"
ss_shuffle_caption:"False"
ss_tag_frequency:{}
ss_text_encoder_lr:"1e-05"
ss_total_batch_size:"6"
ss_training_comment:"None"
ss_training_finished_at:"1687645290.3126323"
ss_training_started_at:"1687630234.599286"
ss_unet_lr:"0.0001"
ss_v2:"False"
sshs_legacy_hash:"14dab82f"
sshs_model_hash:"f747a8b2ab9a85d407f26183afb59d53fc023c2fbde928fe8512721fda5a11aa"
}

 

根据工具输出信息可知, dunhuangV3.safetensors 模型的模型种类是LoRA 模型。

 

4 、将模型dunhuangV3.safetensors 放入 models/Lora 文件夹。

5、在 webui 中,“生成” 按钮的下方选择 🎴 按钮,找到 Lora 选项卡点击使用。

好,今天的内容就到此结束,我们来总结一下。

今天主要给大家分享了 Stable Diffusion的模型种类说明,以及常见模型的下载、安装、使用方法, 没理解到的朋友,请收藏起来多看几遍。

关注我,后续继续分享sd更多干货 , 敬请期待。

 

]]>
http://down.vvipblog.com/ai/aipainting/6340.html/feed 0