找回密码
 立即注册
查看: 1220|回复: 0

[教程] Stable Diffusion LoRA 模型训练与使用:完整指南

[复制链接]

3869

主题

36

回帖

4329

积分

管理员

积分
4329
发表于 2023-4-8 14:30:39 | 显示全部楼层 |阅读模式
LoRA是一种文件,可以基于特定概念修改现有的 Stable Diffusion 模型的结果。这个概念可以是艺术风格、角色、真实人物、物品或主题。以下是一些值得关注的例子:
这里有一些使用相同模型、相同提示和相同种子的生成。唯一的区别就是使用了不同的 LoRA:


上图没有使用LoRA的情况


使用了海贼王LoRA

你可以在任何 Stable Diffusion 模型中使用 LoRA,但我建议你使用 AnyLoRA checkpoint,这个模型旨在足够中立,可以很好地与任何 LoRA 一起使用。
在本文中,我们将介绍如何使用 LoRA 模型以及如何训练自己的模型。


一、使用LoRA模型

先决条件:你已经拥有一个工作的且更新的 AUTOMATIC1111(Windows/ Mac/Linux)。

这两个网站可以找到一些大家已经训练好的LoRA:
Civitai.com(推荐,但请注意 Civitai 上有很多不健康的内容)
HuggingFace 的 LoRA 库

Arcane LoRA 为例,我将下载 .safetensors 文件。

当文件下载完成后,请将它放在 stable-diffusion-webui/models/Lora 目录下。

对于 SD checkpoint:你可以使用任何现有的模型,但为了保证相当不错的结果,建议下载 AnyLoRA模型。和你的其他模型一样,它应该放在 stable-diffusion-webui/models/Stable-diffusion 目录下。

打开你的 Stable Diffusion WebUI 。

在 Generate(生成) 按钮下面,点击“显示额外网络”图标。它是一个小的粉色图标:




现在,点击 LoRA 选项卡。它会显示 stable-diffusion-webui/models/Lora 文件夹中的所有 LoRA(如果你看不到任何东西,请重新启动你的 WebUI)。点击一个 LoRA,它就会添加到你的提示中。

你也可以通过添加以下内容直接将 LoRA 命令写入你的提示中:

  1. <lora:LORA-FILENAME:WEIGHT>
复制代码

其中,LORA-FILENAME 是 LoRA 模型的文件名,不包括文件扩展名(例如,不包括 .safetensor)

WEIGHT 是你希望 LoRA 生效的强度。1 是默认值和最大值,0 相当于关闭。

例如:

  1. <lora:arcaneStyleLora_offset:1>
复制代码


大的灰色按钮只是快捷方式,帮你你把这个提示写入到你的promet输入框中。

现在,你可以生成图像了。

二、训练自己的 LoRA

将一组图片制作成一个 ZIP 文件:
你可以尝试以下内容:
  • 真实人物
  • 角色
  • 艺术风格
我开始通过生成 5 张荷马·辛普森的图片来开始:

你可以从 5-10 张图片开始,因为这已足够训练 AI。尽管如此,使用 20-100 张图片可以将你的结果最大化。


在文件格式方面,你需要使用 JPG 或 PNG 格式的图片。值得注意的是,DreamBooth 训练图片也可以用于 LoRA。

1、Windows系统上,下载并安装Lora学习脚本
下载简易安装程序“LoRA_Easy_Training_Scripts”

从上面的页面下载Easy LoRA 安装程序 ( LoRA_Easy_Training_Scripts )。

请确保你的设备上已经安装了git,否则就没有下文了。
下载:installer.py文件

也可以通过该附件下载。



installer.py文件TIPS:
这个installer.py主要是在windows上使用,他首先去检查是否有LoRA_Easy_Training_Scripts在文件夹下,如果没有的话会自动下载,然后去查看相关支持文件是否存在如cu118或者cu116的torch。
再去检查xformers是否存在并安装。 xformers安装的是0.0.17,低配版本是使用0.0.14。

最终安装完成后,你可以在Windows系统上使用run_popup.bat运行。

2、Linux系统上,下载并安装Lora学习脚本

linux相对简单一些,直接git并安装便可。
  1. git clone https://github.com/derrian-distro/LoRA_Easy_Training_Scripts
  2. cd LoRA_Easy_Training_Scripts
  3. git submodule init
  4. git submodule update
  5. cd sd_scripts
  6. python -m venv venv
  7. source venv/bin/activate
  8. pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu116
  9. pip install --upgrade -r requirements.txt
  10. pip install -U xformers
  11. accelerate config
复制代码

在设置“ accelerate”时,请遵循以下答案。
- This machine
- No distributed training
- NO
- NO
- NO
- all
- fp16

通过激活您的 venv 然后像这样运行脚本来运行它。

  1. source sd_scripts/venv/bin/activate

  2. accelerate launch main.py
  3. 或者
  4. accelerate launch main.py --popup
复制代码

如果不通过accelerate运行,可能显卡的性能是用不到的。

TIPS:什么是Accelerate:

「Accelerate」提供了一个简单的 API,将与多 GPU 、 TPU 、 fp16 相关的样板代码抽离了出来,保持其余代码不变。PyTorch 用户无须使用不便控制和调整的抽象类或编写、维护样板代码,就可以直接上手多 GPU 或 TPU。Accelerate 由Hugging Face开发并开源发布。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|金房子

GMT+8, 2024-10-30 12:16 , Processed in 0.035491 second(s), 22 queries .

© 2023 金房子|AI发烧友社区

快速回复 返回顶部 返回列表