Stable Diffusion

news/2024/7/10 20:51:48 标签: stable diffusion, 人工智能

文章目录

  • 1.主界面功能介绍
  • 2.咒语一:
  • 3.参数
    • 3.1 采样步数
    • 3.2 提示词系数和随机种子
  • 4.魔法书
  • 5.模型
    • 5.1 模型介绍
    • 5.2 模型种类及使用方法一览
      • 模型后缀名之谜
      • 常见模型种类及使用方法
        • 1.大模型。
      • 2.Embedding (Textual inversion)
      • 3.Hypernetwork
      • 4.LoRA
      • 5.VAE模型

1.主界面功能介绍

在这里插入图片描述

2.咒语一:

安装完毕,先来个咒语体验下。实践才是解决疑问的最好方案。
正向
masterpiece, best quality,

通用反向提示词:保底不出古神
lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry

另外,你可能会看到别人发的 Tag 里面会有一些符号?比如大小括号等等。
这属于进阶用法,这里仅仅简单提及一下。以 girl 这个 Tag 作为例子。

  • (girl) 加权重,这里是1.1倍。括号是可以叠加的,如((girl)) 加很多权重。1.1*1.1=1.21倍
  • [girl] 减权重,一般用的少。减权重也一般就用下面的指定倍数。
  • (girl:1.5) 指定倍数,这里是1.5倍的权重。还可以 (girl:0.9) 达到减权重的效果

3.参数

3.1 采样步数

不需要太大,一般在50以内。通常28是一个不错的值。

采样器没有优劣之分,但是他们速度不同。全看个人喜好。推荐的是图中圈出来的几个,速度效果都不错。

3.2 提示词系数和随机种子

在这里插入图片描述
提示词相关性代表你输入的 Tag 对画面的引导程度有多大,可以理解为 “越小AI越自由发挥”太大会出现锐化、线条变粗的效果。太小AI就自由发挥了,不看 Tag。

随机种子是 生成过程中所有随机性的源头 每个种子都是一幅不一样的画。默认的 -1 是代表每次都换一个随机种子。由随机种子,生成了随机的噪声图,再交给AI进行画出来。

4.魔法书

https://tags.novelai.dev/

5.模型

不同的模型会带来不同的画风、认识不同的概念(人物/物体/动作),这是模型众多的原因。
常说的NovelAI就是特指NovelAI制作的一款日系二次元特化的模型。
stable-diffusion 1.5/2.0 这些模型是较为通用的、现实模型,无法画出二次元图片。

5.1 模型介绍

当前,常见的模型可以分为两大类:大模型,用于微调大模型的小型模型
这里的大模型特指标准的 latent-diffusion 模型。拥有完整的 TextEncoder、U-Net、VAE

由于想要炼制、微调(finetune)大模型十分困难,需要好显卡、算力,所以更多的人选择去炼制小型模型。这些小型模型通过作用在大模型的不同部分,来简单的修改大模型,从而达到目的。

常见的用于微调大模型的小型模型又分为以下几种:Textual inversion (常说的Embedding模型)Hypernetwork模型LoRA模型

此外,还有一种叫做 VAE 的模型,通常来讲 VAE 可以看做是类似滤镜一样的东西。他会影响出图的画面的色彩和某些极其微小的细节。大模型本身里面就自带 VAE 的,但是一些融合模型的 VAE 烂掉了 (典型:Anything-v3),需要外置 VAE 的覆盖来救救。有时画面发灰就是因为这个原因。
VAE, Variational autoencoder。变分自编码器,负责将潜空间的数据转换为正常图像。

由于模型的种类不同、作用位置也不同,所以想要使用这些模型文件必须分清这些模型类别,并且正确的使用对应的方法模型才会生效。
如何区分这些模型对新手来说是一件非常困难的事情,因为他们都可以拥有一样的后缀名(下一节将详细展开说明)。通常没有专业知识的人员应该通过文件大小来简单判断模型类别。

5.2 模型种类及使用方法一览

模型后缀名之谜

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

  1. ckpt
  2. pt
  3. pth
  4. safetensors
  5. (特殊)webui 特殊模型保存方法:PNG、WEBP图片格式。

暂且抛开第五种不谈。这几种后缀名都是标准的模型,从后缀名是无法判断具体是哪一种类的模型。

其中,1,2,3 这三种是 pytorch[2] 的标准模型保存格式,由于使用了 Pickle,会有一定的安全风险(自行百度:pickle反序列化攻击)。第四种为一种新型的模型格式,正如同他的名字,safe。为了解决前面的这几种模型的安全风险而出现的。safetensors 格式与 pytorch 的模型可以通过工具进行任意转换,只是保存数据的方式不同,内容数据没有任何区别。

