最近在玩 Stabl Diffusion ,想用老婆的照片来训练一个 LoRA 模型。因为 Mac 上无法调用 GPU 进行 fp16 运算, LoRa 的模型训练无法在 Mac 上运行,所以我用了 Google Colab 来训练 LoRa 模型。下面介绍如何在 Google Colab 上训练 LoRa 模型。
Colab 在空闲时会自动断开连接,释放资源。所以在操作时要尽量保持 Colab 页面不要关闭,并且不要把这个页面放在后台。如果 Colab 页面被关闭,需要重新打开页面,然后从 1.1
开始执行。
安装 LoRA 模型训练环境
- 访问 https://github.com/esonwong/learning-python/blob/main/kohya-LoRA-dreambooth.ipynb 点击 “Open in Colab” 按钮。
选择 “代码执行程序” -> “更改运行时类型”,在硬件加速器选项中选择 “GPU”,然后点击 “保存”。
运行
1.1 安装依赖
。如果出现错误,请重复第 2 步。训练好的 LoRA 模型将保存到 Google Drive,因此需要授权访问 Google Drive。完成后执行按钮旁边会出现绿色的对勾,大约等待 3 分钟。
准备基础模型(底模,Checkpoint)
LoRA 模型需要搭配基础模型才能发挥预期效果。可以通过执行 2.1 选择一个基础模型
下载,或执行 2.2 指定模型 URL
来下载基础模型。
可以从 https://civitai.com 下载模型按钮上复制模型 URL。
以 ChilloutMix 为例:在
2.2
的modeUrl
输入框中输入https://civitai.com/api/download/models/11745
,然后执行2.2
。在
2.3
中选择none
,然后执行。
模型会下载到 pretrained_model
目录下。
准备训练数据
- 执行
3.1
。 - 准备 15 至 25 张 512x512 分辨率的人像图片作为训练数据。
- 将图片上传至 Colab 页面左侧的
/LoRA/train_data
文件夹。
图片处理
在
4.1
中勾选convert
。执行
4.1
以处理图片。执行
4.2.1
或4.2.2
为图片生成 prompts。- 对于一般图像,请使用 BLIP 生成
- 对于动漫和漫画风格的图像,请使用 Waifu Diffusion 1.4 Tagger V2
训练
在 5.1 的
project_name
输入框中填入 将要创建的 LoRA 模型名称。下面示范中填的是
test-lora
:在
pretrained_model
目录下复制底模的路径粘贴到pretrained_model_name_or_path
输入框执行
5.1
执行
5.2
执行
5.3
执行
5.4
执行
5.5
开始训练模型。
训练好的模型存放在 Google Drive 的 MyDrive/LoRA/output
目录,示范的文件名为 test-lora.safetensors
。