赛博炼丹师手记

2024-04-07 01:28
文章标签 赛博 手记 炼丹

本文主要是介绍赛博炼丹师手记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 0. 丹炉安置
  • 1. 炼丹手法
    • 1.1 前置准备
    • 1.2 数据标注
    • 1.3 开始炼丹
    • 1.4 结果验收
  • 2. 炼丹心法
    • 2.1 步数相关
    • 2.1 效率相关
    • 2.2 质量相关
  • 3. 相关文献

0. 丹炉安置

个人推荐b站up主朱尼酱出品的道玄丹炉,新手易懂,老手易用。

丹炉下载地址如下:

  • 夸克xyy 盘链接
  • 百度网盘链接

1. 炼丹手法

1.1 前置准备

  1. 首先我们需要准备好我们的底模和触发关键词,同时选择丹炉的风格(一些预制好的参数)。
    在这里插入图片描述
  2. 收集20~30张的素材,对其裁剪为固定尺寸大小,然后上传到丹炉之中

注:裁剪可以使用如下网站进行批量裁剪:birme
在这里插入图片描述

1.2 数据标注

勾选【脸部加强训练】,点击预处理,即可进行AI自动标注:

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

在这里插入图片描述

点击【TAG编辑】,这里面就是形容照片的一些标签,右边是所有照片的标签,单独点击某一张照片就可以看到这张照片的标签。

注1:如果你想保留人物的某个特征,那就要把对应的标签删掉,这样AI就会默认这个人就是有这个特征
注2:如果你想灵活调整某个特征,那就要把这个特征打上标签
在这里插入图片描述

1.3 开始炼丹

点击【开始训练】即可开始炼丹。其中Steps”就是训练步数,每训练50步右下角就会出现一张图片,那样就可以实时看到Lora的泛化能力。

注:Loss可以用来参考模型的好坏,一个好的模型Loss值在0.07~0.09之间具体好不好还是要在Stable Diffusion实际测试才知道

请添加图片描述

1.4 结果验收

等训练完了之后,点击【模型】,就可以看到生成出来模型按照默认参数训练会出来N个模型,但不是说最后一个模型就是最好的。有可能炼到第六第七个模型就已经够了,再往后的模型就已经训练过度了。所以这些模型还要实际在SD测试一下,才知道哪个是最好的
在这里插入图片描述
选了Lora之后,我们就会在关键词的文本框里看到这串Lora的编号
在这里插入图片描述
然后把“000006”那段数值改成“NUM”,把最后的数字“1”改成“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的权重

在这里插入图片描述
最后点击【生成】,可以得到如下的图表,大家根据自己的需要选择合适的模型。
在这里插入图片描述

2. 炼丹心法

注:此章节主要会介绍有关lora 模型训练的超参数

炼制模型的本质是在如下的图像中,找到全局最低点(函数最优解):
在这里插入图片描述

2.1 步数相关

丹炉的步数设置主要给我们暴露的时候如下的两个参数:

  • Repeat:学习步数,其指的是对于一张图片模型要学习多少次。

注:理论上学习次数越多,模型越能习得图片特征。但是这个数值并不是越大越好,当到达某个临界点之后,模型对图片认知就会得到固化,失去了创造能力。这就是模型训练之中的过拟合现象。

经验参数Repeat
人物80~120
风景20~30
二次元20~50
  • Epoch:模型训练循环次数。在每个epoch之中,都需要对一张图片进行Repeat次学习。

注:假如当前的 r e p e a t = 150 , e p o c h = 15 , i m a g e s i z e = 10 repeat = 150, epoch = 15, image_{size} = 10 repeat=150,epoch=15,imagesize=10,则本次模型的总训练步数为 r e p e a t ∗ b a t c h ∗ i m a g e s i z e = 22500 repeat*batch*image_{size}=22500 repeatbatchimagesize=22500
在这里插入图片描述

2.1 效率相关

  • BatchSize:模型一次参数更新中使用的样本数量。

