AI 绘画Stable Diffusion 研究(三)sd模型种类介绍及安装使用详解
本文使用工具,作者:秋葉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画出漂亮的图片,首先得选好模型。
目前,模型数量最多的两个网站是civitai 和huggingface。
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更多干货 , 敬请期待。
相关文章:
AI 绘画Stable Diffusion 研究(三)sd模型种类介绍及安装使用详解
本文使用工具,作者:秋葉aaaki 免责声明: 工具免费提供 无任何盈利目的 大家好,我是风雨无阻。 今天为大家带来的是 AI 绘画Stable Diffusion 研究(三)sd模型种类介绍及安装使用详解。 目前,AI 绘画Stable Diffusion的…...
Docker 命令没有提示信息
问题描述 提示:这里描述项目中遇到的问题: linux安装docker后发现使用docker命令没有提示功能,使用 Tab 键的时候只是提示已有的文件 解决方案: 提示:这里填写该问题的具体解决方案: Bash命令补全 Docke…...
springboot第33集:nacos图
./startup.sh -m standalone Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安全风险。Nacos提供简单的鉴权实现,为防止业务错用的弱鉴权体系,不是防止恶意攻击的强鉴权体系。 鉴…...
学习gRPC(一)
gRPC 简介 根据官网的介绍,gRPC 是开源高性能远程过程调用(RPC)框架,可以在任何环境中运行。它可以有效地连接数据中心内部和数据中心之间的服务,并为负载平衡、跟踪、运行状况检查和身份验证提供支持。同时由于其建立…...
【二进制安全】堆漏洞:Double Free原理
参考:https://www.anquanke.com/post/id/241598 次要参考:https://xz.aliyun.com/t/6342 malloc_chunk 的源码如下: struct malloc_chunk { INTERNAL_SIZE_T prev_size; /*前一个chunk的大小*/ INTERNAL_SIZE_T size; /*当前chunk的…...
python之open,打开文件时,遇到解码错误处理方式
在Python中,当我们打开一个文件时,我们可以指定文件的编码方式。如果文件的编码方式与我们指定的编码方式不同,那么就会出现解码错误。为了避免这种情况,我们可以使用errors参数来指定如何处理解码错误。 errors参数用于指定解码…...
STM32 CAN通信-CubeMX环境下CAN通信程序的编程与调试经验
文章目录 STM32 CAN通信-CubeMX环境下CAN通信程序的编程 STM32 CAN通信-CubeMX环境下CAN通信程序的编程 STM32F103ZE芯片 CAN通信测试代码: #include "main.h" #include "can.h"CAN_HandleTypeDef hcan1;void SystemClock_Config(void);int ma…...
windows创建不同大小的文件命令
打开命令窗口(windowsR输入cmd打开) 输入:fsutil file createnew C:\Users\Desktop\fileTran\10M.txt 10240000,创建10M大小的文件。 文件若存在需要先删除。...
Attention Is All You Need
Attention Is All You Need 摘要1. 简介2. Background3. 模型架构3.1 编码器和解码器堆栈3.2 Attention3.2.1 缩放的点积注意力(Scaled Dot-Product Attention)3.2.2 Multi-Head Attention3.2.3 Attention 在我们模型中的应用 3.3 Position-wise前馈网络…...
手写线程池 - C++版 - 笔记总结
1.线程池原理 创建一个线程,实现很方便。 缺点:若并发的线程数量很多,并且每个线程都是执行一个时间较短的任务就结束了。 由于频繁的创建线程和销毁线程需要时间,这样的频繁创建线程会大大降低 系统的效率。 2.思考 …...
PHP 容器化引发线上 502 错误状态码的修复
最后更新时间 2023-01-24. 背景 笔者所在公司技术栈为 Golang PHP,目前部分项目已经逐步转 Go 语言重构,部分 PHP 业务短时间无法用 Go 重写。 相比 Go 语言,互联网公司常见的 Nginx PHP-FPM 模式,经常会出现性能问题—— 特…...
QT中UDP之UDPsocket通讯
目录 UDP: 举例: 服务器端: 客户端: 使用示例: 错误例子并且改正: UDP: (User Datagram Protocol即用户数据报协议)是一个轻量级的,不可靠的࿰…...
【C语言】10-三大结构之循环结构-1
1. 引言 在日常生活中经常会遇到需要重复处理的问题,例如 统计全班 50 个同学平均成绩的程序求 30 个整数之和检查一个班级的同学程序是否及格要处理以上问题,最原始的方法是分别编写若干个相同或相似的语句或者程序段进行处理 例如:处理 50 个同学的平均成绩可以先计算一个…...
Windows下RocketMQ的启动
下载地址:下载 | RocketMQ 解压后 一、修改runbroker.cmd 修改 bin目录下的runbroker.cmd set "JAVA_OPT%JAVA_OPT% -server -Xms2g -Xmx2g" set "JAVA_OPT%JAVA_OPT% -XX:MaxDirectMemorySize15g" set "JAVA_OPT%JAVA_OPT% -cp %CLASSP…...
linux内核升级 docker+k8s更新显卡驱动
官方驱动 | NVIDIA在此链接下载对应的显卡驱动 # 卸载可能存在的旧版本nvidia驱动(如果没有安装过可跳过,建议执行) sudo apt-get remove --purge nvidia* # 安装驱动需要的依赖 sudo apt-get install dkms build-essential linux-headers-generic sudo vim /etc/mo…...
express学习笔记2 - 三大件概念
中间件 中间件是一个函数,在请求和响应周期中被顺序调用(WARNING:提示:中间件需要在响应结束前被调用) 路由 应用如何响应请求的一种规则 响应 / 路径的 get 请求: app.get(/, function(req, res) {res…...
Steam搬砖蓝海项目
这个项目早在很久之前就已经存在,并且一直非常稳定。如果你玩过一些游戏,你一定知道Steam是什么平台。Steam平台是全球最大的综合性数字发行平台之一,玩家可以在该平台购买、下载、讨论、上传和分享游戏和软件。 今天我给大家解释一下什么是…...
就业并想要长期发展选数字后端还是ic验证?
“就业并想要长期发展选数字后端还是ic验证?” 这是知乎上的一个热点问题,浏览量达到了13,183。看来有不少同学对这个问题感到疑惑。之前更新了数字后端&数字验证的诸多文章,从学习到职业发展,都写过,唯一没有做过…...
当服务器域名出现解析错误的问题该怎么办?
域名解析是互联网用户接收他们正在寻找的域的地址的过程。更准确地说,域名解析是人们在浏览器中输入时使用的域名与网站IP地址之间的转换过程。您需要站点的 IP 地址才能知道它所在的位置并加载它。但,在这个过程中,可能会出现多种因素…...
面试必考精华版Leetcode2095. 删除链表的中间节点
题目: 代码(首刷看解析 day22): class Solution { public:ListNode* deleteMiddle(ListNode* head) {if(head->nextnullptr) return nullptr;ListNode *righthead;ListNode *lefthead;ListNode *NodeBeforeLeft;while(right!n…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
