时间:2024.1.23
1.dreambooth配置文件
dreambooth在mmagic中的路径:
configs/dreambooth
本文以dreambooth.py
为例
configs/dreambooth/dreambooth.py
2.下载数据集
下载数据集并保存至data/dreambooth/
,数据集:
https://drive.google.com/drive/folders/1BO_dyz-p65qhBRRMRA4TbZ8qW4rB99JZ
文件夹的数据结构如下:
data
└── dreambooth
└──imgs
├── alvan-nee-Id1DBHv4fbg-unsplash.jpeg
├── alvan-nee-bQaAJCbNq3g-unsplash.jpeg
├── alvan-nee-brFsZ7qszSY-unsplash.jpeg
└── alvan-nee-eoqnr8ikwFE-unsplash.jpeg
3.修改配置文件中数据集路径
修改配置文件中的数据集路径,就是上一步骤中图片的路径。
data_root='你的数据集路径'
4.从hugging face 下载与训练权重
hugging face 中stable diffusiond的网址如下:
https://huggingface.co/runwayml/stable-diffusion-v1-5
点击Files and versions
就能下载相关文件了:
要下载的权重和配置文件入下:
runwayml
└── stable-diffusion-v1-5
└── scheduler
└── scheduler_config.json
└── text_encoder
├── config.json
└── pytorch_model.bin
└── tokenizer
├── merges.txt
├── special_tokens_map.json
├── tokenizer_config.json
└── vocab.json
└── unet
├── config.json
└── diffusion_pytorch_model.bin
└── vae
├── config.json
└── diffusion_pytorch_model.bin
根据上述说明,从hugging face下载。注意文件夹的数据结构。注意文件的名称不能随意改。注意其他文件不需要,就没不要下载了。
将这些文件放在你喜欢的路径下,记住这个路径,在下一步中要用,用来替换配置文件中的stable_diffusion_v15_url
路径。
5.修改stable_diffusion_v15_url路径
在配置文件中configs/dreambooth/dreambooth.py
修改stable_diffusion_v15_url
路径,默认是:
stable_diffusion_v15_url = 'runwayml/stable-diffusion-v1-5'
这个stable_diffusion_v15_url
的作用是读入vae、unet、clip、scheduler的权重和配置文件。但是如果路径不是这个就要改成自己的路径。你自己的路径在步骤3中已经准备好了。
stable_diffusion_v15_url = '你自己的路径'
6.评价
(1)Hugging face喜欢整洋活,把代码集成好放pip中,通过pip安装直接调用。但这有个问题,需要下载权重的时候,自动联网下,但如果连不上网就没有办法下了啊!readme也不说明下哪些权重。
(2)MMagic太依赖hugging face 的diffuser了,干脆直接用diffuser就完了呗,还用mmagic干什么呢?学学隔壁的mmdetection等,要想做一个库,就不要那么依赖diffuser。建议把diffuser的代码该重构重构,权重该转到自家代码库就转。
(3)MMagic中默认提供的能训练的模型太少了,大部分只给了推理代码,没有给训练代码。真离谱!作为openmmlab旗下的扩散模型继承代码库,mmagic中大部分模型竟然不能训练!