stable diffusion实践操作-大模型介绍:SD的发展历史,SD1.5和SDXL之间的差别

大家有没有这样的困惑:在找模型时,老是会出现一些奇怪的标签,像 sd1.5、sdxl 之类的模型后缀,真让人摸不着头脑,一会儿 1.0,一会儿 1.5,一会儿 XL,完全搞不清楚状况。今天就来给大家好好讲讲,这些让人一头雾水的标签究竟是什么意思。

首先,咱们得先了解一些与 SD 相关的基础知识。Stable Diffusion 是一种基于概率论的生成模型,通过特定算法进行训练的人工智能,它能够通过不断迭代与优化,生成高质量的图像和视频。

这一介绍揭示了 SD 的本质,它是一款持续更新的模型软件。在其发展进程中,SD 从 1.0 版本起不断推陈出新,截至目前,推出的版本号已经达到了3.5。当然关于3.5和flux之间的问题是下一次的内容,这次主要讲的是sd1.5和sdxl的历史。

先讲讲 sd 1.0 的发展历程。Stable Diffusion v1.0 于 2022 年 8 月首次公开发布,随后在一段时间内陆续有一些小版本更新,如 1.0 - 1.4 等。这些版本创新点不多,主要是在改进模型的性能与质量方面下功夫。到了 2022 年 10 月,持续时间较长的 sd1.5 版本模型正式推出。用过 sd 模型的朋友都知道,sd 在生成大尺寸图片时,常常会出现多重身的现象。这是因为模型训练时采用的是 512 * 512 的图片,一旦超出这个规格,AI 就会误判为要生成两张图片,所以才会有多重身的问题。

不得不说,1.5 版本发布的时机相当巧妙。在那段时间,由于 sd 的开源特性,与之匹配的插件层出不穷。因此,尽管 1.5 版本也是用 512 * 512 的图片训练出来的,但在丰富的生态插件助力下,制作较大像素的图片也毫无压力,而且还有各种各样的风格模型,所以 1.5 版本的生态在几个版本中是最为出色的。后续发布的 2.0 - 2.1 两个版本,虽然图片的采样数量持续增加,图片规格也提升到了 768 * 768,但始终难以取代 1.5 版本的地位。

直到 2023 年 8 月,sd 的开发公司又推出了 sdxl 版本的模型。

sdxl 与 sd1.5 存在诸多区别:

  1. 模型组合差异:sd1.5 的生成模型仅有一个;而 sdxl 的生成模型有两个,能够灵活组合出图。其基础模型为 base 模型(负责潜空间放大),精修模型是 refiner 模型(负责细化放大)。
  2. 训练参数有别:1.5 模型的训练参数为 9.8 亿,XL 的 base 模型有 35 亿参数,refiner 参数模型更是高达 65 亿。并且 1.5 训练的图片分辨率主要是 512 * 512,XL 的训练图片则是 1024 * 1024。训练参数与图像分辨率的不同,使得 XL 生成的图片分辨率更高,细节也更加丰富。
  3. 提示词写法优化:sd1.5 主要使用短语提示词,而且需要添加诸如考虑更多提示词各部分权重、提升画质等与图片内容无关的提示词。例如,1.5 版本被人诟病最多的一点就是需要添加更多的 Lora 模型才能生成较好的图片。而 sdxl 既可以用短语也能用句子生成图片,无需质量词,对自然语言的理解能力更强。要知道,以往的 sd 都需要使用者学习各种复杂的提示词,还要善于运用各种插件才能生成可用的图片。用自然语言生成精美图片可是另一个 AI 绘画领域巨头 Midjourney 的看家本领,也是其每月收取 50 美金费用的资本所在,如今这道原本坚固的护城河已逐渐被瓦解。
  4. sdxl生成的图片展示:

总体而言,使用 sdxl 模型生成图片的良品率还是比较可观的。当然,这个良品率也存在一定的局限性。在生成真实图片时,我觉得用 sdxl 模型生成的底图,再结合 sd 经过调教的真实系 Lora 模型,效果会更好。而在动漫图片方面,借助 sdxl 的自然语言处理能力能够更轻松地得到理想的构图,再搭配动漫画风的模型,就能收获不错的成果。下次再来为大家介绍 sd 目前最为精彩的 sd3.5 大模型以及黑森林推出的 flux 大模型。

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

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

相关文章

网络编程第二课

预备知识 1、操作系统的用户态和内核态: 用户态指的是用户自己定义工作空间,自己申请变量、定义函数的操作。 内核态指把一些工作交给操作系统去玩成,用户本身看不到执行过程,只能获取操作系统最后执行完成的结果。其中&#x…

Spring中@Transactional注解与事务传播机制

