Papel | Proyecto
Esta es una implementación no oficial de la paleta: modelos de difusión de imagen a imagen por Pytorch , y se hereda principalmente de su versión de super resolución, resistente-resistencia-resolución-iteratoria-iterativa-refinamiento. La plantilla de código es de mi proyecto de otra semilla: Template de Pytorch distribuido.
Hay algunos detalles de implementación con descripciones en papel:
Guided-Diffusion , que proporciona un impulso sustancial a la calidad de la muestra.DDPM .Palette e incrustarlo con transformación afina.Palette . Intento terminar las siguientes tareas en orden:
El experimento de seguimiento es incierto, debido a la falta de tiempo y los recursos de GPU:
El modelo DDPM requiere recursos computacionales significativos, y solo hemos creado algunos modelos de ejemplo para validar las ideas en este documento.
Resultados con 200 épocas y 930K iteraciones, y las primeras 100 muestras en máscara centrada y máscara irregular.
![]() | ![]() |
|---|
Resultados con 16 épocas y 660K iteraciones, y las varias muestras seleccionadas en la máscara centrada.
![]() | ![]() | ![]() | ![]() |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Resultados con 8 épocas y 330K iteraciones, y las diversas muestras seleccionadas en descremado.
![]() | ![]() |
|---|
| Tareas | Conjunto de datos | EMA | DEFENSOR(-) | Es (+) |
|---|---|---|---|---|
| Incremisión con máscara de centrado | Celeba-HQ | FALSO | 5.7873 | 3.0705 |
| Enterina con máscara irregular | Celeba-HQ | FALSO | 5.4026 | 3.1221 |
pip install - r requirements . txt| Conjunto de datos | Tarea | Iteración | GPU × Days × BS | Url |
|---|---|---|---|---|
| Celeba-HQ | Entretenimiento | 930k | 2 × 5 × 3 | Google Drive |
| Lugares2 | Entretenimiento | 660k | 4 × 8 × 10 | Google Drive |
BS indica el tamaño de la muestra por GPU.
Obtenemos la mayoría de ellos de Kaggle, que puede ser ligeramente diferente de la versión oficial, y también puede descargarlos desde el sitio web oficial.
Utilizamos la división predeterminada de estos conjuntos de datos para capacitación y evaluación. Las listas de archivos que utilizamos se pueden encontrar en Celeba-HQ, lugares2.
Después de preparar datos propios, debe modificar el archivo de configuración correspondiente para señalar sus datos. Tome lo siguiente como ejemplo:
" 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 "
}
}, También se pueden encontrar más opciones sobre DataLoader y la división de validación en datasets parte del archivo Configurar.
resume_state de Configurar archivo en el directorio del punto de control anterior. Tome lo siguiente como ejemplo, este directorio contiene estados de capacitación y modelo guardado: " path " : { //set every part file path
" resume_state " : "experiments/inpainting_celebahq_220426_150122/checkpoint/100"
},load_everything de model.py , el valor predeterminado es red . Siga la configuración del tutorial, los optimizadores y modelos se cargarán desde 100.state y 100_network.pth respectivamente. 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 Probamos la columna vertebral de Net utilizada en SR3 y Guided Diffusion , y Guided Diffusion tiene un rendimiento más robusto en nuestros experimentos actuales. Se pueden encontrar más opciones sobre la red troncal , la pérdida y la métrica en la que la parte de configuración which_networks del archivo.
python run . py - p test - c config / inpainting_celebahq . jsonCree dos carpetas Guardar imágenes de verdad de tierra e imágenes de muestra, y sus nombres de archivos deben corresponder entre sí.
Ejecute el guión:
python eval . py - s [ ground image path ] - d [ sample image path ]Nuestro trabajo se basa en los siguientes trabajos teóricos:
Y estamos beneficiando mucho de los siguientes proyectos: