AI 绘画Stable Diffusion 研究(三)sd模型种类介绍及安装使用详解

news2024/11/15 15:56:40

本文使用工具,作者:秋葉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更多干货 , 敬请期待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/823733.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

<C++> 二、类和对象(下)

1.const成员函数 将const修饰的“成员函数”称之为const成员函数&#xff0c;const修饰类成员函数&#xff0c;实际修饰该成员函数隐含的this指针&#xff0c;表明在该成员函数中不能对类的任何成员进行修改。 class A { public:void Print() //这里隐藏了A* this指针{cout &l…

【win11+vs 2017+OpenCV4.5.5+Qt5.12配置】解决了过程中遇到的小问题

0.版本选择 由于Qt5无法与最新的vs2022兼容&#xff0c;扩展工具中一直显示不可用&#xff0c;所以将vs降级成vs2017。 在安装Qt的过程中&#xff0c;会选择安装Qt套件&#xff0c;其中就的MCVS 2017&#xff0c;说明vs2017是与qt兼容的。 当然也可以用qt creator这一原生IDE。…

测试|Junit相关内容

测试|Junit相关内容 文章目录 测试|Junit相关内容0.Junit说明1.Junit注解TestDisabledBeforeAll和AfterAllBeforeEach和AfterEach 2.Junit参数化单参数多参数&#xff08;多种/多组&#xff09;CSV获取参数&#xff08;支持多种&#xff09;CSV文件获取参数&#xff08;支持多种…

牛客网Verilog刷题——VL52

牛客网Verilog刷题——VL52 题目答案 题目 请编写一个十进制计数器模块&#xff0c;当mode信号为1&#xff0c;计数器输出信号递增&#xff0c;当mode信号为0&#xff0c;计数器输出信号递减。每次到达0&#xff0c;给出指示信号zero。模块的接口信号图如下&#xff1a; 模块的…

文心一言 VS 讯飞星火 VS chatgpt (69)-- 算法导论6.5 8题

