AI 绘画Stable Diffusion 研究(十七)SD lora 详解(上)


大家好,我是风雨无阻。


本期内容:

  • Lora的原理是什么?
  • Lora如何下载安装?
  • Lora如何使用?

大家还记得 AI 绘画Stable Diffusion 研究(三)sd模型种类介绍及安装使用详解 这篇文章中,曾简单介绍了Lora的安装和使用吗 ?


但是我们并不清楚LORA 的原理是什么?以及使用过程中有什么技巧 ?


其实LORA 与 embedding 、Hypernetwork 在本质上类似,不过因为携带着大量的训练数据,所以 LORA 对人物和细节特征的复刻更加细腻(效果最好)、使用频率也是最高的。


因此我们在这里将重点介绍 LORA 模型相关的知识:包含LORA模型的原理、安装、使用、Lora模型的类型。

由于篇幅原因,这里将分为上、下两节进行详细讲解。

一、LORA 的原理


1、Lora是什么 ?

LORA,英文全称Low-Rank Adaptation of LargeLanguage Models,直译为大语言模型的低阶适应。这是微软的研究人员为了解决大语言模型微调而开发的一项技术。


LORA是一种在消耗更少内存的情况下,加速大型模型训练的训练方法,在stable diffusion中它允许使用低阶适应技术来快速微调扩散模型。简而言之,LoRA训练模型可以更轻松地针对不同概念(例如角色或特定风格)进行模型训练。这些经过训练的模型可以被导出并供其他人使用。


LORA模型是小型的stable diffusion模型,对checkpoint模型 cross-attention layers(交叉注意力层)进行了较小的更改,但是它的体积只有checkpoint的1/100到1/10,文件大小一般在2-500MB之间。


在这里插入图片描述


从上图我们可以看到 LORA 对模型产生作用的环节是在 Noise predictor

下图是对上图放大以后的内部结构,LORA 是对 crossattention 进行更改。


在这里插入图片描述


在上一篇文章中,我们已经对比了三者的区别,感兴趣的朋友,请前往查看AI 绘画Stable Diffusion 研究(十六)SD Hypernetwork详解。


二、LORA 的下载安装


1、打开c站筛选LORA模型

点击右侧 ->漏斗图标 ,下拉菜单中选择 LORA


在这里插入图片描述


2、选择搜索结果中,喜欢的lora 模型进行下载


这里以 原神lora 模型为例进行演示:


在这里插入图片描述


下载完成后,会得到 Eula.safetensors 文件

在这里插入图片描述


3、 安装 lora 模型


将下载后的Eula.safetensors 文件,拷贝到 Lora 目录:

\sd-webui-aki-v4.2\models\Lora

在这里插入图片描述


4、 下载安装lora 模型对应的 chekpoint 模型


在右侧可以看到 lora 模型对应的 chekpoint 模型 是 xxmix9realistic_v40 。

直接点击chekpoint 下方的“下载”按钮进行下载。


在这里插入图片描述


下载完成,会得到 xxmix9realistic_v40.safetensors 文件。

在这里插入图片描述


5、 安装 chekpoint 模型

将 xxmix9realistic_v40.safetensors 文件 拷贝到Stable-diffusion 目录:


\sd-webui-aki-v4.2\models\Stable-diffusion

在这里插入图片描述


安装完成后,重启 Stable diffusion 使其生效。


三、LORA 的使用


LORA的使用方法与Embeddings和Hypernetwork一样,为了方便新朋友的理解,这里详细演示一下步骤。


1、选择刚才安装的 chekpoint 模型

在这里插入图片描述


2、输入参数

  • 正向提示词

    (((best quality, masterpiece, good anatomy))), eula_in_genshin, cowboy shot, 1girl, blue short hair, black hairband,a leotard with a white top and black bottom, white long sleeves, blue necktie, jewelry on the shoulder, upper body,outdoors, castle, streets, green plants, flowers,
    

在这里插入图片描述


  • 反向提示词

    ng_deepnegative_v1_75t, (badhandv4:1.5), (worst quality:2),(lower eyelashes:2), (low quality:2), (normal quality:2),(holding:2),(gloves:2),(blue gloves:2),(black gloves:2),lowres, bad anatomy, bad hands, ((monochrome)), ((grayscale)) ,watermark
    

在这里插入图片描述


  • 采样方法:DPM++ 2M Karras

  • 迭代步数:40

  • 随机种子:1831064945

  • CFG Scale:21


在这里插入图片描述


