ITCooky Recetas

Vamos a cocinar it cositas

¡Aumentamos y mejoramos fotos antiguas con GFPGAN en Windows a través de WSL2 y una tarjeta con CUDA (o sin ella)!

дата abril 4, 2022

GFPGAN es un conjunto de herramientas y una red neuronal lista para usar (puedes entrenar tu propia) para mejorar las caras en las fotografías, tmb prometen mejorarlo que no son caras, pero de alguna manera no noté el efecto de mejora, aunque lo aumentan bien. ! Dirección del proyecto: github.com/TencentARC/GFPGAN. Todo funciona en Linux, por supuesto, y funciona bien, pero hoy lo usare en Windows, simplemente porque Windows ya tiene Linux llamado WSL!

Necesitaría:
– Windows 10-11 última versión
– Tarjeta de video Nvidia con CUDA (tengo rtx 2070), ¡pero tambien se puede hacerlo solo con CPU!
– CPU con virtualización (casi todos CPUs lo tienen)

Vaya a la consola de Powershell como administrador

Instalamos WSL
wsl --install

La primera version de WSL se instala sin pedir nada, pero necesitamos la segunda, así que hacemos
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Después del último comando, Windows querrá reiniciarse, ¡eso es bueno! Vaya al BIOS y habilite el elemento de virtualización:
Hyper-V en Intel
SVM mode en AMD

Volvemos a la consola de Powershell bajo el administrador y hacemos
wsl --set-default-version 2

Quiere que descarguemos aqui docs.microsoft.com/ru-ru/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package pues nada descargar y ejecutar Paquete de actualización del kernel de WSL 2 Linux para equipos de 64 bits .

Repita
wsl --set-default-version 2

Ahora instalamos Ubuntu 20.04.4 LTS como una aplicación más en la Microsoft Store

En la consola de Powershell, miramos qué versión de WSL tenemos en Ubuntu
wsl -l -v
tenemos

  NAME              STATE           VERSION
  Ubuntu20.04LTS    Running        2

¡Todo salió bien!

Iniciamos Ubuntu, como una aplicación a través de Inicio nos sale una ventana negra, esta es la consola de Ubuntu

Por cierto, enhorabuena, ya tenemos videocard porque ya viene instalado el driver de Nvidia

nvidia-smi

Sun Apr  3 14:53:22 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.53       Driver Version: 497.29       CUDA Version: 11.5     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:0A:00.0  On |                  N/A |
|  0%   54C    P8    21W / 175W |    442MiB /  8192MiB |     N/A      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Upgrade
sudo apt-get update && sudo apt-get upgrade -y

Sé que será necesario instalar GCC (en realidad, mas bien no, pero por si a caso)
sudo apt install gcc
En caso de algunos errores hay que ejecutar antes
sudo apt --fix-broken install

Instalamos CUDA
sudo apt install nvidia-cuda-toolkit

Vemos la version
nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

Instalamos Conda
Python tiene un problema o una característica: lo que está escrito en una versión puede no funcionar en otras, lo mismo se aplica a las diferentes versiones de los módulos. Y conda crea un entorno para cada programa con las versiones necesarias y ninguna actualización los romperá.

Descargamos una versión minimalista de Conda
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh

Respondemos afirmativamente a todas las preguntas durante la instalación.

Cerrar y abrir ventana de Ubuntu y ejecutar
conda config --show
Vemos configuracion de conda asi que funciona

Creamos un entorno de Python para GFPGAN versión 3.7
conda create --name GFPGAN python=3.7
Empieza a descargar todo lo que necesita y cabe destacar que la velocidad es muy baja, hecho la culpa a WSL

Activamos el entorno, solo afecta a Python
conda activate GFPGAN

Instalar GFPGAN
git clone https://github.com/TencentARC/GFPGAN.git

en la carpeta
cd ./GFPGAN

Necesitas instalar lo siguiente antes, segun los creadores de GFPGAN
pip install basicsr
pip install facexlib
pip install -r requirements.txt
python setup.py develop
pip install realesrgan

Descargamos las redes neuronales
wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth -P experiments/pretrained_models
wget https://github.com/TencentARC/GFPGAN/releases/download/v0.2.0/GFPGANCleanv1-NoCE-C2.pth -P experiments/pretrained_models

Ahora estamos en carpeta GFPGAN desde Windows puedes abrira la con el camino \\wsl$\Ubuntu20.04LTS\home\YOUR_USER\GFPGAN
POnemos aqui las fotos /inputs/whole_imgs/ y el resultado estara aca /results/restored_imgs/

Ejecutamos por turnos (la foto debe tomarse después de cada comando)
python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.2 -s 2
python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2

En el primer comando, la red neuronal 1.2 que cuenta solo con la CPU, en el segundo 1.3 cuenta con CUDA, el último dígito dice que se incrementa en 2 veces

¡Impresionante! La red neuronal 1.3 dobuja como con mas vida! Si no está impresionado, ¡hay una comparación de rostros en la carpeta /results/cmp/! ¡De la imagen inicial a la izquierda, al resulyado a la derecha!

</a


2 Responses to “¡Aumentamos y mejoramos fotos antiguas con GFPGAN en Windows a través de WSL2 y una tarjeta con CUDA (o sin ella)!”

  1. […] « ¡Aumentamos y mejoramos fotos antiguas con GFPGAN en Windows a través de WSL2 y una tarjeta con CU… […]

  2. […] configurar una tarjeta de video y GFPGAN he descrito aquí ya ¡Aumentamos y mejoramos fotos antiguas con GFPGAN en Windows a través de WSL2 y una tarjeta con CU…. Aquí usamos python sin Conda, por así decirlo, pero es necesario para GFPGAN, ¡pero no […]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *