Stable Diffusion 模型的概念、类型、下载、安装、使用

news/2024/7/10 19:20:25 标签: stable diffusion, AI作画, AIGC, python

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。

大家好,我是水滴~~

我们在《Stable Diffusion WebUI 界面介绍》 时,第一个就讲到了 Stable Diffusion 模型,那么这个模型是什么?该从哪儿下载?下载后放到哪儿?该怎么使用呢?本篇文章将围绕着这几个问题来逐一讲述。

文章目录

  • 一、什么是模型
  • 二、大模型的类型
    • 2.1 基础模型(Base Model)
    • 2.2 文件类型
  • 三、大模型在哪儿下载
    • 3.1 Civitai(C站)
    • 3.2 LiblibAI(哩布哩布AI)
  • 四、大模型放哪里
  • 五、使用大模型生成图片


一、什么是模型

Stable Diffusion 是一种基于扩散过程的图像生成模型,由 CompVis、Stability AI 和 LAION 共同开发。该模型通过模拟扩散过程,将噪声图像逐渐转化为目标图像,可以生成高质量、高分辨率的图像。
Stable Diffusion 模型经过大量的图文模型进行训练,具有强大的生成能力,可以胜任多种风格,如写实、原画、2.5D等,并能实现顶级的光影效果和人物风景细节。

简单来理解,Stable Diffusion 是经过训练出来的,可以生成图片的模型。人们可以针对性的来训练某种风格的模型,所以我们会看到有很多种模型。我们想要生成什么风格类型的图片,就选择对应的模型。

模型是生成图片的基础,我们想要出什么图,就选择什么样的模型,所以我们一般称它为大模型底模型主模型

在下图中有三种模型,每一种模型都有自己的风格:

在这里插入图片描述

  • Dark Sushi Mix 大颗寿司Mix:动漫风格、2.5D
  • Disney Pixar Cartoon type B:3D 风格、迪士尼皮克斯动画片
  • majicMIX realistic 麦橘写实:写实风格、亚洲人面孔

二、大模型的类型

2.1 基础模型(Base Model)

Stable Diffusion 的基础模型有很多版本,而使用最广泛的是 SD1.5 和 SDXL(Stable Diffusion Extra Large),绝大部分模型都是基于这两个版本来训练出来的。

下面是这两个版本的差异:

  • 图像质量和生成速度:SDXL在图像质量方面相对于SD 1.5有了显著的提升。SDXL能够生成更高质量的图像,具有更强的细节和更真实的质感。此外,SDXL的生成速度也比SD 1.5更快,这得益于其更大的模型规模和更高效的计算资源利用。
  • 模型规模和训练数据:SDXL是一个更大规模的模型,其参数数量比SD 1.5更多。这意味着SDXL能够处理更复杂、更精细的图像生成任务。同时,SDXL的训练数据量也比SD 1.5更大,这有助于提高其生成图像的多样性和准确性。
  • 应用场景:由于SDXL在图像质量和生成速度方面的优势,它更适合用于需要高质量图像生成的应用场景,如广告、游戏设计、影视制作等。而SD 1.5则更适合用于一些对图像质量要求不高、更注重生成速度的场景,如社交媒体分享、个人创作等。

2.2 文件类型

Stable Diffusion 模型的文件类型主要包括以下几种:

  • .ckpt:这是 TensorFlow 和 PyTorch 等深度学习框架常用的模型检查点(checkpoint)文件扩展名。它通常用于保存和加载模型在训练过程中的权重和状态。
  • .safetensors:这是一种特定的文件格式,用于保存模型的权重和参数。在某些情况下,Stable Diffusion模型可能会使用这种格式来存储其模型文件。
  • .pt:这是PyTorch深度学习框架使用的模型文件扩展名。PyTorch是一个流行的深度学习框架,因此许多模型,包括Stable Diffusion,可能会使用这种格式来存储模型文件。

在这几种模型文件中,最常用的是 .ckpt.safetensors 两种类型。
.safetensors 是 HuggingFace 推出的新的模型存储格式。与 .ckpt 不同 .safetensors 格式不会包含执行代码,因此不需要反序列化。这意味着加载模型时 .safetensors 会更快,也更安全。目前,.safetensors 已经成为主流的 Stable Diffusion 模型存储格式。。

三、大模型在哪儿下载

那么在哪里可以下载我们想要的模型呢?这里给大家推荐两个网站:

3.1 Civitai(C站)

