低显存(4g)训练LoRA模型的一些经验+自训练四季夏目LoRA模型分享

一、Lora简介

LoRA: Low-Rank Adaptation of Large Language Models 是微软研究员引入的一项新技术,主要用于处理大模型微调的问题。目前超过数十亿以上参数的具有强能力的大模型 (例如 GPT-3) 通常在为了适应其下游任务的微调中会呈现出巨大开销。 LoRA 建议冻结预训练模型的权重并在每个 Transformer 块中注入可训练层 (秩-分解矩阵)。因为不需要为大多数模型权重计算梯度,所以大大减少了需要训练参数的数量并且降低了 GPU 的内存要求。

Stable Diffusion 的全模型微调过去既缓慢又困难,这也是 Dreambooth 或 Textual Inversion 等轻量级方法变得如此流行的部分原因。使用 LoRA,在自定义数据集上微调模型要容易得多。


详细的原理分析见右侧链接:https://www.cnblogs.com/huggingface/p/17108402.html

简单来说,lora模型为我们提供了更便捷更自由的微调模型,能够使我们在底膜的基础上,进一步指定整体风格、指定人脸等等,而且lora模型非常的小,大部分都只有几十MB,非常的方便!

二、Lora一键包安装教程

秋叶大佬已经发布了一个本地Lora一键包,比较的方便,可以参考下方视频安装使用,本文是文字版教程。

注意本文默认是使用的N卡,A卡的道友暂时好像不能使用,会非常的慢

秋叶lora视频教程链接:https://www.bilibili.com/video/BV1fs4y1x7p2/?spm_id_from=333.999.0.0

一键包下载链接:https://pan.quark.cn/s/d81b8754a484