3、重点来了,选择刚安装的 lora 模型

(1)、点击生成按钮下方的红色图标


在这里插入图片描述


切换到lora模型标签

在这里插入图片描述


(2)、lora 标签页面选择 刚安装的模型 Eula


在这里插入图片描述


此时,正向提示词输入框中会自动添加 LORA 模型,如下:

在这里插入图片描述


(3)、点击生成按钮 ,查看效果

在这里插入图片描述


(4)、使用技巧:

  • 我们可以调整权重来调高或调低效果

    将权重设置为 0 会禁用 LoRA 模型,可以在 0 和 1 之间调整样式效果。

    需要注意的是,每个 LORA 模型对输出图像的权重设置是非常重要的。权重设置越大,对画面的影响因素就越浅。通常情况下,权重 应该控制在 0.7-1 之间。如果权重过高,会大幅度影响出图的质量。


  • 通常来说,每个 LORA 模型都有对应的底膜和触发词汇。我们可以查看 LORA 作者产出的相关图片,从中获取模型信息,并从中选择一些提示词和排除词来指定生成图像的方向。


例如这个模型的介绍页面就有触发词的说明:

在这里插入图片描述


触发词为:

eula_in_genshin, cowboy shot, 1girl, blue medium hair, black hairband,a leotard with a white top and black bottom, white long sleeves, blue necktie, jewelry on the shoulder, black thighhighs, high heels,

也就是我们正向提示词里面的内容:

在这里插入图片描述


  • 与Embeddings类似,可以同时使用多个LoRA模型,还可以将它们与embeddings一起使用。

  • 在 AUTOMATIC1111 中,LoRA 短语不是提示词的一部分,LoRA模型应用后将被移除,这意味着不能将提示词语法使用在lora模型短语上。

好了,今天的内容就介绍到这里,下一篇,我们将继续介绍Lora 模型的类型,敬请关注。


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

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

相关文章

windows安装Scala

Windows安装Scala 下载地址:https://downloads.lightbend.com/scala/2.11.11/scala-2.11.11.zip 解压完成之后 配置环境变量

kafka+Kraft模式集群+安全认证

Kraft模式安全认证 前章内容聊到了Kafka的Kraft集群的配置及使用。本篇再来说说kafka的安全认证方面的配置,。 Kafka提供了多种方式来进行安全认证,包括身份认证、授权和加密传输。一些常用的Kafka安全认证方式: SSL/TLS:使用S…

Docker技术--Docker镜像管理

1.Docker镜像特性 ①.镜像创建容器的特点 Docker在创建容器的时候需要指定镜像,每一个镜像都有唯一的标识:image_id,也可也使用镜像名称和版本号做唯一的标识,如果不指定版本号,那么默认使用的是最新的版本标签(laster)。 ②.镜像分层机制 Docker镜像是分层构建的,并通过…

【UniApp开发小程序】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】

文章目录 说明细节一:首页滑动到底部,需要查询下一页的商品界面预览页面实现 细节二:当页面滑动到下方,出现一个回到顶端的悬浮按钮细节三:商品分列说明优化前后效果对比使用回溯算法实现ControllerService回溯算法 优…

使用 Netty 实现群聊功能的步骤和注意事项

文章目录 前言声明功能说明实现步骤WebSocket 服务启动Channel 初始化HTTP 请求处理HTTP 页面内容WebSocket 请求处理 效果展示总结 前言 通过之前的文章介绍,我们可以深刻认识到Netty在网络编程领域的卓越表现和强大实力。这篇文章将介绍如何利用 Netty 框架开发一…

基于非洲秃鹫算法优化的BP神经网络(预测应用) - 附代码

基于非洲秃鹫算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于非洲秃鹫算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.非洲秃鹫优化BP神经网络2.1 BP神经网络参数设置2.2 非洲秃鹫算法应用 4.测试结果:5…

实现带头双向循环链表

🌈带头双向循环链表 描述:一个节点内包含两个指针,一个指向上一个节点,另一个指向下一个节点。哨兵位指向的下一个节点为头节点,哨兵位的上一个指向尾节点。 结构优势:高效率找尾节点;高效率插入…

度矩阵、邻接矩阵

度矩阵(degree matrix) 度矩阵是对角阵,对角上的元素为各个顶点的度,顶点vi的度表示和该顶点相关联的变得数量。 在无向图中,顶点vi的度d(vi)N(i)(即与顶点相连的边的数目)有向图中&#xff0…

