AI绘画:StableDiffusion炼丹Lora攻略-实战萌宠图片生成

news2024/9/17 8:25:44

Lora攻略-实战萌宠图片生成

    • 写在前面的话
    • 一:准备
    • 二、Lora作用
      • 1.AI模特
      • 2.炼衣服Lora
      • 3.改变画风/画面背景
      • Lora模型究竟是什么?
    • 三、如何炼制自己的Lora模型?
    • 四、炼丹前的准备(**下载整合包**)
    • 五、选择合适的大模型
    • 六、高质量素材的制作
    • 七、耐心等待的训练过程
    • 八、如何测试Lora的好坏
    • 九、如何优化Lora
    • 十、资源下载汇总

写在前面的话

近期在小红书发现了许多极其可爱、美观的萌宠图片,对这些美妙的图像深深着迷

于是想着看看利用AI绘画StableDiffusion以下简称(SD)做出来。

以下是详细实操的全过程,包括所有用的资料已经打包到网盘。

最后尝试的最终效果如下:

更多图片请查看网盘:

「萌宠图片及关键词」

链接:https://pan.quark.cn/s/ba9c3e8ef92a

如果你想了解更多的StableDiffusion的知识,请参阅:

AI绘画:Stable Diffusion 终极炼丹宝典:从入门到精通

原文链接阅读更舒服:AI绘画:StableDiffusion炼丹Lora攻略-实战萌宠图片生成

一:准备

需要的资料都打包在网盘里面,需要的自行下载。

我用夸克网盘分享了「StableDiffusion炼丹资料」

网盘链接:https://pan.quark.cn/s/3c8cc96f3221

二、Lora作用

LORA可以让我们轻松画出特定的人物,物品,特殊的笔触和特殊的画风或风格,属于一种特殊训练的子集。

1.AI模特

炼出一个自己的模特,让这个模特穿上自己的商品

2.炼衣服Lora

添加一个衣服的Lora,就可以让人物穿上特定的衣服

3.改变画风/画面背景

通过添加Lora改变照片的画风,这个画风可以自己去训练

Lora模型究竟是什么?

专业的解释

LoRA的全称是LoRA: Low-Rank Adaptation of Large Language Models,可以理解为stable diffusion(SD)模型的一种插件,和hyper-network,controlNet一样,都是在不修改SD模型的前提下,利用少量数据训练出一种画风/IP/人物,实现定制化需求,所需的训练资源比训练SD模要小很多,非常适合社区使用者和个人开发者。LoRA最初应用于NLP领域,用于微调GPT-3等模型(也就是ChatGPT的前生)。由于GPT参数量超过千亿,训练成本太高,因此LoRA采用了一个办法,仅训练低秩矩阵(low rank matrics),使用时将LoRA模型的参数注入(inject)SD模型,从而改变SD模型的生成风格,或者为SD模型添加新的人物/IP。

通俗的解释

Lora可以复刻人物和物品的特征,固定人物动作,改变照片画风

而且Lora只需要少量的数据就可以训练出来,比训练大模型要简单很多

所以大家可以通过训练自己的Lora,做出定制的图片

但不得不说的是,目前的Lora还不能做到100%相同,尤其是细节方面

但是相信随着之后的技术发展,万物皆可Lora的时代是不远的

三、如何炼制自己的Lora模型?

炼制Lora的方式有很多种

有用脚本训练的,也有在网站界面上训练的,最近还有很多朋友做出来了训练Lora的整合包

创建Lora模型的方式有许多,包括通过脚本进行训练,通过网页界面操作,甚至有一些专业人士最近提供了Lora训练的一键式整合包。尽管这些方法在表面上看起来有所不同,但其训练逻辑其实都是相同的。

因此,我们可以选择使用整合包。整合包的优点在于,它将炼丹所需的所有工具和步骤集成在一款软件中,为我们提供了一种更为便捷且有效的训练方式。

整合包就是把炼丹所需要的所有工具都整合到一个软件里

炼丹分为以下几步:

1.下载整合包

2.准备工作

3.开始训练

4 .测试Lora

5.优化Lora

