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 ]我們的工作基於以下理論著作:
我們從以下項目中受益匪淺: