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…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...