注1:训练数据会被划分为多个小批次进行处理,每次处理的样本(图片)数量就是BatchSize。
注2:此参数会直接影响模型的内存占用和训练速度。假设每一步训练的时间是1s,总步数为22500,BatchSize为5,那么总得训练时间为: ( 22500 / 5 ) ∗ 1 = 4500 s (22500/5)*1 = 4500s (22500/5)1=4500s
注3:此时的模型训练Loss Function为BatchSize个样本结果的平均值,这以为着当BatchSize过大的时候,模型在每次更新时的梯度更新将更为平均,失去一定的拟合泛化能力。当前样本数量仅为20时,建议这个值不要超过4

  • Optimizer:优化器,其用于更新和调整模型参数以最小化训练误差的算法。优化器能够使用损失函数的梯度来指导模型参数的更新,从而帮助模型更好地学习和适应数据。
优化器推荐备注
AdamW8bit1e-4-
DAdaptation1常用作测试最优学习率
Lion-DA最优结果的1/3
  • Save Every N Epochs:每N轮保存一个模型。

注:假设其值为1, E p o c h = 15 Epoch = 15 Epoch=15 ,则每个Epoch结束之后都会保存一个模型,总共会保存15个模型

  • Lr Scheduler:学习率调度器,用于动态调整学习率,避免模型训练中得到局部最优解。
调度器解释
constant恒定学习率,此时学习率为静态学习率在这里插入图片描述
constant with warmup带预热恒定学习率,前期会有一个预热抬升,帮助AI在不熟悉训练集的时候慢慢接触,防止掉入局部最优的陷阱在这里插入图片描述
cosine余弦退火,一开始给出较高学习率,后期使得学习率更加平稳的降低,帮助跳出局部最优在这里插入图片描述
cosine with restarts余弦退火重启,每隔几步会重启在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2 质量相关

  • Unet Lr:特征提取学习率,其表示学习样本的速度。

注1:学习率高(对应下图中下面那一行,会导致模型得不到最优解)可以更快的完成对样本的学习,但是会导致囫囵吞枣,失去图片的一些细节。学习率过低会导致每一步都学习的特别慢,学习不完整个样本,导致欠拟合。
注2:一般设置为1e-4 到1e-3之间
在这里插入图片描述

  • Text Lr:文本学习率,其主要用于将我们对图片打标的tag转换为AI能够理解的模型或者算法。

注:其通常为Unet Lr的1/10,不超过1e-4

  • Network Dim:神经网络维度,其值越高,网络越密集,可以表现的特征越多,也越容易过拟合。
Network Dim模型大小场景
128144MB实物,风景,人物
6472MB人物
3240MB二次元
  • Network Alpha:生成器和判别器的特征图的数量和分辨率。

注:值越高会学习到更多的特征,但是也会导致过拟合。

在这里插入图片描述

3. 相关文献

[1] 保姆级Lora炼丹教程,一站式整合包,让你实现真人模特定制
[2] [全网最细lora模型训练教程]这时长?你没看错。还教不会的话,我只能说,师弟/妹,仙缘已了,你下山去吧!
[3] 深度学习中的优化器原理(SGD,SGD+Momentum,Adagrad,RMSProp,Adam)
[4]【现代炼丹基础】手动档优化器迭代传奇 持续为您播出
[5] 【AI绘画教程】天书LORA训练进阶——(高级设置讲解|梯度累加|带示例对比)

这篇关于赛博炼丹师手记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/881320

相关文章

AI 已经在污染互联网了。。赛博喂屎成为现实

大家好,我是程序员鱼皮。这两年 AI 发展势头迅猛,更好的性能、更低的成本、更优的效果,让 AI 这一曾经高高在上的技术也走入大众的视野,能够被我们大多数普通人轻松使用,无需理解复杂的技术和原理。 其中,AI 有一个很重要的应用,就是 搜索 。 搜索技术经历了几个主要阶段的发展: 1)1.0 时代:以关键词匹配为主,搜索引擎根据用户输入的关键词在索引数据库中查找匹配的网页。但容易受到垃圾信息

YZ3D项目怕坑手记