八、HEAP-DELETE(A&#xff0c;i)操作能够将结点 i 从堆 A 中删除。对于一个包含 n个元素的堆&#xff0c;请设计一个能够在 O(lgn)时间内完成的 HEAP-DELETE 操作。 文心一言&#xff1a; 要在 O(log n) 时间内完成 HEAP-DELETE 操作&#xff0c;可以使用以下方法&#xff1…

IPsecVPN实验复现

基础配置&#xff1a; r1&#xff1a; r2&#xff1a; r3&#xff1a; AR1&#xff1a; 一 配置IKE AS 的安全协议&#xff1a; ike proposal 1 ---安全提议编号 encryption-algorithm aes-cbc-128 --- 加密算法 dh group5 ---DH算法 authentication-algorithm md5---…

一起来学算法(邻接矩阵)

前言&#xff1a; 邻接矩阵是数学和计算机科学中常用的一种表示方式&#xff0c;用来表述有向图或无向图&#xff0c;一张图由一组顶点&#xff08;或结点&#xff09;和一组表组成&#xff0c;用邻接矩阵就能表示这些顶点间存在的边的关系 1.图的概念 对于图而言&#xff0c;…

【业务功能篇61】SpringBoot项目流水线 dependencyManagement 标签整改依赖包版本漏洞问题

业务场景&#xff1a;当前我们项目引入了公司自研的一些公共框架组件&#xff0c;比如SSO单点登录jar包&#xff0c;文件上传服务jar包等公共组件&#xff0c;开发新功能&#xff0c;本地验证好之后&#xff0c;部署流水线&#xff0c;报出一些jar包版本的整改漏洞问题&#xf…

一文帮你快速理解协程使用模型

本文同步发表在个人博客上 0xforee’s blog 前言 A coroutine is an instance of suspendable computation. It is conceptually similar to a thread, in the sense that it takes a block of code to run that works concurrently with the rest of the code. However, a co…

d3dcompiler_47.dll缺失怎么修复,分享几种快速修复方法

当我们打开电脑软件或许游戏时候&#xff0c;如果电脑计算机中丢失了d3dcompiler_47.dll就会报错&#xff0c;丢失d3dcompiler_47.dll“”或许找不到d3dcompiler_47.dll等等提示。它主要用于编写和编译Direct3D 11的着色器程序&#xff0c;是Direct3D 11中非常重要的组成部分。…

FFmpeg下载安装及Windows开发环境设置

1 FFmpeg简介 FFmpeg&#xff1a;FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。项目的名称来自MPEG视频编码标准&#xff0c;前面的"FF"代表…

Java中集合容器详解:简单使用与案例分析

目录 一、概览 1.1 Collection 1. Set 2. List 3. Queue 1.2 Map 二、容器中的设计模式 迭代器模式 适配器模式 三、源码分析 ArrayList 1. 概览 2. 扩容 3. 删除元素 4. 序列化 5. Fail-Fast Vector 1. 同步 2. 扩容 3. 与 ArrayList 的比较 4. 替代方案…

AutoSAR系列讲解(实践篇)10.8-实验:模式管理

首先备份上一次的工程,养成好习惯(最好还是用Git,这次最后再安利一下Git这个神器)。今天的实验异常的简单,基本都是自动配置好了,只需 要勾选上就行,但是大家最好结合前面讲解的内容,把里面的选项点开看看,稍微理解一下。如此,假如配置出错了,才不至于慌乱了手脚 一…

【C语言】通讯录3.0 (文件存储版)

前言 通讯录是一种记录联系人信息的工具&#xff0c;包括姓名、电话号码、电子邮件地址、住址等。 文章的一二三章均于上一篇相同&#xff0c;可以直接看第四章改造内容。 此通讯录是基于通讯录2.0&#xff08;动态增长版&#xff09;的基础上进行增加文件操作功能&#xff0c…

jq——页面滚动到显示区域,再执行动画——基础积累

今天郑大东同事向我显摆了一个他做的动画&#xff0c;效果如下&#xff1a; 使用场景 当页面滚动到相应区域时&#xff0c;再执行里面的动画&#xff0c;也就是下图中右侧的一层层的显示动画&#xff0c;无论是向上滚动页面还是向下滚动页面。 下面直接上代码&#xff1a; …

mybatis更新时记录变更的字段日志java反射获取字段值转成string

1.先写个注解,加在entity的字段上,标记要记录这个字段的更新记录&#xff0c;再加个变更记录表&#xff08;你们可以用自己的日志表&#xff09; Retention(RetentionPolicy.RUNTIME) Target({java.lang.annotation.ElementType.FIELD}) Documented public interface ModifyAw…

iPhone 8透明屏的透明度高吗?

iPhone 8是苹果公司于2017年推出的一款智能手机&#xff0c;它采用了全新的设计和技术&#xff0c;其中一个亮点就是透明屏。 透明屏是指屏幕具有透明度&#xff0c;可以透过屏幕看到背后的物体。 iPhone 8的透明屏采用了最新的OLED技术&#xff0c;这种技术可以实现更高的对比…

Jmeter —— jmeter参数化实现

jmeter参数化 在实际的测试工作中&#xff0c;我们经常需要对多组不同的输入数据&#xff0c;进行同样的测试操作步骤&#xff0c;以验证我们的软件的功能。这种测试方式在业界称为数据驱动测试&#xff0c; 而在实际测试工作中&#xff0c;测试工具中实现不同数据输入的过程称…

替代LT8711龙讯替代RTD2172 CS5265中文规格书4K60HZ转接线 设计Type-C转HDMI2.0高清投屏方案

龙迅LT8711是一款Type-C/DP1.2 to HDMI2.0方案芯片&#xff0c;北京集睿致远&#xff08;ASL&#xff09;推出的CS5265可以完全代替LT8711UX&#xff0c;封装尺寸比LT8711UX小的同时&#xff0c;CS5265的芯片集成度高&#xff0c;内置MCU&#xff0c;内置lLDO等&#xff0c;CS5…

【外卖系统】菜品信息分页查询

需求分析 当菜品数据很多时&#xff0c;用分页的形式来展示列表数据 代码开发 页面发送ajax请求&#xff0c;将分页查询参数提交到服务端&#xff0c;获取分页数据页面发送请求&#xff0c;请求服务端进行图片下载&#xff0c;用于页面图片展示 构造分页 注意&#xff1a;…