ADD file via upload
本项目基于原有的 dreambooth-lora 方式进行相关修改以及改进,具体复现操作详见下相关说明:
按照 requirements.txt 安装相关环境
pip install -r requirements.txt
进入工作目录
cd examples/dreambooth
train_all.sh
BASE_INSTANCE_DIR
GPU_COUNT
MAX_NUM
bash train_all.sh
对于未加入 text_embedding 权重调整的模型位于 step 文件夹下(除 Rank_18_withtext 文件夹)
对于 step/Rank_18_withtext/ 文件夹下 其中对每一个风格,训练步数从 500-4000 均保留两部分权重,一部分是经过 lora 微调之后的 unet_attention 相关层权重,另一部分是关于 text_encoder 中词向量 embedding 的相关权重
step/output 文件夹下为对应模型的图片生成输出
首先生成对应的 prompt ,利用运行 python make_prompt.py 将生成用的 prompt 初始化,之后再根据图片生成的情况对 prompt 进行针对性的修改。
将 run_all_prompt.py 中的 dataset_root 修改为数据集对应的目录,将 max_num 修改为数据集中的风格个数,并且指定对应 model_step 步数( 即可针对 step/Rank_18_withtext/ 文件夹下的权重生成对应的结果输出) *** 可以更改 run_alot.sh 中 model_step 的参数作不同训练步数的批量图片生成 ***
run_all_prompt.py
dataset_root
max_num
将 python run_all.py 中的 train_name 更改为 step 下的指定名字(除 Rank_18_withtext 外),并且指定模型训练的步数(model_step),将 notgen_list 替换成无需生成风格的 style (代码中有对其的详细注释),后运行即可针对未加入 text_embedding 权重调整的模型进行图片生成。
python run_all.py
对于未更改 text_encoder 中词向量 embedding 的相关权重的模型,我们提供相应脚本用于粗略判断不同训练步数下模型生成效果的质量,并生成对应图片。
通过更改对应的 model_dir 以及对应的 taskid,并运行以下指令
python run_all_prompt_with_corr.py
即可通过颜色直方图比较来获得不同步数下模型生成质量的好坏
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
项目使用说明
本项目基于原有的 dreambooth-lora 方式进行相关修改以及改进,具体复现操作详见下相关说明:
环境安装
按照 requirements.txt 安装相关环境
进入工作目录
训练
train_all.sh
中的BASE_INSTANCE_DIR
设置为数据集对应的目录,GPU_COUNT
设置为对应可用的显卡数量,MAX_NUM
设置为数据集中的风格个数;bash train_all.sh
即可训练。原有模型保存的位置
对于未加入 text_embedding 权重调整的模型位于 step 文件夹下(除 Rank_18_withtext 文件夹)
对于 step/Rank_18_withtext/ 文件夹下 其中对每一个风格,训练步数从 500-4000 均保留两部分权重,一部分是经过 lora 微调之后的 unet_attention 相关层权重,另一部分是关于 text_encoder 中词向量 embedding 的相关权重
step/output 文件夹下为对应模型的图片生成输出
推理
生成对应的 prompt 文件
首先生成对应的 prompt ,利用运行 python make_prompt.py 将生成用的 prompt 初始化,之后再根据图片生成的情况对 prompt 进行针对性的修改。
加入 text_embedding 权重调整后模型的生成方法
将
run_all_prompt.py
中的dataset_root
修改为数据集对应的目录,将max_num
修改为数据集中的风格个数,并且指定对应 model_step 步数( 即可针对 step/Rank_18_withtext/ 文件夹下的权重生成对应的结果输出) *** 可以更改 run_alot.sh 中 model_step 的参数作不同训练步数的批量图片生成 ***未加入 text_embedding 权重调整后模型的生成方法
将
python run_all.py
中的 train_name 更改为 step 下的指定名字(除 Rank_18_withtext 外),并且指定模型训练的步数(model_step),将 notgen_list 替换成无需生成风格的 style (代码中有对其的详细注释),后运行即可针对未加入 text_embedding 权重调整的模型进行图片生成。针对不同步数快速比较生成图片
对于未更改 text_encoder 中词向量 embedding 的相关权重的模型,我们提供相应脚本用于粗略判断不同训练步数下模型生成效果的质量,并生成对应图片。
通过更改对应的 model_dir 以及对应的 taskid,并运行以下指令
即可通过颜色直方图比较来获得不同步数下模型生成质量的好坏