刚挪新坑,是问题大爆发的时候。集中记录一下。 1、uimanager封装了一个CreateWindow<>("")的方法,然而这个方法默认是创建,并且隐藏一个新窗口。我一直以为是创建显示。找了好久原因 2、为了多人开发的便利性和解耦合,项目大量使用接口为中间件的方式。项目使用Dll的方式在Unity中使用,经常会出现全部Dll丢失的情况,这当然是由于meta文件的问题,但是始终没有完美的

HumbleBundle捆绑包6月18号推出38件Unity和Unreal的3D模型捆绑包美术工具道具环境模块化恐怖FPS和RPG赛博20240618

HumbleBundle今天更新了新的捆绑包,Unity和Unreal的无限创作主题, 主要是场景环境模型、工具、道具等合集,质量挺高。 非常适合FPS、模拟经营、RPG等类型游戏。 HumbleBundle捆绑包6月18号推出38件Unity和Unreal的3D模型捆绑包美术工具道具环境模块化恐怖FPS和RPG赛博202406181505 分三档: 第一档位只有1个场景模型

AI绘画界的赛博佛祖,开源最强SD3它来了!(整合包)

全网期待已久的SD3终于和大家见面了。这款以Stable Diffusion为基础,进一步优化和升级的模型,无疑将会深刻地又又又一次改变AI绘画界! 这次发布的是Medium版本,在多个方面展现出惊人的能力和效率,堪称开源最强,拳打Midjourney,脚踢它自己的老版本SDXL,赶快跟我去看看吧~ SD3 Medium它真的,我哭死! 推出SD3的依然是Stability AI

bugku---misc---赛博朋克

1、下载附件解压之后是一个txt文本,查看文本的时候看到头部有NG的字样 2、把txt改为png后缀得到一张图片 3、binwalk没发现奇怪的地方,分离出来还是图片 4、stegslove分析,切换图片没有发现奇怪地方 5、将通道rgb置为0。出现了flag但是flag不明显 6、使用kali中自带的zsteg工具,提取隐写信息 7、flag flag{Hel

ERR_CONTENT_LENGTH_MISMATCH 问题的解决 手记

通过nginx代理访问出现 ERR_CONTENT_LENGTH_MISMATCH 错误 修改nginx下proxy_temp的权限为root    命令为 chown root proxy_temp  问题解决 如果还不能解决 使用 chown -R root nginx  并在nginx.conf里面  worker_processes 1;前面加上   user root;;

袋鼠云研发手记 | 开源·数栈-扩展FlinkSQL实现流与维表的join

作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司80%员工都是技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈、交互式数据可视化大屏开发平台Easy[V]等产品也在迅速迭代。在进行产品研发的过程中,技术小哥哥们能文能武,不断提升产品性能和体验的同时,也把这些提升和优化过程记录下来,现录入“袋鼠云研发手记”专栏中,以和业内童鞋们分享交流。 下为“袋鼠云研发

用实践结果告诉你为啥说 CloudFlare 是赛博菩萨?

最近几天明月都没有更新博客了,主要是接了几个 CloudFlare 代维配置的活儿,有需要加速优化的,有需要排除疑难故障的,有需要提高防御攻击能力的甚至还有纯粹为了体验“打不死”装逼需要的。总之,各种各样的需求,五花八门的,好在 CloudFlare 都能一一满足,最主要的是这些都是“免费”的!是的,你没有看错,都是免费的!CloudFlare 真的做到了名副其实的赛博菩萨! 今天明月抽点儿

赛博朋克(科普)

赛博朋克,是“控制论”与“朋克”的合成词。字面意思,就是对“高度机械文明”的反思。该背景大多描绘在未来,建立于“低端生活与高等科技结合”的基础上,拥有先进科学技术,再以一定程度崩坏的社会结构做对比。之后,它从文学向电影、游戏等媒介延伸,催生了赛博朋克文化。同时,它还演变为一种视觉美学风格,被运用到日常生活中的众多领域中 [6-7]。 “赛博朋克”脱胎于在1960—1970年代兴起的科幻小说新浪潮

python手记(35)

#!/usr/bin/env python#-*- coding: utf-8 -*-#code:myhaspl@qq.comimport cv2import numpy as npfn="test.png"if __name__ == '__main__':print 'http://blog.csdn.net/myhaspl'print 'myhaspl@qq.com'printpr