En este código se implementa una WGAN-GP con un generador DCGAN.
Keras==2.2.4
tensorflow_gpu==1.13.1
numpy==1.16.3
matplotlib==3.0.3
opencv_python==4.1.0.25
Pillow==6.0.0
protobuf==3.8.0
tensorflow==1.13.1
Con Python 3.6
- Instalar Python 3.6
- Instalar todas las dependencias
- Clona/descarga este repositorio
- Añade los datasets
images_three_datasets_sorted.npy
ymasks_three_datasets_sorted.npy
a la carpeta raíz (no incluidos en este repositorio) - Lanza
get_images.ipynb
para reducir la muestra de imágenes - Modifica los hiperparámetros de las GAN en
wgan_tensorboard.ipynb
- Lanza
wgan_tensorboard.ipynb
Se ha realizado enteramente sobre Python, y consta de los siguientes archivos:
get_images.ipynb
: Reduce el tamaño del conjunto de datos, tomando las slices centrales de cada paciente. Requiere los archivosimages_three_datasets_sorted.npy
ymasks_three_datasets_sorted.npy
, que no están incluidos en el repositorio.wgan_tensorboard.ipynb
: Programa principal que se encarga de entrenar las redes. En la segunda celda se pueden modificar algunos de los parámetros del programafunciones_wgan.py
: Compendio de funciones útiles para la WGAN
A lo largo de los notebook pueden encontrarse explicaciones de los pasos realizados en cada punto.
Agradecemos a Hongwei Li et al. por proveer el dataset: https://github.com/hongweilibran/wmh_ibbmTum
La implementación de WGAN-GP se ha modificado partiendo de https://github.com/keras-team/keras-contrib/blob/master/examples/improved_wgan.py