【力扣】55、跳跃游戏

var canJump function(nums){let cover 0;for(let i0;i<nums.length;i){if(i<cover){cover Math.max(nums[i]i,cover);if(cover >nums.length-1){return true;}}}}

stm32之DS18B20

DS18B20与stm32之间也是通过单总线进行数据的传输的。单总线协议在DHT11中已经介绍过。虽说这两者外设都是单总线&#xff0c;但时序电路却很不一样&#xff0c;DS18B20是更为麻烦一点的。 DS18B20 举例&#xff08;原码补码反码转换_原码反码补码转换_王小小鸭的博客-CSDN博客…

打开软件报错mfc100u.dll缺失是什么意思?简单式修复mfc100u.dll问题

首先&#xff0c;我们需要了解什么是MFC100U.dll文件以及它的作用。MFC100U.dll是一个Microsoft Foundation Class (MFC)库文件&#xff0c;它是Visual C应用程序开发的一部分。MFC库提供了许多通用的功能&#xff0c;如窗口管理、消息处理等&#xff0c;可以帮助开发者更快速地…

C++中前置++和后置++的详细讲解

参考链接&#xff08;链接讲的很全&#xff09;&#xff1a;C前置和后置的区别 对于迭代器和其他模板对象使用前缀形式 (i) 的自增, 自减运算符.&#xff0c;理由是 前置自增 (i) 通常要比后置自增 (i) 效率更高。 class Age { public: Age& operator() //前置 {…

fastjson-1.2.24-rce(CVE-2017-18349)fastjson-1.2.47-rce(CNVD-2019-22238)

一.fastjson 1.2.24 反序列化导致任意命令执行漏洞(CVE-2017-18349) fastjson在解析json的过程中&#xff0c;支持使用autoType来实例化某一个具体的类&#xff0c;并调用该类的set/get方法来访问属性。通过查找代码中相关的方法&#xff0c;即可构造出一些恶意利用链 影响范围…

Ansible学习笔记2

Ansible是Python开发的自动化运维工具&#xff0c;集合了众多运维工具&#xff08;Puppet、cfengine、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系统配置&#xff0c;批量程序部署、批量运行命令等功能。 特点&#xff1a; 1&#xff09;部署简单&#xff…

基于金枪鱼群算法优化的BP神经网络(预测应用) - 附代码

基于金枪鱼群算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于金枪鱼群算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.金枪鱼群优化BP神经网络2.1 BP神经网络参数设置2.2 金枪鱼群算法应用 4.测试结果&#xff1a;5…

【Java基础增强】Stream流

1.Stream流 1.1体验Stream流【理解】 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素 把集合中所有以"张"开头的元素存储到一个新的集合 把"张"开头的集合中的长度为3的元素存储到一个新的集合 遍历上一步得…

Swift使用PythonKit调用Python

打开Xcode项目。然后选择“File→Add Packages”&#xff0c;然后输入软件包依赖链接&#xff1a; ​https://github.com/pvieito/PythonKit.git https://github.com/kewlbear/Python-iOS.git Python-iOS包允许在iOS应用程序中使用python模块。 用法&#xff1a; import Pyth…

【项目 计网7】4.20 多进程实现并发服务器 4.22 多线程实现并发服务器

文章目录 4.20 多进程实现并发服务器server_process.cclient.c4.22 多线程实现并发服务器客户端代码&#xff1a;服务端代码&#xff1a; 4.20 多进程实现并发服务器 要实现TCP通信服务器处理并发的任务&#xff0c;使用多线程或者多进程来解决。 思路&#xff1a; 1、一个父进…

【leetcode 力扣刷题】字符串翻转合集(全部反转///部分反转)

字符串翻转合集 344. 反转字符串541. 反转字符串Ⅱ151. 反转字符串中的单词剑指 Offer 58 - II. 左旋转字符串反转单词思路循环挪动子串和子串的拼接 344. 反转字符串 题目链接&#xff1a;344. 反转字符串 题目内容&#xff1a; 题目中重点强调了必须原地修改输入数组&#…

2023_Spark_实验三:基于IDEA开发Scala例子

一、创建一个空项目&#xff0c;作为整个项目的基本框架 二、创建SparkStudy模块&#xff0c;用于学习基本的Spark基础 三、创建项目结构 1、在SparkStudy模块下的pom.xml文件中加入对应的依赖&#xff0c;并等待依赖包下载完毕。 在pom.xml文件中加入对应的依赖 ​<!-- S…