AI 绘画Stable Diffusion 研究(十五)SD Embedding详解
大家好,我是风雨无阻。
本期内容:
- Embedding是什么?
- Embedding有什么作用?
- Embedding如何下载安装?
- 如何使用Embedding?
大家还记得 AI 绘画Stable Diffusion 研究(七) 一文读懂 Stable Diffusion 工作原理 这篇文章中,曾提到过词嵌入(Embedding)吗?
我们来简单回顾一下:Embedding 将输入的tokens转换为一个连续的向量,然后stable diffusion再将 Embedding 向量 通过text transformer
转换后,作为模型输入,进行训练。
那在上一篇中只是简单提到了Embedding, 对于我们实际使用stable diffusion过程中,可能很多朋友对Embedding的概念还不是很清楚。今天我们就来详细介绍一下Embedding, 它到底是干嘛的?有什么作用?以及应该怎么安装和使用Embedding ?
一、Embedding 的介绍
1、Embedding是什么?
Embedding 又名 textual inversion 中文名:“嵌入或文本反转”。
在计算机科学中,Embedding是将高维数据映射到低维空间的过程。
在图像处理中,Embedding通常用于将图像转换为向量表示,以便进行机器学习和深度学习任务。
在使用stable diffusion进行绘画时,Embedding可以用于将输入的图像转换为向量表示,以便于算法对其进行处理和生成新的图像。这种技术可以使算法更加高效地处理图像数据,并提高生成图像的质量和准确性。
2、Embedding有什么作用?
通俗来讲,Embedding 的作用就是对提示词进行打包。
如果你有做 UI 的经验,那么应该知道组件的概念。
在 Stable Diffusion 中,Embedding 技术就可以被理解为一种组件,它可以将输入数据转换成向量表示,方便模型进行处理和生成。
在日常使用中,Embedding 技术通常用于控制人物的动作和特征,或者生成特定的画风。
我们来举例,思考一个问题:
如果我们直接使用原版本的stable diffusion 文生图功能, 不使用stable diffusion 任何插件,我们应该怎么来生成如下的图片呢?
想必大家首先想到的是,写一大堆的提示词来进行控制生成,类似例如:
masterpiece, high-quality,1girl,clothes with Pink pattern,(brown hair), pinkearphones, green pattern on the earphones, blue tights, white gloves, ((pinkpattern on the clothes)), cat pattern on the face, detailed eyes, (pink theme), rabbitdecoration on the chest, green word pattern, sewing line on the clothes, long hair.thin girl, delicate face, beautiful face, melon face, skin full of details, pinkbackground, white gloves, thin neck, Sexy figure, (brown eyes:1.2), smile, wearingwhite shoes, green patterns, blushing,.....以下省略N个tag
但是,如果我们引入Embedding 后,只需要如下的提示词就可以生成上面的图:
masterpiece, high-quality,corneo dva
通过上面的问题,相信大家已经对 Embedding 的作用有所理解了吧。
3、Embedding 的特点
相比于其他模型来说(如 LORA),Embedding 文件的大小只有几十 KB。
除了还原度对比 LORA 差一些外,在存储和使用上却更方便。
总而言之:
Embedding 技术将输入数据转换为向量表示,为模型的处理和生成提供了便利。
通过使用 Embedding,我们可以更加轻松地生成符合预期的样本,而不需要手动输入大量的描述词汇。
二、Embedding下载和安装
既然Embedding 这么便利,我们一定得好好用起来,那么在哪里可以下载呢?
主要还是在c站下载。
接下来,就跟着我的演示步骤,实际操作一下吧。
第一步,打开c站,搜索 Embedding
第二步,选择喜欢的Embedding 下载
这里演示,我们选择这个骑马的外星人,点击“Download”下载:
下载后,我们得到 16-token-negative-deliberate-neg.pt 这个文件。
第三步 Embedding安装
将文件 16-token-negative-deliberate-neg.pt 拷贝到 sd-webui-aki-v4.2\embeddings 目录下。
\sd-webui-aki-v4.2\embeddings
记得重启stable diffusion 才能生效。
三、Embedding 的使用
1、功能栏区域,选择文生图,然后选择右侧生成按钮下方 “显示/隐藏扩展模型” 图标
如图:
切换到嵌入式 (Enbedding)标签页面 :
2、根据 Enbedding 模型演示图片 参数进行设置
-
正向提示词输入
an astronaut riding a horse on the moon, 8k uhd
-
反向提示词输入
3d render
- 选择下方刚刚安装的Enbedding : 16-token-negative-deliberate-neg
反向提示词输入框中会自动添加 16-token-negative-deliberate-neg 模型提示词
如图:
-
采样方法设置 : Euler
-
迭代步数设置:50
-
勾选高清分辨率修复
-
随机种子设置:43
4、点击“生成”按钮,查看效果
由此可见 Embedding真是一个很有用东西,通过简单的一个提示词就作出有自己特色的作品,感兴趣的朋友赶快玩起来吧~
相关文章:

