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
[…] « ¡Aumentamos y mejoramos fotos antiguas con GFPGAN en Windows a través de WSL2 y una tarjeta con CU… […]
[…] 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 […]