写在前面的话

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

于是想着看看利用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. 【保姆级教程】如何用Rust编写一个ChatGPT桌面应用

    为什么我们需要一个桌面应用 原因实在太多,我们需要便捷地导出记录,需要在回答长度超长的时候自动加上"继续",需要收藏一些很酷很实用的prompt...... (首先我假设你是一名如 ...

  2. 使用Cordova插件实现两个app之间的相互调用和通讯

    几年前使用Cordova 进行两个app之间的相互调用和通讯:当时也是几经折腾,今天把它整理出来,理一下思路,也方便有同样需求的朋友参考 一.require引入 plugin require(&quo ...

  3. JDK动态代理和CGLIB代理有什么区别

    JDK动态代理和CGLIB代理都是实现Spring框架中AOP的代理方式,它们的实现原理和应用场景有所不同, 具体区别如下: 1. 实现原理: JDK动态代理是基于Java反射机制实现的,它要求目标类 ...

  4. DB事物

    1.事物概念:一组逻辑操作单元 始数据从一种状态变换到另一种状态事物处理:所有事物 都作为一个工作单元来执行 , 即使出现了故障 都不能改变这种执行方式, commint提交之后 这些修改就永久的保存 ...

  5. 杭电多校第二场 DOS Card

    杭电多校第二场 DOS Card 评价一下这道题:我写过最爽的线段树题. 这道题真的非常令人身心愉悦,非常厉害的一道线段树入门题.我写这个一次调试都没有,过了样例就交了就过了,一切都是行云流水. 这道 ...

  6. 常见 Linux 提权

    Common Linux Privesc 记录 常见 Linux 提权的 提权方式:水平提权,垂直提权. 水平提权:这是您通过接管与您处于相同权限级别的不同用户来扩大您对受感染系统的影响的地方. 例如 ...

  7. 【python基础】文件-初识文件

    文本文件可存储的数据量是非常多的.每当需要分析或修改存储在文件中的信息时,首先就是读取文件到内存中,为此可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取. 1.读取文件 1.1读取整个文件 ...

  8. Android 巧用ImageView属性实现选中和未选中效果

    原文地址: Android 巧用ImageView属性实现选中和未选中效果 - Stars-One的杂货小窝 选中和未选中状态变更是很常见需求,UI那边出的两个不同状态的图片,然后开发这边去实现 通常 ...

  9. Blazor前后端框架Known-V1.2.4

    V1.2.4 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行. Gitee: https://gitee.com/known/Known Gith ...

  10. Hexo博客Next6.0版本主题配置(站内搜索、新建404界面、静态资源压缩、底部信息隐藏、各版块透明度修改、字数统计、推荐阅读、博文置顶、阅读进度、在线评论、运行时间)

    新建404界面 在站点根目录下,输入hexo new page 404,在默认Hexo站点下/source/404/index.md 打开新建的404界面,编辑属于自己的404界面,可以显示腾讯公益4 ...