AI 绘画Stable Diffusion 研究(十五)SD Embedding详解
大家好,我是风雨无阻。 本期内容: Embedding是什么?Embedding有什么作用?Embedding如何下载安装?如何使用Embedding? 大家还记得 AI 绘画Stable Diffusion 研究(七) 一文读懂 Stab…...

在Jupyter Notebook中添加Anaconda环境(内核)
在使用前我们先要搞清楚一些事: 我们在安装anaconda的时候它就内置了Jupyter Notebook,这个jupyter初始只有base一个内核(显示为Python3) 此后其实我们就不需要重复安装完整的jupyter notebook了,只要按需为其添加新的…...

适配器模式简介
概念: 适配器模式(Adapter Pattern)是一种结构型设计模式,用于将一个类的接口转换成客户端所期望的另一个接口。它允许不兼容的接口之间进行协同工作。 特点: 通过适配器,可以使原本因为接口不匹配而无法…...

MyBatis —— 多种查询及映射关系
前言 上一篇文章中荔枝梳理了有关MyBatis的相关环境配置和核心配置文件及其模板的设置和生成,而在这篇文章中荔枝会着重梳理MyBatis多种查询情况、特殊SQL执行以及两表联查时映射关系的处理。希望对需要的小伙伴有帮助~~~ 文章目录 前言 一、多种查询情况 1.1 查…...

腾讯云服务器镜像TencentOS Server操作系统详细介绍
腾讯云TencentOS Server镜像是腾讯云推出的Linux操作系统,完全兼容CentOS生态和操作方式,TencentOS Server操作系统为云上运行的应用程序提供稳定、安全和高性能的执行环境,TencentOS可以运行在腾讯云CVM全规格实例上,包括黑石物理…...

Docker 中下载各版本的 CentOS、CentOS Steam 方式
如果你跟我一样,想要在docker下载centos的镜像,但是无奈访问不了 https://hub.docker.com/,于是不知道有哪些tag可以下载,该如何办呢? 方法如下,以供参考。 访问:https://quay.io/repository/…...

多线程使用HashMap,HashMap和HashTable和ConcurrentHashMap区别(面试题常考),硬盘IO,顺便回顾volatile
一、回顾💛 谈谈volatile关键字用法 volatile能够保证内存可见性,会强制从主内存中读取数据,此时如果其他线程修改被volatile修饰的变量,可以第一时间读取到最新的值。 二、💙 HashMap线程不安全没有锁,HashTable线程…...

专线连接交换机设置 – 如何实现高效率的网络连接?
专线链接交换机设置 – 如何实现高效率的网络连接? 什么是专线连接交换机? 在现代互联网中,网络连接的快速和高效是至关重要的。尤其是对于需要大量数据传输和保证网络稳定性的企业和组织来说,专线连接交换机是一项非常重要的技…...