百度网盘链接:[url=链接:https://pan.baidu.com/s/1RmXoUar52KFJ4DdQU_UoWQ?pwd=r50l]链接:https://pan.baidu.com/s/1RmXoUar52KFJ4DdQU_UoWQ?pwd=r50l[/url]


下载完一键包之后,先安装包里的两个软件
 


其中python版本必须是python3.1,即使本地有python,还是建议再安装一个3.1版本。

安装python的时候记得勾选将python加入环境变量,如下图红框



安装完两个软件后,将鼠标移动到电脑左下角开始图标,选择“windows powershell”

输入命令:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

遇到询问输入 y


同时可以在这里验证python是否安装成功,输入python将显示出python版本为3.1.

现在进入lora-scripts文件夹,先双击运行“强制更新.bat”文件

如果报错提示没有git或者不识别git命令,说明你的电脑没有git,需要下载安装一个,

git下载链接:https://git-scm.com/download/win

安装完git再重新运行“强制更新.bat”文件

更新完毕后,右键:“install-cn.ps1”文件,选择“使用powershell运行”。

注意,这里有一个非常常见的错误就是提示“其他依赖安装失败!”如下图



遇到这个错误,重新运行“强制更新.bat”文件

然后再运行“install-cn.ps1”文件。

install-cn.ps1”文件正常运行最后会提示“安装完毕”,如下图


然后现在就进入了素材准备的阶段,首先自己准备10-100张图片,40张左右效果就差不多。

将所以的素材图片放到同一个文件夹,然后进入SDwebUI界面,选择“训练”标签,点击图像预处理

在源文件输入素材文件夹位置,并填上输出文件夹位置,勾选下方第三个自动焦点裁切和最后一个deepbooru打tag的选项


点击预处理,会在设置的输出文件夹中生成裁剪后的图片以及图片相应tag的txt文件

这里如果显卡大小小于8G的话,建议裁剪成512*512大小的图片,512*640最少需要8G显存

得到素材文件后,,在lora-scripts文件夹下新建一个train文件夹,然后再下方再创建一个文件夹,命名随意,但是需要记住。比如我创建了就是sucai文件夹。

在这个文件夹下再创建一个文件夹,这个文件夹有严格的命名格式。

要求为:数字_名称,如6_sucai。

数字代表的是这个文件夹下的素材使用几次,显存大的道友可以设置多个,一个的话也可以。

如果素材文件比较少的情况下,可以设置6,如果100张图以上可以设置为2或者3,甚至1也行,不然可能会炸

全选复制裁剪后的图片以及所以的txt文件到上面刚创建的文件夹下。比如我这就是..\train\sucai\6_sucai\



现在素材准备好了,我们修改一下“train.ps1”文件,右键使用文本编辑器打开

我们需要修改的参数如下图所示:



其中$pretrained_model ,不是指的SDwebUI左上角的模型路径,而是这次训练lora模型主要参考的模型。

存放位置一般为..\lora-scripts\sd-models\

这里我们需要去准备一个模型放在这个路径中,推荐直接复制SD中的主模型过来改个名字。

注意,经过群友大量测试,推荐使用SD1.5模型作为lora丹底。

下载链接:https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt


将新下载的SD1.5,如果之前下过就到从..\stable-diffusion-webui\models\Stable-diffusion中找

复制到..\lora-scripts\sd-models\路径中

最好重命名一下,比如我就是重命名为model.ckpt

然后就填入配置文件

$pretrained_model = "./sd-models/model.ckpt"

注意:有的道友选的丹底是SafeTensor格式的,那就改成

$pretrained_model = "./sd-models/model.safetensor"

$train_data_dir指的就是我们刚才创建的存放素材的位置,我这里就填入

$train_data_dir = "./train/sucai/"

不需要填入带数字的文件夹。

下方的训练相关参数,$resolution指的是图片分辨率。

显存小于8个G的道友就老老实实训练512,512,不然显存直接爆炸

$max_train_epoches指的是训练的epoch数,建议数值10-20,但一般15就差不多了。数字越大训练时间越久。

其他几个参数小白的话可以不用动,默认就可以了。学习率这里也不用动

等能够熟练操作之后,可以自己调整参数以便得到更好的效果。

再往下,输出设置这里

可以通过修改$output_name后方的值修改输出的lora模型文件名,建议输入英文名,不要用中文,比如我设置为gaoye

lora文件类型建议设置$save_model_assafetensors

改完参数后,一定记得保存文件。然后关掉文件,“train.ps1”文件,选择“使用powershell运行”。

如果显存没爆炸,且上述参数都设置的情况下,正常就开始进入训练界面了。



出现epoch轮数的时候,就证明你已经正常进入训练过程了!

根据设置的参数已经你显卡的性能,训练的时间不等。

等待训练完毕,打开..\lora-scripts\output\文件夹,复制生成的gaoye.safetensors复制到sd中的..\stable-diffusion-webui\models\Lora\路径中

其他几个带数字的文件为中间文件,可以丢弃。

至此,我们自己的lora模型已经训练完成,可以进行使用了!!

三、Lora使用教程
这部分不再赘述,可以参考入门教程的第七部分

入门教程:https://dfldata.xyz/forum.php?mod=viewthread&tid=12756&page=1#pid390482

四、常见错误排除

1.运行“install-cn.ps1”文件,提示“其他依赖安装失败!”如下图

答:遇到这个错误,重新运行“强制更新.bat”文件,然后再运行“install-cn.ps1”文件。

2.运行“强制更新.bat”文件,报错提示没有git或者不识别git命令。

答:说明你的电脑没有git,需要下载安装一个,

git下载链接:https://git-scm.com/download/win

安装完git再重新运行“强制更新.bat”文件

3.运行“train.ps1”文件提示“CUDA out of memery”错误。

答:显存不够了,调小参数设置的分辨率,支持非正方形,但必须是 64 倍数。

同时可以加大虚拟内存,具体方法百度。

实在机器性能有限,可以使用在线的网站训练lora模型。

参考链接:https://www.bilibili.com/read/cv21450198

4.运行“install-cn.ps1”文件创建虚拟环境失败

答:检查python版本,以及电脑装过anaconda,需要先关掉conda自动激活base环境,方法自行百度。不然运行脚本时环境会冲突。

5.运行的“train.ps1”文件的时候,提示Error no kernel image is available for execution on the device。



答:删掉“train.ps1”文件中,下方红框中的命令,保存后重新运行
 

 

多图预警;段首懒得空两格,见谅。

模型和图片(放进法术解析就能看咒语)会放在评论区置顶,在云平台上训练模型花了我一个疯狂星期四,求个小小的赞和评论应该不过分吧QAQ。

先说清楚,选择好合适的素材集在云平台上训练是一分钱不用花的,具体请看文中的引用教程,花了money是因为我人傻走弯路。

https://www.birme.net/?target_width=512&target_height=768
在玩了galgame之后,就有一种想要夏目更多地踩我的冲动,然后就想到了ChatGPT+VITS的整活,不过ChatGPT使用麻烦(虽然现在已经搞定了),VITS模型训练又比较麻烦(galgame剧本提取不出来),所以就想到了AI绘画。

幸运的是,b站上有很多打包好的懒人包,点开即用,笔者用的是up主秋葉aaaki的整合包。

02:57
【AI绘画】启动器正式发布!一键启动/修复/更新/模型下载管理全支持!
 68.6万  2878
视频
秋葉aaaki
        首先,我尝试着自己组合各种tag,来把枣子姐画出来,然而结果是这样的:

当时甚至连brown eyes的tag都没打上
可以看到,头花?有了。头饰?有了。middle breast也差不多,但是画风不像啊。

于是我用了网上找到的柚子社画风的模型,并且由于枣子姐的美人痣太戳我xp了,我就在mole under eyes上打了好几托括号,结果变雀斑了,再加上负面tag没打好的原因,肢体也开始降san了(由于审核的原因,这个图删掉了)

接着继续尝试改进,首先是又换了一个模型,跑了一堆图出来,能看的也有,但是都不太符合我对枣子姐的幻想((嘿嘿嘿))

mole under eyes太过火了,变成Oppai上面有痣了
(这里夹掉了一张nsfw,效果也不是很好,就不补了)

后来又换了好几个但还是不满意


我逐渐理解,想要画出自己想要的效果(人物),可能只能自己训练模型,但是我的显卡是GTX1650(据说当时被称为智商检测卡,4年前的中端配置显卡吧),显存只有4G。而训练embedding至少需要6g以上的显存。再说,embedding的训练需要大量素材,枣子姐虽然人气高,p站上也有较多插画(精选的大部分都是nsfw。。。),但应该是喂不饱训练素材量的。

直到我打开新世界的大门:LoRA模型

附上LoRA模型的教程

【AI绘画】LoRA 在线云端训练教程 AutoDL

今天为大家带来 LoRA 在线云端训练教程。镜像已经封装好,无需任何安装直接可以开始训练。本教程使用 AutoDL 在线租显卡训练,如果你还没有账号可以使用我的邀请链接,送10r代金券 https://www.autodl.com/register?code=33208c44-1ec2-4166-83b4-bf2f561a9551话不多说,直接开始。在 AutoDL 租显卡, 创建机器的时候选择 算法镜像——lora-scripts 即可。我的这个镜像,xformers 是基于 sm86 架构编译的,本身

文章
秋葉aaak...
3.4万
1010
172
在这里也附上秋葉aaaki (简直是kamisama)的最新答疑

【AI绘画】LoRA 模型训练 参数相关问答

一些个常见问题,今天统一回答一下Q: 如何训练144mb大小的模型A: 话说在前面 模型不是越大越好模型不是越大越好模型不是越大越好 如果你真的想修改的话,需要修改 network_dim 这个参数。默认给的是32,改成128对应着144mb。注意修改了 network_dim 记得看看 network_alpha 需不需要修改Q: 为什么我的训练步数这么少?A: 请了解 epoch 的相关知识。一个 epoch 指的是所有图片都过一遍,我们在脚本里修改的是epoch大小,所以你给的训练图片素材数量直接影

文章
秋葉aaak...
2.9万
659
134
第一次训练模型,数据集非常非常粗糙,粗糙到什么程度呢,直接把插画或者立绘(贴吧有收集这方面资源的大佬)丢进去图像预处理,然后再丢进云平台训练。

这样训练出来的效果当然不好。第一次训练用的是镜像文件自带的model,大概是6k步还是3k步(忘了),然后在使用LoRA生图的时候好像用的是pastelmix粉彩(蜡笔模型?),出来的效果是这样的:

好像有点小酷,或许接下来可以往这种画风靠拢
这个应该是用了柚子社画风的大模型

要说和原画风最相似,应该是这张了。。虽然是崩坏了
效果是有的,但是一言难尽,当时我还没有尝试去调教LoRA模型的权重,一般来说权重为1的话效果不是很好(也有可能是我训练的模型比较烂)。

随后我又训练了一个跑了2w3step的模型,但是由于没有调教权重,出图效果也不好,我当时还以为是步数不够,tag不好,一直在调整。直到我用跑了7w步的模型(错误率大概在2%)也无济于事,我才将好几个LoRA一起用,然后调整权重,经过不断调教左右,发现LoRA模型的权重大概在0.5~0.7之间是最好的,能产出比较好的图片:

<lora:Shiki_Natsume_cornfw:0.2>
这个模型是以b站up主Toooajk做的矢车菊模型为底模训练的,不过产图时用的model也忘了,大概率是pastelmix吧


<lora:Shiki_Natsume_cornfw:0.15>


<lora:Shiki_Natsume_cornfw:0.35>

<lora:Shiki_Natsume_cornfw:0.5>
发带已经比较稳定了,这时候我发现了元素法典的文档,并采用了里面的风魔法,画出了比较好的效果

还是不太像啊,唉

在经过一系列的调试魔法,现在枣子姐的形象大概稳定了下来,接下来就是慢慢靠近原画风,慢慢让她画出不同动作不同场景的作品,同样,在以下图片中都是借鉴元素法典里的魔法来调整效果的。

不知道为什么多了一只我的手(唔)


这张好啊,真还原,不过看多了真有点脸盲了,又觉得根本不像
雪糕prpr

这张是目前为止最满意的了
后来由于操作失误,不小心把存着的13个版本枣子姐的style给删了。。。只能从头开始慢慢调试,同时也尝试新风格新背景新动作。特别提醒一下,如果存的style太多,千万不要自己在文件表格里面删减,不然报错之后全部style都没了。(血泪史)


于是又开始产出掉san的图

写专栏的时候跑出来拆台的(恼)
但是从开头翻到这里,其实人物特征效果是越来越好的。

一开始我陷入了一个误区,就是把原图直接丢进去,让图像预处理进行分割,训练出来的模型效果不太好(也有可能是操作不当,权重给太高,渣机懒得尝试了)

在之后的训练里,我把立绘的图一张一张裁剪,把头部各表情剪出来,同时将其在训练集中复制粘贴好几次,这样原画风的图片占比就比较多,插画的占比比较少。然后把每一套衣服剪一下,再适当添加nsfw的素材进去。这样素材及总共应该有六百多张图。不过其实对于LoRA模型来说,不需要这么多素材,也不需要这么多步数。我也可能是多此一举了,今天早上刚跑完的模型,是我基于原本跑了7w步的模型继续训练了10w步产生出来的。。。错误率大概在1%左右,应该已经陷入局部最优出不来了。

我还做了一些其他尝试,例如图生图,在这里推荐pose studio,可以摆各种各样的姿势,然后截图拿去图生图。

当然,不要跑太复杂的姿势。。。。不然又要掉san了


嘿嘿嘿。。。嘿嘿嘿我的枣子姐
4g显存能跑多大的图?我跑1024x768是没有问题的。在提示词里面最好不要多个LoRA模型一起用,因为那样会占很多显存,我三个混用的时候,跑960x640都会给我爆显存。

唉,跑了这么多图,看了这么久,感觉又越改越不像了


写在最后

祝大家能顺利跑出自己的老婆,夏目我先抱走了(滑稽)。 作者:井之上泷奈酱酱酱 https://www.bilibili.com/read/cv21677055 出处:bilibili

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

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

相关文章

产业分析:2023年江门市产业全景

导读&#xff1a; 江门是广东省的地级市&#xff0c;位于珠三角西翼&#xff0c;是粤港澳大湾区的重要组成城市之一。根据江门市统计数据显示&#xff0c;在江门市经济贡献较高的产业中&#xff0c;支柱产业依然是金属制品、农副产品加工和食品制造、电气机械与器材制造业、计算…

达尔文——生物医疗科学领域大模型

赛灵力官网 1. 生物医疗领域的挑战 1.1 复杂性 生物系统和生物过程非常复杂&#xff0c;包含大量的相互作用和调控机制&#xff0c;理解和解析这些复杂性是一项巨大的挑战。 举例来说&#xff0c;单单一个人类&#xff0c;体内的生物信息就非常复杂&#xff1a; 人类体内体内…

计算机数学基础⑤(Graphs)

文章目录 Graph Theory(图论)Graphs: Useful Concepts(图&#xff1a;有用的概念)Walks and connectedness(走法和连通性) Graph Theory(图论) Definition 5.1. Intuitively, a graph is just a way of modeling a collection of objects and the connections between them.直…

权威发布丨2022 中国开源先锋 33 人之心尖上的开源人物

国家政策的扶持&#xff0c;开源在千行百业的应用&#xff0c;有人说开源最好的时代到了&#xff1b; 全球政治经济环境的快速变化&#xff0c;疫情的肆虐&#xff0c;有人说最寒冷的时代到了。 开源社主办的 COSCon22 中国开源年会上&#xff0c;我们也以「开源站在十字路口」…

对话实在智能CEO孙林君:AI创新加速RPA普惠

刚刚过去的2022年&#xff0c;以AI绘画和ChatGPT为代表的人工智能应用&#xff0c;让互联网业界眼前一亮&#xff0c;更让不少AI创新企业的估值水涨船高&#xff0c;最新报道称&#xff0c;ChatGTP的创建者OpenAI的估值已高达290亿美元&#xff0c;成为当下美国估值最高的初创公…

这10本书,带你了解 ChatGPT 的底层逻

文章来源&#xff1a;人民邮电出版社 自2022年11月30日发布以来&#xff0c;ChatGPT已经真正意义上地火爆全球&#xff1a;它在不到40天内就拥有了1000万用户&#xff0c;而Instagram足足用了355天&#xff1b;最近它的日活已经达到1000万&#xff0c;这意味着其用户已经超过20…

论文工具——写论文好用的绘图工具(甘特图+流程图+网络模型图+泳道图)

文章目录 引言正文手动画图的在线画图工具tldraw开源免费ProcessOnDraw.io 网络模型图工具NN-SVG设置参数自动生成Netron上传模型自动生成PlotNeuralNet编码生成 总结 引言 在写HiFi-GAN论文的代码阅读过程中&#xff0c;我发现仅仅通过文字来描述网络结构&#xff0c;不够详细…

GPT-4来了

&#xff08;1&#xff09;注意三个东西 这个IT世界&#xff0c;一直要注意三个东西&#xff1a; 硬件&#xff1a;新的计算设备软件&#xff1a;开源-免费交互&#xff1a;新的交互方式 你看每一代新的计算设备&#xff1a;大型主机-小型机-工作站-PC机-智能手机&#xff0c;每…

机器人博客等自媒体逐渐回归平静

先说结论吧&#xff0c;普通人比如我&#xff0c;最终将全力给AI&#xff08;也就是人工智能&#xff09;打工谋取生存的薪资。 关于机器人教学考核&#xff1a; AI回复&#xff1a; 我认为用AI评价学生成绩比人类老师更客观公正的原因是因为AI不会受到情感、偏见、疲劳等因素的…

好莱坞片酬最高的演员,投资了世界上最成功的 AI 公司

作者 | 汤一涛 编辑 | 靖宇 由 ChatGPT 带火的这波 AI 热潮&#xff0c;来的迅猛&#xff0c;让全世界措手不及。尤其是投资机构&#xff0c;当反应过来时&#xff0c;OpenAI 等领头公司估值已经坐上火箭&#xff0c;并且背后都是硅谷巨头&#xff0c;已经无从入手。 然而&…

没有他们,人工智能只能死翘翘

我过去写过一篇文章《很多所谓伟大的贡献&#xff0c;其实都是狗屎运》&#xff0c;今天我也写写人工智能。 &#xff08;1&#xff09;人才 深度神经网络如果不从明斯基和罗森布拉特说起&#xff0c;那就应该可以从1965年Ivakhnenko发明前馈神经网络说起。但关键里程碑是出自R…

欢迎来到新世界

&#xff08;1&#xff09; 我去年对技术的发展是比较灰心的&#xff1a; 云原生&#xff1a;技术一直动荡&#xff0c;SOA->Servless、Docker->WASM、GitOpsCICDDevOps云计算&#xff1a;在中国从公有云走向了私有云&#xff0c;乃至金融云、国资云、政务云等等N种云Saa…

CHATGPT-4变笨引爆舆论!文本代码质量都下降,OpenAI刚刚回应了降本减料质疑

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 大模型天花板GPT-4&#xff0c;它是不是……变笨了&#xff1f; 先是少数用户提出质疑&#xff0c;随后大量网友表示自己也注意…

万字解析GPT的情感与意识,它是一只被人类操控的“风筝” | AI未来指北

来源&#xff1a;AI未来指北 编辑整理&#xff1a;周小燕、郭晓静 《AI未来指北》栏目由腾讯新闻推出&#xff0c;邀约全球业内专家、创业者、投资人&#xff0c;探讨AI领域的技术发展、商业模式、应用场景、伦理及版权争议。 丨划重点 ● 一部分基础工作可能会被AI产品替代&am…

清华教授钱颖一:人工智能将使中国教育优势荡然无存

编辑 | CVer 点击下方卡片&#xff0c;关注“自动驾驶之心”公众号 ADAS巨卷干货&#xff0c;即可获取 在由国务院参事室公共政策研究中心和新华网思客共同主办的《参事讲堂》上&#xff0c;国务院参事、&#xff08;前&#xff09;清华大学经济管理学院院长钱颖一以“创新人才…

让 GPT-4 帮我设计一个分布式缓存系统,从尝试到被我逼疯!

点击关注公众号&#xff0c;Java干货及时送达 学习 Spring Cloud 微服务的正确姿势&#xff01; 用上 ChatGPT 啦&#xff0c;强的离谱&#xff01; 博客园在绝境求生。。 整理 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 比 ChatGPT 背后 GPT-3.5 更为…

Android模仿微信浮窗功能的效果实现

转载请注明出处&#xff0c;谢谢&#xff1a;https://blog.csdn.net/HarryWeasley/article/details/82591320 源码地址&#xff1a;https://github.com/HarryWeasley/weChatFloatDemo 最近研究了微信悬浮窗的效果实现&#xff0c;写此文章记录一下&#xff0c;后面有我的GitH…

Qt 停靠悬浮窗口 使用实例

工程中我们常用到悬浮窗口&#xff0c;Qt 实现停靠和悬浮使用类QDockWidget&#xff0c; 效果&#xff1a; 悬浮窗口 这里主要介绍怎么使用&#xff1b; Part1.使用流程&#xff1a; 1. 创建QDockWidget对像的停靠窗体&#xff1b; QDockWidget *dw new QDockWidget(&quo…

android悬浮窗口的实现

当我们在手机上使用360安全卫士时&#xff0c;手机屏幕上时刻都会出现一个小浮动窗口&#xff0c;点击该浮动窗口可跳转到安全卫士的操作界面&#xff0c;而且该浮动窗口不受其他activity的覆盖影响仍然可见(多米音乐也有相关的和主界面交互的悬浮小窗口)。那么这种不受Activit…

ChatGPT提示词工程(六):Expanding扩展

目录 一、说明二、安装环境三、扩展&#xff08;Expanding&#xff09;1. 自定义自动回复客户电子邮件2. 提醒模型使用客户电子邮件中的详细信息3. 参数 temperature 一、说明 这是吴恩达 《ChatGPT Prompt Engineering for Developers》 的课程笔记系列。 本文是第七讲的内容…