四、炼丹前的准备(下载整合包

在炼Lora之前,需要大家先确认一下自己的电脑配置:

1.电脑配置需要N卡,并且6G显存以上

2.A卡和Mac系统,或者电脑配置不太行的小伙伴建议用云平台

我这里用的是B站up主朱尼酱的整合包:

我用夸克网盘分享了「StableDiffusion炼丹资料」

网盘链接:https://pan.quark.cn/s/3c8cc96f3221

下载好了之后把它解压到D盘或者E盘,不要放在C盘!!

秋叶的整合包我也试过炼Lora,两个对比下来,我觉得朱尼酱的整合包会更适合小白

打开解压之后的文件夹,在“cfurnace_ui”文件夹里面找到“赛博丹炉”的应用程序

可以创建一个桌面快捷方式,这样就不用每次都要打开文件

看到这个页面就安装好了,点击“开启炼丹炉”就可以开始炼Lora啦!

五、选择合适的大模型

跟画图一样,炼Lora之前也要先选一个大模型,确定Lora的画风

这里训练的萌宠,我选择的是“cheeseDaddys_35”大模型

真人模型=》选用“chilloutmix”的大模型

二次元=》选用“anything”的大模型

如果你的Stable Diffusion里面没有模型,那就要先去下载模型噢!

网盘里面已经给大家放了这两个大模型

我用夸克网盘分享了「2.大模型checkpoint」

链接:https://pan.quark.cn/s/9767ac274f83

再往下就可以选择一个我们要训练的Lora的类型

选择之后就会帮我们选择默认的参数

训练真人Lora就选“人物”

训练二次元就选“二次元”

如果想炼绘画的风格可以选画风

除此之外还可以自定义去炼平面设计图或者建筑之类的

我这里选择的是产品

六、高质量素材的制作

以上准备工作及参数设置好了后,就可以开始上传自己的素材开始训练了。

这些素材就是我们要喂给AI学习的素材

素材的质量非常重要!!会直接影响最后出来的Lora的质量

我们的素材需要满足几个点:

1.上传20~30张照片

2.素材要高清!!!

3.多角度照片

这里我就以炼萌宠Lora为例子,上传萌宠的照片

点击“删除全部”把默认的素材删掉

然后点击“上传素材”,上传自己的照片

一般情况下,下面的参数默认就可以了

需要调整参数的话,最好是需要了解参数的含义,如果乱调的话,可能会训练失败。

不要选择太高的分辨率,容易爆显存

另外,如果训练真人Lora,可以勾选最右边的“脸部加强训练”

勾选了之后就会再多裁剪出来一组只有脸的照片,这样AI能学到更多的脸部细节

七、耐心等待的训练过程

看到这个页面就是模型正在训练中

到这一步只要耐心等待就可以了,没什么需要操作的

我们可以看一下下面的参数是什么意思

“Steps”就是训练步数

每训练50步右下角就会出现一张图片

那样就可以实时看到Lora的样子

这个白头发和红裙子是后台加上去的关键词

可以测试Lora的泛化性

泛化性就是看这个Lora能不能自由的去更换照片里的东西,比如发型、发色、服装之类的

Loss可以用来参考模型的好坏

一个好的模型Loss值在0.07~0.09之间

注意:具体好不好还是要在Stable Diffusion实际测试才知道

等训练完了之后,点击“模型”

就可以看到生成出来模型

按照默认参数训练会出来20个模型,但不是说最后一个模型就是最好的

有可能炼到第十六第是十七个模型就已经够了,再往后的模型就已经训练过度了

所以这些模型还要实际在SD测试一下,才知道哪个是最好的

八、如何测试Lora的好坏

模型生成出来之后就可以到SD里面生成图片

在SD里面可以生成这么一张大图,可以直接看到所有模型在不同权重下出来的效果

比较一下哪个模型更好,就只保留那个模型就可以了

接下来我们就看看怎么生成这张大图

首先把新生成的10个模型复制到SD的models文件夹,放到Lora文件夹里面

注意:最好新建一个文件夹,比如cuteDog

然后把没有序号编码的那个Lora重命名

没有序号编码的Lora就是最后生成出来的一个模型,这里只是为了方便进行测试,统一一下所有模型的名称

保存好模型之后就可以打开SD进行测试了

首先先选一个大模型

你用哪一个大模型来训练lora就选哪个大模型

然后输入正面关键词和负面关键词

正面关键词可以输入一些质量词,比如最高质量、高清画质、大师杰作等等

负面关键词直接复制我们以前用过的就可以

接下来就是选用我们刚刚炼好的Lora

随便选一个都可以

重点来了:把000017换成NUM,1换成STRENGTH

<lora:cute dog_20230708214731-000017:1>

例如:

<lora:cute dog_20230708214731-NUM:STRENGTH>

迭代步数,采样方法这些参数大家可以按照自己的习惯去修改

然后滑到最下面找到“脚本”

在脚本里面选择 “X/Y/Z图表

X轴、Y轴类型都选择 “提示词搜索/替换

X轴的值输入:NUM,000001,000002,000003,000004,000005,000006,000007,000008,000009,000010

这里的序号对应的就是我们10个Lora的编号

Y轴值输入:STRENGTH,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1

这里的序号代表的是Lora的权重

全部参数设置好了之后就可以点击“生成”

生成出来就是这么一张大图,可以看到这几个Lora模型在不同强度下的表现

九、如何优化Lora

实际上,炼丹是一件比较玄学的事

有的人可能一次性就能炼出自己满意的Lora

但有的人可能要炼好几次才出来一个好的Lora

这时候我们可以通过调整训练的参数再重新炼一个

前提是 确保我们的喂给AI的素材是高质量的!

不然不管怎么修改参数,出来的Lora都是不合格的

这里我们就把炼Lora会遇到的问题分成两种情况

1.Lora出来的照片不像本人:AI没学好

2.Lora过拟合,甚至出来的照片崩了:AI学过头了

过拟合就是不管输入什么关键词,出来的照片都是你喂给AI的照片

没办法自由控制人物的服装、发型、发色等

点击“参数调优”我们就可以自行设置参数

如果生成的照片不像本人,那就可以适当增加Repeat(学习步数)值

如果照片过拟合了,那就减少Repeat值

其他参数都可以不用调,因为默认的参数就差不多是最优值了

十、资源下载汇总

Lora炼丹网盘资源汇总: https://pan.quark.cn/s/3c8cc96f3221

StableDiffusion资源整合安装包:https://pan.quark.cn/s/2750beda9269

StableDiffusion关键词分类查询:StableDiffusion的关键词分类查询

ControlNet资料汇总:https://pan.quark.cn/s/47bc8c79892a

AI资料网盘汇总(不定期更新):AI专区网盘资源汇总

AIGC从入门到精通教程汇总:AIGC从入门到精通教程汇总

原文链接阅读更舒服:AI绘画:StableDiffusion炼丹Lora攻略-实战萌宠图片生成

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

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

相关文章

管理类联考——逻辑——记忆篇——数字编码——公式

&#x1f3e0;个人主页&#xff1a;fo安方的博客✨ &#x1f482;个人简历&#xff1a;大家好&#xff0c;我是fo安方&#xff0c;考取过HCIE Cloud Computing、CCIE Security、CISP、RHCE、CCNP RS、PEST 3等证书。&#x1f433; &#x1f495;兴趣爱好&#xff1a;b站天天刷&…

MySQL练习题(2)

创建如下员工标表 插入数据 1-- 按员工编号升序排列不在10号部门工作的员工信息 2-- 查询姓名第二个字母不是A且薪水大于1000元的员工信息&#xff0c;按薪水降序排列 4-- 求每个部门的平均薪水 5-- 求每个部门的最高薪水 6-- 求每个部门…

Coverity 2021.9 for win Coverity 2022.6 for linux

Coverity是一款快速、准确且高度可扩展的静态分析 (SAST) 解决方案&#xff0c;可帮助开发和安全团队在软件开发生命周期 (SDLC) 的早期解决安全和质量缺陷&#xff0c;跟踪和管理整个应用组合的风险&#xff0c;并确保符合安全和编码标准。Coverity 是一款精确的综合静态分析与…

JVM04-优化JVM内存分配以及内存持续上升问题和CPU过高问题排查

1-JVM内存分配 1.1-JVM内存分配性能问题 JVM内存分配不合理最直接的表现就是频繁的GC&#xff0c;这会导致上下文切换等性能问题&#xff0c;从而降低系统的吞吐量、增加系统的响应时间。因此&#xff0c;如果你在线上环境或性能测试时&#xff0c;发现频繁的GC&#xff0c;且…

密码学入门——分组密码模式

文章目录 参考书一、简介二、ECB模式三、CBC模式四、CFB模式五、OFB模式六、CTR模式 参考书 图解密码技术&#xff0c;第三版 一、简介 分组密码工作模式指的是将明文分成固定长度的块&#xff0c;并对每个块应用相同的加密算法进行加密的过程。这些块的长度通常是64位或128…

leetcode 654. 最大二叉树

2023.7.9 又是一道递归构造二叉树的题&#xff0c;和昨天做的那道题从中序与后序遍历序列构造二叉树类似&#xff0c;5分钟AC了。 大致思路就是通过找到数组中的最大值&#xff0c;并将其作为根节点&#xff0c;然后递归地构建左子树和右子树&#xff0c;最终返回整个最大二叉树…

PMP项目管理-敏捷

敏捷知识体系&#xff1a; 传统项目特点 1> 一开始就对详细的需求进行很高的投入 2> 价值只有到项目结束的时候才能体现, 风险较高 3> 一开始就要编写很多的文档 4> 客户参与度不高, 澄清完需求之后基本不参与 5> 需要花大量的时间来汇报当前的项目状态 6> 无…

Freertos-mini智能音箱项目---IO扩展芯片PCA9557

项目上用到的ESP32S3芯片引脚太少&#xff0c;选择了PCA9557扩展IO&#xff0c;通过一路i2c可以扩展出8个IO。这款芯片没有中断输入&#xff0c;所以更适合做扩展输出引脚用&#xff0c;内部寄存器也比较少&#xff0c;只有4个&#xff0c;使用起来很容易。 输入寄存器 输出寄存…

线程本地变量交换框架-TransmitterableThreadLocal(阿里开源)

上文 &#xff1a;秒级达百万高并发框架-Disruptor TransmitterableThreadLocal介绍 TransmitterableThreadLocal简称TTL 是阿里巴巴开源的一个框架。TransmittableThreadLocal是对Java中的ThreadLocal进行了增强和扩展。它旨在解决在线程池或异步任务调用链中&#xff0c;Thre…

MAC电脑查看SHA256方式

背景 现在很多网站下载大文件时&#xff0c;以往通过查看文件大小来确定是否下载正确&#xff0c;但是很多情况下&#xff0c;文件下载后大小差不多&#xff0c;但是很多时候却时候出现无法安装的问题&#xff0c;有可能还是下载的文件出现错误&#xff0c;导致文件无法正常使…

机器学习 day25(softmax在神经网络模型上的应用)

输出层采用softmax 在识别手写数字的模型中&#xff0c;预测y只有两个结果&#xff0c;所以输出层采用sigmoid激活函数且只有一个神经元。若预测y有10个结果&#xff08;0-9&#xff09;&#xff0c;该模型的前向传播计算方式与识别数字的模型完全相同&#xff0c;即隐藏层的…

dubbo概念及基本架构

一. Dubbo概念 1、Dubbo是一个开源的高性能&#xff0c;轻量级的Java RPC框架 RPC&#xff1a;远程服务调用 2、RPC的远程服务调用和SOA的服务治理两种功能。 二. Dubbo架构 0、服务提供方首先启动 1、服务提供方启动后&#xff0c;将其注射到注册中心里 2、消费者想调用提供…

线程随机性

目录 线程随机性的展现 执行start()的顺序不代表执行run()的顺序 在使用多线程技术时&#xff0c;代码运行的结果与代码执行顺序或者调用顺序无关。线程是一个子任务&#xff0c;而CPU是以不确定的方式&#xff0c;或者说是以随机的时间来调用线程中的run方法的。所以说线程执…

nvm 下载nodejs 失败

解决办法&#xff1a; 1.查看nvm安装路径 nvm root2、在安装路径下找到setting.txt,添加两句话 node_mirror: http://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/3.再执行nvm install 就可以了。

【uniapp开发小程序】实现读取手机剪切板第一条,识别并以姓名/手机号/收货地址格式输出

效果图&#xff1a; 完整代码&#xff1a; <template><view class""><text>测试</text><view click"pasteContent()" class"content">点击此处可快速识别 您的收货信息</view></view> </templat…

使用chatGPT + AI 绘图生成自己的专属头像

案例介绍 微信头像是朋友认识我们时的第一印象,或许是可爱、妖娆,或许是帅气、成熟,还有自然、厚重、调皮… 我们都有自己独特的故事,独特的思想,独特的爱好,对于头像当然有着自己独到的设计眼光。 接下来请允许我向大家展示如何使用chatGPT、AI绘图工具生成出自己的专属…

【vue学习】权限管理系统前端实现6-主页面布局

1.新建layout文件夹 新建index.vue 添加router const routes [{path: /,name: 首页,component: () > import(../layout)}, 2.登录添加跳转 loginRef.value.validate(async (valid)>{if(valid){try{let resultawait requestUtil.post("login?"qs.stringify(l…

人工智能面试总结-Transformer专题

B站:啥都会一点的研究生 公众号试读:啥都会一点的研究生 目录 说说什么是Transformer?说说Transformer中的Encoder?说说Transformer中的Decoder?说说Transformer在训练与测试阶段Decoder的输入、输出是什么?说说Transformer Encoder和Decoder有哪些不同?说说什么是Tran…

Qt/C++原创项目作品精选(祖传原创/性能凶残)

00 前言说明 从事Qt开发十年有余&#xff0c;一开始是做C#.NET开发的&#xff0c;因为项目需要&#xff0c;转行做嵌入式linux开发&#xff0c;在嵌入式linux上做可视化界面开发一般首选Qt&#xff0c;当然现在可选的方案很多比如安卓&#xff0c;但是十多年前那时候板子性能低…

松下|PCB焊盘脱落常见的几个原因分析

PCB焊盘脱落是电子制造中常见的问题之一&#xff0c;它会导致电路板的性能下降或完全失效。本文将从几个常见原因来分析PCB焊盘脱落的原因&#xff0c;并提供一些预防措施。 一、设计问题 PCB焊盘脱落的一个常见原因是设计问题。一些设计错误可能会导致焊盘的结构不稳定&…