首页 > 其他分享 >AI绘画:StableDiffusion炼丹Lora攻略-实战萌宠图片生成

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

时间:2023-07-09 13:44:06浏览次数:52  
标签:萌宠 训练 AI 模型 StableDiffusion Lora SD

写在前面的话

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

于是想着看看利用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,SD
From: https://www.cnblogs.com/aiaipro/p/17538654.html

相关文章

  • 用 AIGC 重构后的智能客服,能否淘到大模型时代的第一桶金?
    ChatGPT的诞生打响了现代AI军备竞赛的第一枪。以GPT-4、ChatGTP、Bard等为代表的大语言模型在全球各界引起了广泛关注。结合ChatGPT的底层技术逻辑,未来中短期内ChatGPT产业化的方向大致有四类:即智能客服、文字模态的AIGC应用、代码开发相关工作以及图像生成。其中,最适......
  • 云原生之使用Docker部署Dailynotes个人笔记管理工具
    (云原生之使用Docker部署Dailynotes个人笔记管理工具)一、Dailynotes介绍DailyNotes用于每天记笔记和跟踪任务的应用程序。本工具使用markdown进行编辑,也可以作为个人任务看板。二、检查本地docker环境1.检查docker版本[root@jeven~]#docker-vDockerversion20.10.21......
  • AI绘画:StableDiffusion制作AI赛博机车图保姆级教程
    本教程收集于:AIGC从入门到精通教程汇总如果你具备StableDiffusion的基础知识,那制作AI赛博机车图会更为顺畅。即便没有这个基础,只要严格按照教程的步骤执行,也能成功制作出来。本教程的重点是指导操作过程,而不会深入解析StableDiffusion的各项功能原理。如果想详细学习SD基础可......
  • 基于AidLux的自动驾驶智能预警应用方案
    基于AidLux的项目实战之智能预警在AidLux上的部署与应用1.YOLOP模型onnx转换部署YOLOP导出onnx模型执行命令:python3export_onnx.py--height640--width640执行完成后,会在weights文件夹下生成转换成功的onnx模型 2.AidLux模型转换工具AlModelOptimizer通过该工具对onnx......
  • 一文彻底搞懂MySQL基础:B树和B+树的区别 转载 https://blog.csdn.net/a519640026/arti
    写在前面大家在面试的时候,肯定都会被问到MySql的知识,以下是面试场景:面试官:对于MySQL,你对他索引原理了解吗?我:了解面试官:MySQL的索引是用什么数据机构的?我:B+树面试官:为什么要用B+树,而不是B树?我:…面试官:用B+树作为MySql的索引结构,用什么好处?我:…B树和B+树是MySQL索引使用的数据结构......
  • 行行AI人才直播第8期:新加坡国立大学在读博士生张傲《多模态大语言模型(MLLM)的简介及
    随着ChatGPT在各领域展现出非凡能力,多模态大型语言模型(MLLM)近来也成为了研究的热点,它利用强大的大型语言模型(LLM)作为“大脑”,可以执行各种多模态任务。更让人感慨的是,MLLM展现出了传统方法所不具备的能力,比如能够根据图像创作故事,无需OCR的数学推理等,这为实现人工智能的通用......
  • VMware:Package vim is not available, but is referred to by another package.
    出错语句在ubuntu中输入sudoapt-getinstallvim安装vim时出现如下错误语句Readingpackagelists...DoneBuildingdependencytreeReadingstateinformation...DonePackagevimisnotavailable,butisreferredtobyanotherpackage.Thismaymeanthatt......
  • AI重塑千行百业,华为云发布盘古大模型3.0和昇腾AI云服务
    【中国,东莞,2023年7月7日】华为开发者大会2023(Cloud)7月7日在中国东莞正式揭开帷幕,并同时在全球10余个国家、中国30多个城市设有分会场,邀请全球开发者共聚一堂,就AI浪潮之下的产业新机会和技术新实践开展交流分享。在7日下午举行的大会主题演讲中,华为常务董事、华为云CEO张平安重磅......
  • 利用Docker安装Airflow
    mkdirairflowcdairflowmkdir-p./dags./logs./pluginsecho-e"AIRFLOW_UID=$(id-u)">.envwgethttps://airflow.apache.org/docs/apache-airflow/2.5.0/docker-compose.yamlsudoaptinstalldocker-composedocker-composeup在浏览器中,输入l......
  • docker 容器的详细信息中ContainerConfig与config区别
    在Docker中,dockerinspect命令用于检查容器的详细信息。当我们运行dockerinspect<容器ID或名称>时,将返回一个包含容器的元数据和配置的JSON对象。ContainerConfig和Config是dockerinspect输出中的两个字段,它们分别表示容器的初始配置和当前配置。下面是它们之间的区别:C......