C#,数值计算——Midexp的计算方法与源程序
1 文本格式 using System; namespace Legalsoft.Truffer { public class Midexp : Midpnt { public new double func(double x) { return funk.funk(-Math.Log(x)) / x; } public Midexp(UniVarRealValueFun funcc, double aa, d…...

微信小程序使用本地存储方法wx.setStorageSync()和wx.getStorageSync()
微信小程序的本地存储可以使用wx.setStorageSync()和wx.getStorageSync()方法实现 使用wx.setStorageSync()方法可以将数据以键值对的方式存储到本地存储中: wx.setStorageSync(demo, demo123);获取数据:使用wx.getStorageSync()方法可以从本地存储中获…...

题解:ABC317C - Remembering the Days
题解:ABC317C - Remembering the Days 题目 链接:Atcoder。 链接:洛谷。 难度 算法难度:B。 思维难度:B。 调码难度:C。 综合评价:普及-。 算法 深度优先搜索。 思路 先建图&#x…...

【CSS】简记CSS效果:通过transition(动画过渡属性)实现侧边栏目滑入滑出
需求 在资金明细的页面中,点击按钮时筛选区域从左侧滑出,完成筛选点击确认后调用接口完成数据查询,筛选区域滑入左侧; 基于微信小程序页面实现 wxml代码 <view><!-- 操作按钮 --><button type"primary&qu…...

LeetCode——最大子数组和(中等)
题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#x…...

Zookeeper集成SpringBoot
Curator 是 Apache ZooKeeper 的Java客户端库。 Zookeeper现有常见的Java API如:原生JavaAPI、Curator、ZkClient等。 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"…...

ModaHub魔搭社区:星环科技致力于打造更优越的向量数据库
在数字化时代,数据成为了最重要的资源之一。随着人工智能、大数据等技术的不断发展,向量数据库成为了处理这类数据的关键工具。星环科技作为一家专注于数据存储和管理技术的公司,其重要目标就是将向量数据库打造得更为优越。 在星环科技,有一个专注于向量数据库的团队。这个…...

Dubbo默认使用什么序列化框架?还有哪些?
Dubbo默认使用的序列化框架是Hessian 2.0。Hessian是一种基于二进制的序列化协议,它具有简单、高效的特点,适用于网络传输和存储数据。Hessian在Dubbo中被广泛使用,因为它可以在不同的编程语言之间进行对象的序列化和反序列化。 除了Hessian…...

攻防世界-What-is-this
原题 解题思路 解压后文件 没有后缀,不知道是什么文件。用notepad打开找不到flag。 尝试当成压缩包解压。 用stegsolve以打开图片1, 合成两张图片。...

[C++]构造与毁灭:深入探讨C++中四种构造函数与析构函数
个人主页:北海 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C/C🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!ǹ…...

【跟小嘉学 Rust 编程】二十一、网络编程
系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…...

一文了解聚合支付
第四方支付是相对于第三方支付而提出的概念,又被称为“聚合支付”是指通过聚合第三方支付平台、合作银行、等多种支付工具进行的综合支付服务。 简言而之,把支付接口聚合到一个平台上面,来给商家或者个人来提供支付服务。 第四方支付集中了各…...

118.杨辉三角
一、题目 118. 杨辉三角 - 力扣(LeetCode) 二、代码 class Solution { public:vector<vector<int>> generate(int numRows) {vector<vector<int>>data(numRows);for(int i0;i<numRows;i){data[i].resize(i1);//扩容data[i]…...

第7节——渲染列表+Key作用
一、列表渲染 我们再react中如果渲染列表,一般使用map方法进行渲染 import React from "react";export default class LearnJSX2 extends React.Component {state {infos: [{name: "张三",age: 18,},{name: "李四",age: 20,},{nam…...

NTP服务器时间配置
简介 ntp服务器是一个同步时间都服务器。 开启ntpd 1.查看状态(可以看到状态为:inactive,也就是没有启动ntp服务) [rootlocalhost]$ systemctl status ntpd ● ntpd.service - Network Time ServiceLoaded: loaded (/usr/lib/…...

vulhub之MinIO信息泄露漏洞(CVE-2023-28432)
文章目录 0x01 前言0x02 漏洞描述0x03 影响范围0x04 漏洞复现1.启动环境2.查看端口3.构造POC 0x05 修复建议 0x01 前言 本次测试仅供学习使用,如若非法他用,与本文作者无关,需自行负责!!! 0x02 漏洞描述 …...

C语言:递归思想及实例详解
简介:在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。通过函数的自调用化繁为简。 递归可以说是编程中最神奇的一种算法。因为我们有时候可能不能完全明晰代码的运行过程,但是我们却知道代码可以跑出正确的结果。而当我们使…...

好题分享0
P2141 [NOIP2014 普及组] 珠心算测验 原题链接 : [NOIP2014 普及组] 珠心算测验 - 洛谷 思路 : 用哈希表来存出现过的两数之和,最后ans即可 代码 : #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define end…...

python的asyncio事件循环
一、介绍 asyncio是Python标准库中的一个异步编程框架,它提供了一个事件循环(event loop),用于协调异步任务的执行和结果的返回。在asyncio中,事件循环是一个非常重要的概念,它是异步编程的核心。 事件循…...

QT day1登录界面设计
要设计如下图片: 代码如下: main.cpp widget.h widget.cpp 运行效果: 2,思维导图...

(一)KITTI数据集用于3D目标检测
KITTI数据集介绍 数据基本情况 KITTI是德国卡尔斯鲁厄科技学院和丰田芝加哥研究院开源的数据集,最早发布于2012年03月20号。 对应的论文Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite发表在CVPR2012上。 KITTI数据集搜集自德国卡尔斯鲁厄市&…...

手写Promise完整介绍
Promise是一种用于处理异步操作的机制,它可以将异步操作的结果以同步的方式进行处理和返回。在JavaScript中,Promise是一种内置对象,但我们也可以手动实现一个Promise类来更好地理解其原理和工作方式。 Promise的特性 首先,让我…...