Enhanced Super-Resolution Generative Adversarial Networks (ESRGAN) es una especie de modelo GAN. La idea principal de los modelos GAN es preparar dos redes neuronales, que juegan juntas. Los jugadores son el generador y el discriminador. El primero de ellos es generar datos, el segundo tiene que comprobar si una foto es real o falsa.
En el primer paso, el generador crea una nueva imagen. Luego el discriminador verifica si la foto generada es real o no. En este punto, GAN calcula dos pérdidas, para el generador y el discriminador. El generador aprende qué tan buena fue su imagen y el discriminador qué tan buena fue su verificación.
ESRGAN es el modelo pre-entrenado con pesos vgg19. No reinventes la rueda. (Artista DALL-E)
Cómo preparar ESRGAN para su propósito
En primer lugar, debe cargar su conjunto de datos en Google Drive. En este tutorial, usaré el conjunto de datos de Kaggle llamado CalebA. Este conjunto de datos contiene más de 200k imágenes de rostros de celebridades. La resolución es de 218×178 con 3 canales.
También te puede interesarGuía rápida de AI art: ¿Cómo volver a entrenar el modelo YOLOv7 con su propio conjunto de datos?Si desea utilizar el mismo conjunto de datos, le recomiendo cargar solo 10 000 imágenes.
Sin embargo, ¡puedes usar lo que quieras!
Computadora portátil
ESRGAN necesita una GPU con una gran capacidad de memoria, por lo que en el tutorial utilizo Google Colab. en el que puedes cambiar Tipo de tiempo de ejecuciónhaga clic tiempo de ejecución y elige GPU en acelerador de hardware.
Repositorio
Ahora necesitamos clonar el repositorio con ESRGAN implementado
También te puede interesarTutorial de cómo usar GPT-3: Cree su propia aplicación GPT-3 Powered usando NextJS y Replit en 20 minutosy requisitos de instalación.
Cargando datos
Luego, podemos conectar Google Drive con Google Colab mediante el comando:
Uso patool lib para extraer archivos de mi rar a Google Colab.
Importante outdir
debe ser "/content/PyTorch-GAN/data"
Conjunto de datos de prueba
Una buena práctica es tener un conjunto de datos de prueba. Los datos no se utilizaron para entrenar un modelo. Para crear un conjunto de prueba, podemos transferir algunos datos de data/name_of_your_folder
a data/test
carpeta.
Primero tenemos que crear una nueva carpeta.
Después de eso, movemos algunas imágenes a test
carpeta.
Si el recuento de imágenes cargadas es demasiado grande. Puedes usar:
También te puede interesarTutorial de ChatGPT: Cómo mejorar tu trabajo con ChatGPTCapacitación
¡Entrenemos la red neuronal!
Para entrenar el modelo ESRGAN tenemos que escribir un comando con argumentos:
Argumentos disponibles:
--dataset_name
nombre de su carpeta en /content/PyTorch-GAN/data
--n_epochs
número de épocas (predeterminado 200)
--hr_height
altura de salida (por defecto 256)
--hr_width
ancho de salida (predeterminado 256)
--channesl
canales de entrada (por defecto 3)
--checkpoint_interval
Recomiendo establecerlo en 250 si tiene un conjunto de datos pequeño. (predeterminado 5000)
El resto de argumentos los puedes encontrar AQUÍ.
dentro de la carpeta '/content/PyTorch-GAN/implementations/esrgan/images/training
Puedes encontrar las imágenes guardadas del proceso de entrenamiento.
Pruebas
Para probar nuestro modelo necesitamos una imagen. Usamos las imágenes que hemos transferido antes para test
carpeta.
Podemos ejecutar el modelo con el comando:
Argumentos disponibles:
--image_path
nombre de tu imagen en /content/PyTorch-GAN/data/test/0.jpg
--checkpoint_model
nombre de su generador capacitado /content/PyTorch-GAN/implementations/esrgan/saved_models/generator_X.pth
X reemplaza con un número de la última época entrenada.
La imagen generada la puedes encontrar en /content/PyTorch-GAN/implementations/esrgan/images/outputs/
Si quieres copiar la imagen a tu nube de google escribe
Conclusión
La idea de los modelos GAN es asombrosa, dos redes neuronales juegan juntas para ser mejores en cada época:Use a neural network to teach a neural network
. Los modelos GAN tienen cada vez más tipos, uno de ellos se usa en el tutorial ESRGAN. Estas redes neuronales están preparadas para trabajar con imágenes y mejorarlas. Este es un modelo poderoso, pero también necesita mucha potencia informática. A continuación puede ver los resultados después de 5 épocas y 10 000 datos de entrenamiento. No son ideales, pero si ejecuta su proceso de entrenamiento durante muchas más épocas, ¡los resultados serán increíbles! ¡Solo inténtalo!
¡Espero que les guste mi tutorial!
¡Estén atentos para futuros tutoriales!
¡Gracias! – Adrian Banachowicz, pasante de ciencia de datos en New Native
esrgan se publica bajo una licencia CC-BY-NC-ND-4.0. ESRGAN – https://arxiv.org/abs/1809.00219
autor: Xintao Wang, Ke Yu, Shixiang Wu, Jinjin Gu, Yihao Liu, Chao Dong, Chen Change Loy, Yu Qiao y Xiaoou Tang.