Ubuntu20.04使用多卡训练HyperNetwork模型和LoRA模型全流程及疑难问题解决方案

2023-05-16

目录

  • 一. LoRA模型多卡训练
    • 1.1 安装xformer等库
    • 1.2 设置路径
    • 1.3 多卡训练
  • 二. HyperNetwork模型多卡训练
    • 2.1 HyperNetwork通过WebUI训练
  • 疑难报错解决方案
    • 多卡训练报错

软硬件配置:
CPU: AMD 5800 8core 16Thread
GPU: NVIDIA RTX 3090 *1
NVIDIA TITAN RTX *1
OS: Ubuntu20.04

一. LoRA模型多卡训练

1.1 安装xformer等库

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
git clone https://github.com/facebookresearch/xformers/
cd xformers
git submodule update --init --recursive
export FORCE_CUDA="1"
# 进入https://developer.nvidia.com/cuda-gpus#compute
# 设置所用显卡对应的Compute Capability,3090和A5000都是8.6
export TORCH_CUDA_ARCH_LIST=8.6
pip install -r requirements.txt
pip install -e .

下载训练代码:
https://github.com/derrian-distro/LoRA_Easy_Training_Scripts.git

cd LoRA_Easy_Training_Scripts
git submodule init
git submodule update
cd sd_scripts
pip install  --upgrade -r requirements.txt

1.2 设置路径

一般来说需要设置三个路径,大模型路径,图片输入路径,图片输出路径:
在这里插入图片描述
接下来生成训练配置文件:

accelerate config

根据工作机的实际情况和训练策略,选择对应的配置

- This machine
- 1
- No
- NO
- NO
- NO
- 0,1
- fp16

配置结束后会自动生成一个训练配置文件。

1.3 多卡训练

accelerate launch main.py 

同样的模型和配置,双卡训练用时为3:46, 而单卡则需要7:57, 可见双卡加速策略有效。
双卡时间:
在这里插入图片描述
单卡时间:
在这里插入图片描述

二. HyperNetwork模型多卡训练

2.1 HyperNetwork通过WebUI训练

首先选择预处理,然后选择HyperNetwork训练
在这里插入图片描述

疑难报错解决方案

多卡训练报错

在执行多卡训练命令accelerate launch main.py后,发生如下报错:
在这里插入图片描述
原因是xformer0.18.0对应的Pytorch版本为2.0.0,版本较高,应当降级到pytorch1.13.0,xformer0.16.0
并且不再使用xformer,即 self.xformers: bool = False
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu20.04使用多卡训练HyperNetwork模型和LoRA模型全流程及疑难问题解决方案 的相关文章

随机推荐