Palette Image to Image Diffusion Models
1.0.0
纸|项目
这是Pytorch的调色板的非官方实现:图像到图像扩散模型,它主要是从其超分辨率版本Image-Super-Susulo-Sustolution-via-via-titerative-Refinement继承。代码模板来自我的另一个种子项目:分布式pytorch-template。
有一些纸张描述的实施细节:
Guided-Diffusion的U-NET体系结构,从而大大提高了样本质量。DDPM中使用了注意机制。Palette中并嵌入仿射转化。Palette所述的推断期间的常数。 我尝试按顺序完成以下任务:
由于缺乏时间和GPU资源,后续实验尚不确定:
DDPM模型需要大量的计算资源,我们只构建了一些示例模型来验证本文中的想法。
结果有200个时期和930k迭代,以及以面膜和不规则面膜为中心的前100个样品。
![]() | ![]() |
|---|
结果有16个时期和660k迭代,以及几个以嵌入面膜为中心的样品。
![]() | ![]() | ![]() | ![]() |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
结果有8个时期和330k迭代,以及几个挑选的样品。
![]() | ![]() |
|---|
| 任务 | 数据集 | EMA | fid( - ) | 是(+) |
|---|---|---|---|---|
| 用中心口罩涂上 | Celeba-HQ | 错误的 | 5.7873 | 3.0705 |
| 用不规则面具覆盖 | Celeba-HQ | 错误的 | 5.4026 | 3.1221 |
pip install - r requirements . txt| 数据集 | 任务 | 迭代 | GPU×天×BS | URL |
|---|---|---|---|---|
| Celeba-HQ | 插图 | 930k | 2×5×3 | Google Drive |
| Places2 | 插图 | 660k | 4×8×10 | Google Drive |
BS表示每GPU样本量。
我们从Kaggle获得了其中的大多数,这可能与官方版本略有不同,您还可以从官方网站下载它们。
我们使用这些数据集的默认部门进行培训和评估。我们使用的文件列表可以在Celeba-HQ,Place2中找到。
准备自己的数据后,您需要修改相应的配置文件以指向数据。以以下为例:
" which_dataset " : { // import designated dataset using arguments
" name " : ["data.dataset", "InpaintDataset"], // import Dataset() class
" args " :{ // arguments to initialize dataset
" data_root " : " your data path " ,
" data_len " : -1,
" mask_mode " : " hybrid "
}
},关于数据加载程序和验证拆分的更多选择也可以在配置文件的datasets集中找到。
resume_state设置为上一个检查点的目录。以以下为例,此目录包含培训状态并保存了模型: " path " : { //set every part file path
" resume_state " : "experiments/inpainting_celebahq_220426_150122/checkpoint/100"
},load_everything函数的model.py ,默认为网络。遵循教程设置,优化器和模型将分别从100.State和100_network.pth加载。 netG_label = self . netG . __class__ . __name__
self . load_network ( network = self . netG , network_label = netG_label , strict = False ) python run . py - p train - c config / inpainting_celebahq . json我们测试了SR3中使用的U-NET主链并进行了Guided Diffusion Guided Diffusion ,并在我们当前的实验中具有更强的性能。关于骨干,损失和度量的更多选择可以在配置文件的which_networks部分中找到。
python run . py - p test - c config / inpainting_celebahq . json创建两个文件夹保存地面真相图像和示例图像,其文件名需要相互对应。
运行脚本:
python eval . py - s [ ground image path ] - d [ sample image path ]我们的工作基于以下理论著作:
我们从以下项目中受益匪浅: