stable diffusion打造自己专属的LORA模型

通过Lora小模型可以控制很多特定场景的内容生成。

但是那些模型是别人训练好的,你肯定很好奇,我也想训练一个自己的专属模型(也叫炼丹~_~)。

甚至可以训练一个专属家庭版的模型(family model),非常有意思。

将自己的训练好的Lora模型放到stableDiffusion lora 目录中,同时配上美丽的封面图。

在这里插入图片描述

(plen_me、plen_vivi,这两个是我训练的和家里人的模型~_~)

这样就可以将你的Lora模型和其他Lora模型融合使用了。

再配上Controlnet基本可以,将自己的pose+特征融入到其他任何lora模型中。

【1】
下面我们看下如何训练自己的模型。

(我的炼丹炉配置,win10+i7F+4080 )

首先,Lora模型可以通过lora-scripts 脚本进行训练。

仓库地址:https://github.com/Akegarasu/lora-scripts

找个目录拉下来,先安装sd-scripts子项目,然后安装lora-scripts项目。

(敲黑板)重点看下sd-scripts 子项目:
https://github.com/kohya-ss/sd-scripts/tree/b5c60d7d62d6bb4a174ac09327dc517fc4446523

要严格按照作者给的步骤安装。(要不然会有很多奇怪的问题)

如果顺利的话大概安装需要30min左右。(需要kexue上网应该就不用多介绍了)

【2】
接下来准备需要训练的图片。

根据最后的生成效果,要找头像清晰的,脸部轮廓清楚的,背景最好是白色的。

然后就需要我们将图片进行预处理。

先将图片放在一个文件夹里,然后定一个预处理之后的文件夹名字。

然后在stablediffusion中找到【训练】【图像预处理】模块

lora

按照说明,填入预处理图片路径和目标目录,然后选择【Deepbooru生成标签】。然后点击【Preprocess】,等处理完成。

到目标目录下,看下生成的标签信息。

lora

lora

这些标签就是训练模型的图片特征了,基本上生成出来的标签还是要check下。

如果某个重要的标签丢失,或者识别错误(girl识别成boy ~_~)会直接影响炼丹质量。

【3】
将预处理目标文件夹复制到lora-scripts脚本的主目录的train目录中。(如果没有就创建一个)

如果你有多个训练集合可以在train中创建一个目录,然后放到这个目录中。

训练自己的专属模型,需要依赖一个主模型。真人特征的模型貌似用 chilloutmix_NiPrunedFp32Fix 比较流行(这个模型很强大,你懂的!)。

模型地址:
https://huggingface.co/naonovn/chilloutmix_NiPrunedFp32Fix/tree/main

将下好的模型文件复制到lora-scripts->sd-models文件夹中。

【4】

准备工作差不多了,我们编辑下训练脚本。

lora-scripts目录中的train.ps1 脚本文件。

# Train data path | 设置训练用模型、图片
$pretrained_model = "./sd-models/chilloutmix_NiPrunedFp32Fix.safetensors" # base model path | 底模路径
$train_data_dir = "./train/test" # train dataset path | 训练数据集路径

$pretrained_model:就是我们下载的训练模型的基础模型,把名字换掉。
$train_data_dir:训练数据目录。

    # Train related params | 训练相关参数
    $resolution = "512,512" # image resolution w,h. 图片分辨率,宽,高。支持非正方形,但必须是 64 倍数。
    $batch_size = 2 # batch size
    $max_train_epoches = 20 # max train epoches | 最大训练 epoch
    $save_every_n_epochs = 2 # save every n epochs | 每 N 个 epoch 保存一次

$resolution:如果你的图片预处理的时候没有调整过,这里就保持默认。
b a t c h s i z e 、 batch_size、 batchsizemax_train_epoches:如果你的卡不是很强,这里的参数可以小一点。(这两个参数主要控制训练的次数和显存加载的张量数据集)。

    # Output settings | 输出设置
    $output_name = "meoutput" # output model name | 模型保存名称

$output_name:用默认的也行,最好自定义一个名字,避免重复生成覆盖原来模型。

保存,然后右键 【使用PowerShell运行】。

(这里还是要祈祷下,不一定能一次成功。~_~)

脚本在运行过程中会出现一些’triton’加载失败的错误。

lora

lora

但是其实不影响模型的训练(我查了下好像是windows电脑就不支持这个模块)。