Civitai(C站)是全球最大的 Stable Diffusion 模型的分享网站,用户可以免费下载模型。C站的作者来自于全球各地,模型种类繁多,是 AI 绘画爱好者的首选。

C站是国外网站,需要魔法才能打开。也可以关注我的专栏,我会定期分享 C站上优秀的模型。

在这里插入图片描述

3.2 LiblibAI(哩布哩布AI)

LiblibAI(哩布哩布AI)是国内最大的 Stable Diffusion 模型的分享网站,上面大部分模型用户可以免费下载。哩布哩布AI 上的模型中国元素居多,非常受国内爱好者的青睐。
在这里插入图片描述

四、大模型放哪里

模型下载完后,通常是这样子的:
在这里插入图片描述

我们将它放到 Stable Diffusion WebUI 主目录中的 \models\Stable-diffusion 目录下:

在这里插入图片描述

我们点击模型列表右侧的【刷新】按钮,模型就会被加载到列表中:

在这里插入图片描述

选择模型,会有一个加载的过程,速度与磁盘有关,固态盘加载的会快一些:

在这里插入图片描述

选择好后,我们就可以使用它了:

在这里插入图片描述

五、使用大模型生成图片

选择好模型后,输入提示词,我们先来输入一个简单的:a girl,表示生成一个女孩,然后点击【生成】按钮:

在这里插入图片描述

生成需要一个过程(显卡越好越快),右下角可以看到生成的过程和进度:

在这里插入图片描述

生成结束后,就可以看到完整图片了,点击后可以放大:

在这里插入图片描述

这样,该模型的第一张图就生成好了。

我们再来一张,这次提示词增加了绿色头发:a girl, green hair,表示生成一个绿头发的女孩:
在这里插入图片描述
生成的结果:

在这里插入图片描述


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

相关文章

【Qt学习】QLineEdit 控件 属性与实例(登录界面,验证密码,正则表达式)

文章目录 1. 介绍2. 实例使用2.1 登录界面2.2 对比两次密码是否相同2.3 通过按钮显示当前输入的密码(并对2.2进行优化)2.4 结语 3. 正则表达式3.1 QRegExp3.2 验证输入内容 4. 资源代码 1. 介绍 关于 QLineEdit 的详细介绍,可以去查阅官方文…

【Flink状态管理(六)】Checkpoint的触发方式(1)通过CheckpointCoordinator触发算子的Checkpoint操作

文章目录 一. 启动CheckpointCoordinator二. 开启CheckpointScheduler线程三. 触发Checkpoint1. Checkpoint执行前的工作2. 创建PendingCheckpoint3. Checkpoint的触发与执行 四. Task节点的Checkpoint操作1. 触发准备2. 调用TaskExecutor执行Checkpoint操作 五. 在StreamTask中…

【unity实战】使用unity制作一个类似Rust的3D生存建造建筑系统(附项目源码)

配置连接点 材质 连接器控制 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Connector : MonoBehaviour {[Header("连接器位置")]public ConnectorPosition connectorPosition;[Header("连接器所属建筑类型&qu…

js设计模式:过滤器模式

作用: 通常是为了实现引用类型数据的筛选,查找符合条件的对象 可以针对各种情况定义独立功能的过滤器,将过滤条件进行封装 如果有很多格式基本相同的数据,可以方便复用 示例: class Filter{constructor(filterHandler){this.filterHandler filterHandler}filterFun(list){…

【GPTs分享】每日GPTs分享之Canva

简介 Canva,旨在帮助用户通过Canva的用户友好设计平台释放用户的创造力。无论用户是想设计海报、社交媒体帖子还是商业名片,Canva都在这里协助用户将创意转化为现实。 主要功能 设计生成:根据用户的描述和创意需求,生成定制的设…

力扣代码学习日记六

Problem: 66. 加一 思路 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输…

Stream、Collections、Collectors用法

当涉及Java编程中的集合处理时,Stream、Collections和Collectors是三个常用的工具。以下是它们各自的主要功能和使用的一些方法的概要: Stream: 概要:Stream 是 Java 8 引入的一个强大工具,用于处理集合数据的流式操作…

【Crypto | CTF】BUUCTF RSA2

天命:密码学越来越难了,看别人笔记都不知道写啥 天命:莫慌,虽然我不会推演法,但我可以用归纳法 虽然我不知道解题的推演,但我可以背公式啊哈哈哈 虽然我不会这题,但是我也能做出来 公式我不知…