写在前面的话

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

于是想着看看利用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攻略-实战萌宠图片生成

AI绘画:StableDiffusion炼丹Lora攻略-实战萌宠图片生成的更多相关文章

  1. [学习OpenCV攻略][011][显示图片]

    学习资料: http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html   包含头文件 core.hpp:包含 ...

  2. [学习OpenCV攻略][007][缩小图片]

    cvPryDown(输入图片,输出图片) 根据输出图片的大小,把输入图片进行压缩 cvPryUp(输入图片,输出图片) 根据输出图片的大小,把输入图片进行放大 #include "cv.h& ...

  3. [学习OpenCV攻略][006][平滑图片]

    cvCreateImage(图片大小,像素位数,通道数) 创建图片,根据输入的图片大小,各个通道像素点的位数,和通道数.像素点宏IPL_DEPTH_8U cvGetSize(图片) 得到图片的大小信息 ...

  4. 微信小程序——【百景游戏小攻略】

    微信小程序--[百景游戏小攻略] 本次课程小项目中的图片以及文章还未获得授权!请勿商用!未经授权,请勿转载! 博客班级 https://edu.cnblogs.com/campus/zjcsxy/SE ...

  5. Python 自动化测试全攻略:五种自动化测试模型实战详解

    随着移动互联网的发展,软件研发模型逐步完善,软件交付质量越来越受到软件公司的重视,软件测试技术特别是自动化测试技术开始在软件系统研发过程中发挥着越来越重要的作用. 与传统的手工测试技术相比,自动化测试 ...

  6. 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法

    若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...

  7. 从小工到专家 ——读《Java程序员职场全攻略》有感

    从小工到专家 ——读<Java程序员职场全攻略>有感   <Java程序员职场全攻略>是以故事的形式,向读者介绍Java程序员的职场经验.作者牛开复在北京从事软件开发,已经是一 ...

  8. 经典DOS游戏皇帝攻略(曾经的回忆)

    最完美攻略>>>>> -------------------------------------------------------------------------- ...

  9. 取代奶瓶Minidwep-gtk破解WPA 全攻略

    取代奶瓶Minidwep-gtk 破 WPA 全攻略  目录 1. CDlinux 下使用 minidwepgtk 获取握手包并使用自带的字典破解 2. 自带的字典破解不出密码时使用 U 盘外挂字典继 ...

  10. 30天,O2O速成攻略【8.30南京站】

    活动概况 时间:2015年8月30日13:30-16:30 地点:啡咖啡·孵化器(南京市玄武大道699-22号江苏软件园22栋) 主办:APICloud.Udesk.人为峰 网址:www.apiclo ...

随机推荐

  1. 用token辅助 密码爆破

    第一步:打开皮卡丘,点击暴力破解,token防爆破,输入正确用户名,错误密码 BP拦截请求,点击皮卡丘Login,然后拦截后, 发送给Intruder 第二步: 爆破方式选择音叉方式,   & ...

  2. C# decimal double 获取一组数字 小数点后最多有几位

    有一组数字,想判断一组数字中最多的有几位小数,乘以10的指定幂,转为整数,此处教大家一个高级的写法,拒接无脑for循环 decimal: decimal[] numbers = new decimal ...

  3. Galaxy生物信息分析平台的数据集对象清理

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. Galaxy Project 是在云计算背景下诞生的一个生物信息学可视化分析开源项目.该项目由 ...

  4. Docker化Spring Boot应用

    本文翻译自国外论坛 medium,原文地址:https://medium.com/@bubu.tripathy/dockerizing-your-spring-boot-application-75b ...

  5. DosBox环境配置

    DosBox环境配置 DOSBox 是一个基于 x86 架构的 PC 的模拟器,它允许用户在现代操作系统上运行 DOS 程序.DOSBox 是自由软件,可以在 Windows.Linux ,macOS ...

  6. 使用 Easysearch 还原 Elasticsearch 快照数据

    本文主要验证 Elasticsearch 快照在 Easysearch 中进行数据恢复. 准备测试数据 索引 别名 模版 生命周期策略 创建快照 PUT /_snapshot/my_backup { ...

  7. 洛谷 P4859 已经没有什么好害怕的了

    题目描述 学姐 4 了. 有 \(n\) 个糖果和 \(n\) 个药片,它们要进行一一配对.每个糖果或药片都具有互不相同的能量值,要求配对后,糖果比药片能量高的对数,比剩下的对数恰好多 \(k\),求 ...

  8. 2023-07-02:给定一个1~N的排列,每次将相邻两数相加,可以得到新的序列,长度是N-1 再对新的序列,每次将相邻两数相加,可以得到新的序列,长度是N-2 这样下去可以最终只剩一个数字 比如 :

    2023-07-02:给定一个1~N的排列,每次将相邻两数相加,可以得到新的序列,长度是N-1 再对新的序列,每次将相邻两数相加,可以得到新的序列,长度是N-2 这样下去可以最终只剩一个数字 比如 : ...

  9. PB从入坑到放弃(一)第一个HelloWorld程序

    前言 网上关于PowerBuilder的资料确实是少之又少. 为了方便,后面我们都用pb 来代替PowerBuilder 说到这不得不来说说自己的pb入坑经历, 自己也不是计算机科班出生. 刚到公司面 ...

  10. Python 一大坑,配置文件中字典引用问题(拷贝)。

    大坑 +1 python 配置文件中字典引用问题 最近在开发系统时发现一个传奇的BUG, 用户未登录就可进入系统内,而且含有真实身份信息. 此问题困扰多时,反复debug.由于找不到问题原因,复现具有 ...