这里的错误如果不能正常执行,大概率是前面敲黑板的地方你没有仔细看。

等模型训练完。(我15张图,大概跑了10min左右。)

我们看下output目录输出的模型文件。

lora

这里的模型文件保存的个数,是train.ps1脚本文件里设置的。

最后我们要通过验证这些模型准确度,选用哪一个。

【5】

将这些模型文件全部复制到

E:\stable-diffusion-webui\extensions\sd-webui-additional-networks\models\lora

对应的扩展忙碌下。
如果还没有安装 sd-webui-additional-networks 扩展,记得先到扩展中安装。

也可以直接用git地址安装(有时候这个扩展查询有点问题)
https://github.com/kohya-ss/sd-webui-additional-networks.git

然后我们测试下这几个模型哪一个不错。

顺利安装插件之后,就可以在界面上看到 【Additional Networks】功能菜单。

lora

要测试自己的模型,基础模型还是要选用我们训练的 chilloutmix_NiPrunedFp32Fix 模型。

prompt可以用自己提取的标签作为测试。

批次可以适当多点,到时候可以选择。

lora

lora

这个过程大概需要个20min左右。(可以喝点茶等待创作了~_~)。

来一起见证AI的创作吧 ~~!

lora

图片的上方是每一个模型名称,左边是特征权重,组成的一个二维表格。

lora

有点那个意思 hhh。

下面这些就有点辣眼睛了 。

lora

lora

根据自己的眼光,我们挑选一个相对比较不错的模型。

整体觉得这个模型不错,我们记下模型的名字。

lora

将这个模型复制到 E:\stable-diffusion-webui\models\Lora 目录中。

lora

可以给你的模型配上一个封面,只要文件名和模型名一样就可以了。

【6】

有了自己的专属模型,就可以结合其他lora模型一起使用了。
我们试下水墨风格。

下载lora模型:Moxin_10
下载基础模型:dalcefoPainting_3rd.safetensors

(有些基础模型在C站没有,可以到huggingface上找找,再不行github上肯定有)

lora

点开这个红色的收缩面板。

lora

刷新一下,让lora模型文件重新加载下。

然后选择我们保存的lora文件,此时这个模型的prompt设置会在文本框里。

lora

然后再选择水墨风模型 Moxin。

调整下每一个模型的权重,此时可以将我们自己的模型特征调大些。

如果没啥问题,我们就去C站找这个lora比较好的prompt拿过来用。

lora

lora

lora
这张虽然有点辣眼睛,但是特征是有了。

lora
这一张比较像我女儿 ~_~。

最后,stablediffusion+lora等AIGC属于开挂技术,我们还是要遵纪守法做一个好同志!!!

关注微信公众号|收获更多干货

在这里插入图片描述

  • 8
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要使用stable diffusion训练出自己专属的人像模型,需要按照以下步骤进行操作: 1. 数据收集:首先,需要收集足够数量和多样性的人像图片,这些图片应该包括各种不同的表情、角度和光照条件。这些图片将作为训练数据来训练模型。 2. 数据预处理:对收集到的数据进行预处理,包括裁剪、调整大小和格式转换等。确保所有的图片在输入到模型之前具有相同的尺寸和格式。 3. 网络架构设计:根据需要训练的人像模型来设计网络架构。可以选择使用现有的深度学习网络架构,如ResNet或VGG等,也可以自定义网络架构。这个网络将用于提取人像图片的特征。 4. 模型训练:使用稳定扩散(stable diffusion)方法训练模型。稳定扩散是一种用于生成对抗网络(GAN)的训练方法,通过在生成器(生成人像)和判别器(判断生成的图片是否为真实人像)之间进行迭代训练来提高生成的效果。 5. 优化与调参:在训练过程中,需要进行优化和调参,以提高模型的准确性和生成人像的质量。可以尝试不同的学习率、批量大小和训练迭代次数等参数,以找到最佳的配置。 6. 模型评估:在完成模型训练后,需要对生成的人像进行评估。可以使用一些评估指标,如峰值信噪比(PSNR)和结构相似度指标(SSIM),来评估生成的人像与真实人像之间的相似度。 7. 继续优化:如果评估结果不理想,可以根据需要进行进一步的优化。这可能包括增加训练数据的数量、改进网络架构或调整参数等。 通过以上步骤,就可以使用stable diffusion方法训练出自己专属的人像模型。这个人像模型可以用于生成逼真的人像,应用于各种创作和设计领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值