Pytorch, 深度学习框架 https://pytorch.org/

常见模型种类及使用方法

1.大模型。

常见格式为 ckpt,一个字,大。大小在GB级别,常见有 2G、4G、7G模型。
模型大小不代表模型质量
使用方法:放在这个文件夹内。
B:\stable diffusion\5月15日更新\sd-webui-aki-v4.1\models\Stable-diffusion
在 webui 左上角选择对应的模型。
部分合并出来的大模型VAE烂掉了,画面会发灰,这时候需要你去设置中手动选择vae并应用保存。

2.Embedding (Textual inversion)

俗称的 embedding 模型。常见格式为 pt、png图片、webp图片。大小一般在 KB 级别。
使用方法:
放在这个文件夹里面:B:\stable diffusion\5月15日更新\sd-webui-aki-v4.1\embeddings
生成图片的时候需要带上 模型文件名 作为 tag
例如,上面这张图里面的 shiratama_at_2-3000.pt 这个模型,使用的时候就需要带上这个tag:shiratama_at_2-3000

3.Hypernetwork

常见格式为 pt。大小一般在几十兆到几百兆不等。由于这种模型可以自定义的参数非常之多,一些离谱的 Hypernetwork 模型可以达到 GB 级别。
使用方法:放在这个文件夹内:B:\stable diffusion\5月15日更新\sd-webui-aki-v4.1\models\hypernetworks
旧版的时候在设置里面可以找到选项,选择对应的即可使用。

4.LoRA

常见格式为 pt、ckpt。大小一般在8mb~144mb不等。
使用方法:目前有两种用法。

  1. 一种是插件方式使用,参考这个视频。
    https://www.bilibili.com/video/BV1Py4y1d7eJ/

  2. 另一种是新版本,原生支持lora。
    模型需要放在 models/Lora 文件夹。
    使用方法如图所示,点击一个模型以后会向提示词列表添加类似这么一个tag, lora:模型名:权重 也可以直接用这个tag调用lora模型。
    在这里插入图片描述

5.VAE模型

常见格式为 .pt
使用方法:将其放在 B:\stable diffusion\5月15日更新\sd-webui-aki-v4.1\models/VAE 文件夹。
放置完毕后,在设置页面进行如下选择并保存。
在这里插入图片描述


http://www.niftyadmin.cn/n/373845.html

相关文章

如何在 Python 中进行循环语句控制?

在 Python 中,循环语句控制是编程中最常用的结构之一。它允许程序员重复执行一组代码,直到达到特定的条件为止。在本篇博客中,我们将介绍 Python 中的循环语句控制以及如何使用它来编写更加灵活的程序。 Python 中的循环语句 Python 中有两…

《简单的http网站的构建》

【一】什么是协议 通过udp和tcp协议大家知道,无论是以数据报还是字节流的方式去把信息传送出去,都需要将我们所有的信息转化为字符串的形式进行发送,这叫序列化,在另外一头将字符串转化为我们所需要的信息,这是反序列…

chatgpt赋能python:Python中拼接字符串的最佳方法

Python中拼接字符串的最佳方法 在Python编程中,拼接字符串是一个非常常见的任务。无论是将多个字符串连接成一个字符串,还是将变量值插入到字符串中,我们都需要拼接字符串。本文将介绍Python中拼接字符串的几种方法,并为你推荐最…

oop练习题

public static void main(String[] args) { // (三)无返回,有参数的方法: // 设置当前狗的姓名的方法,要求传入狗的新姓名,修改当前姓名。 // 设置当前狗的性别的方法,要求传入狗的新性别&am…

Python 面向对象编程笔记:中级面向对象

__super__() 在 Python 中,super 是一个内置函数,用于调用父类方法。该函数可以在子类中调用父类中被重写的方法,从而实现对父类方法的继承并且进行扩展。它能够动态地查找当前子类继承链中的下一个类,从而允许设计者更加灵活地…

OpenLDAP 搭建及简单使用

文章目录 1、前言LDAPOpenLDAP 2、安装(通过 Docker 部署)环境说明镜像说明部署客户端&验证连接示例 总结 1、前言 LDAP 轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP&am…

汇编调试及学习

汇编调试 打印寄存器的值 打印内存地址 打印8字节,就是64位 打印格式 是从低位取过来的 b 字节 h 双字节 w四字节 g八字节 前变基 后变基 。 后变基这个变基会发生变化的。前变基变基不会发生变化需要用!号。 前变基 , 加了&#xff0…

科技发展的那些事儿

近30年来,科技发展取得了惊人的成就,涉及范围广泛,包括计算机科学、通讯技术、生物医学、能源等多个领域。本文将列举近30年来科技发展的重要事件,并探讨这些事件对我们的生活、工作和社会产生的影响。 1991年,Linux操…