文章目录 事务传播机制事务失效的场景 事务传播机制 事务的传播特性指的是 当一个事务方法调用另一个事务方法时,事务方法应该如何执行。 事务传播行为类型外部不存在事务外部存在事务使用方式REQUIRED(默认)开启新的事务融合到外部事务中Transactional(propagati…

Python酷库之旅-第三方库Pandas(252)

目录 一、用法精讲 1191、pandas.tseries.offsets.BusinessMonthBegin.n属性 1191-1、语法 1191-2、参数 1191-3、功能 1191-4、返回值 1191-5、说明 1191-6、用法 1191-6-1、数据准备 1191-6-2、代码示例 1191-6-3、结果输出 1192、pandas.tseries.offsets.Busine…

IO流之文件

1. 文件流 2. 常用文件操作 2.1 文件创建 方式1 new File(String pathname) // 根据路径创建一个File对象 方式2 new File(File parent,String child) //根据父目录文件子路径构建 方式3 new File(String parent,String child) //根据父目录子路径构建 package com.hspedu.fil…

【从零开始的LeetCode-算法】35. 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2示例 2: 输入: …

C++(4个类型转换)

1. C语言中的类型转换 1. 隐式 类型转换: 具有相近的类型才能进行互相转换,如:int,char,double都表示数值。 2. 强制类型转换:能隐式类型转换就能强制类型转换,隐式类型之间的转换类型强相关,强制类型转换…

深度学习7 梯度下降优化、过拟合、手机价格预测

三、BP算法 3、梯度下降 w w - lr * grad: w 表示权重,lr表示学习率,grad表示梯度 传统下降方式分三类:(BGD)批量梯度下降、(MBGD)小批量梯度下降、(SGD)随…

计算机的错误计算(一百七十二)

摘要 探讨 MATLAB 对于算式 的计算误差。 例1. 在 MATLAB 中计算 的值。 直接贴图吧: 这样,MATLAB 的输出中只有3位正确数字,有效数字的错误率为 (16-3)/16 81.25% . 因为16位的正确输出为 0.2971242332737277e-18(ISReals…

手撸了一个文件传输工具

在日常的开发与运维中,文件传输工具是不可或缺的利器。无论是跨服务器传递配置文件,还是快速从一台机器下载日志文件,一个高效、可靠且简单的文件传输工具能够显著提高工作效率。今天,我想分享我自己手撸一个文件传输工具的全过程…

Linux系统编程之进程创建

概述 在Linux系统中,通过创建新的进程,我们可以实现多任务处理、并发执行和资源隔离等功能。创建进程的主要方法为:fork、vfork、clone。下面,我们将分别进行介绍。 fork fork是最常用的创建新进程的方法。当一个进程调用fork时&a…

【人工智能】用Python实现卷积神经网络(CNN)进行图像分类:从零开始的深度学习教程

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 卷积神经网络(CNN)是处理图像分类任务的核心工具,它通过卷积操作和池化机制提取图像的特征并实现分类。本文将手把手教你如何使用 Python 和深度学习框架(PyTorch)从头实现一个 CNN 模型,应用于图像…

深入探讨NIO

目录 传统阻塞IO 非阻塞IO select() epoll 总结 传统阻塞IO 非阻塞IO IO多路复用select() IO多路复用epoll 传统阻塞IO 在传统的阻塞IO模型中,当一个线程执行到IO操作(如读取数据)时,如果数据尚未准备好,它会…

新手参加2025年CTF大赛——Web题目的基本解题流程

CTF(Capture the Flag)是网络安全比赛中的一种常见形式,参赛者需要通过破解题目、发现漏洞并获取flag(标志)来获得分数。 这些问题涉及多个领域,如逆向工程、Web安全、密码学、二进制漏洞、取证分析等。CTF…

1Panel 自建邮局 - Docker Mailserver

本文首发于 Anyeの小站,点击链接 访问体验更佳 前言 首先发一段劝退说辞:我相信点进本文的人自建邮局的目的更多地是为了能用自己的域名邮箱,收发邮件? 仅收不发,推荐使用 https://www.cloudflare.com/zh-cn/develop…

QT-thread2种方式选择的优劣对比

1.第一种方式:使用 QObject 的 moveToThread() QObjectQthread class MessageWriter : public QObject {Q_OBJECT public slots:void writeDataToFile(); };threadMsgExchange new QThread();MessageWriter *writer new MessageWriter();writer->moveToThread…

【Maven】功能和核心概念

1. 什么是Maven 1.1 Maven的概念 Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理。 1.2 为什么要使用Maven? 在项目开发中,我们需要引用各种 jar 包,引用的 jar 包可能有…

Go运行Grule引擎实现计费规则管理

Go运行Grule引擎实现计费规则管理 github位置: https://github.com/hyperjumptech/grule-rule-engine # 安装grule模块 go get -u github.com/hyperjumptech/grule-rule-engineGrule的示例代码 示例位置: https://github.com/hyperjumptech/grule-rule-engine/tree/master/e…

企业网站面临的爬虫攻击及安全防护策略

在当今数字化时代,企业网站不仅是展示企业形象的窗口,更是进行商业活动的重要平台。然而,企业网站在日常运营中面临着多种类型的爬虫攻击,这些攻击不仅会对网站的正常访问造成影响,还可能窃取敏感数据,给企…

Hive on Spark 的Pre-commit 测试

什么是 Pre-Commit 测试? Pre-Commit 测试是一种提交代码到主分支或共享代码库之前运行的一系列自动化测试,用于捕获代码中的潜在问题自动运行的测试流程。其目的是确保新提交的代码不会引入错误,破坏现有功能或降低代码质量。对于大型项目如…

android shader gl_Position是几个分量

在Android的OpenGL ES中,gl_Position是顶点着色器(Vertex Shader)的一个内置输出变量,它用于指定顶点在裁剪空间(Clip Space)中的位置。gl_Position是一个四维向量(4-component vector&#xff…