GFPGAN это набор инструментов и готовая нейросеть(можно натренировать свою) для улучшения лиц на фотографиях, обещают еще улучшение не лиц, но я как то не заметил эффекта улучшения, хотя увеличивают хорошо! Адрес проекта: github.com/TencentARC/GFPGAN. Работает все на Linux конечно и хорошо работает, но сегодня я буду запускать это на Windows, тем более в нем давно уже есть Linux назaвается WSL!
Потребуется:
— Windows 10-11 последней версии
— Видеокарта Nvidia с CUDA (у меня rtx 2070), но можно и на CPU только считать!
— CPU с виртуализацией(практически все сейчас)
Идем в консоль Powershell под админом
Ставим WSL
wsl --install
Первый WSL ставит вообще без всяких, но нам нужен второй так что выполняем
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
После последней команды Windows захочет перезагрузиться — это хорошо! Идем в BIOS и включаем виртуализацию пункт:
Hyper-V у Intel
SVM mode у AMD
Возвращаемся в консоль Powershell под админом и делаем
wsl --set-default-version 2
Не дает посылает что-то скачать вот сюда docs.microsoft.com/ru-ru/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package ну ничего скачиваем и запускаем Пакет обновления ядра Linux в WSL 2 для 64-разрядных компьютеров запускаем пальцем.
Повторяем
wsl --set-default-version 2
Теперь ставим Ubunto 20.04.4 LTS как еще одно приложение в Microsoft Store
В консоли Powershell смотрим какая у нас версия WSL на Ubuntu
wsl -l -v
получаем
NAME STATE VERSION Ubuntu20.04LTS Running 2
Все получилось!
Запускаем Ubuntu, как обычно приложение через Пуск получаем черное окно, это консоль Ubuntu
Кстати поздравляю видеокарта у нас уже есть так как уже стоит драйвер 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 | +-----------------------------------------------------------------------------+
Обновляемся
sudo apt-get update && sudo apt-get upgrade -y
Знаю что надо будет GCC ставлю(на самом деле как бы нет, но вдруг эта карта где-то все таки сыграла)
sudo apt install gcc
Вообще то тут уже какие то ошибки пошли запускал еще перед
sudo apt --fix-broken install
Ставим CUDA
sudo apt install nvidia-cuda-toolkit
Смотрим
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
Ставим Conda
У Python есть проблема или особенность — написанное на одной версии вполне может не работать в других, то же касается разных версий модулей. А конда создает среду для каждой программы с нужными версиями и никакой апдейт их не поломает.
Скачиваем минималистичную версию Conda
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh
На все вопросы отвечаем да при установке
Закрываем открываем окно Ubuntu выполняем
conda config --show
Что-то показывает значит работает
Создаем Python окружение для GFPGAN версии 3.7
conda create --name GFPGAN python=3.7
Начинает скачивать все нужно и нужно отметить что на скорость ну очень низкая, вину в этом WSL
Активируем окружение, оно касается только Python’а
conda activate GFPGAN
Установка GFPGAN
git clone https://github.com/TencentARC/GFPGAN.git
идем в папку
cd ./GFPGAN
надо до установить следующее, пишут создатели GFPGAN
pip install basicsr
pip install facexlib
pip install -r requirements.txt
python setup.py develop
pip install realesrgan
Качаем нейросети
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
Мы сейчас в папке GFPGAN из Windows в неё можно зайти по пути \\wsl$\Ubuntu20.04LTS\home\YOUR_USER\GFPGAN
Кладем в ней в папку /inputs/whole_imgs/ тестовую фотку и забираем из папки /results/restored_imgs/
Выполняем по очереди (фотку надо забирать после каждой команды)
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
На картах 30ой серии может возникат ошибка
pytorch capability sm_86 is not compatible with the current PyTorch
Надо обновить torch как тут описано www.codestudyblog.com/cs2112pya/1208055527.html
pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio==0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
в первой команде нейросеть 1.2 которая считает только на CPU, во второй 1.3 считает на CUDA, последняя цифра увеличиваем в 2 раза
Впечатляет, нейросеть 1.3 как-то поживее рисует! Если вас не впечатлило то в папке /results/cmp/ есть сравнение лиц! Вот из этого слева, получается вот это справа!
У меня стоит PyCharm, у него там свой лунапарк есть вместо conda : venv, все требования по списку установил, но все равно не работает.
Почему нельзя просто скомпилировать и выложить, чтобы работало у всех стабильно?
Вопрос к разработчикам конечно… у меня в сonda то стабильно все, только вот боюсь обновлений Nvidia драйверов… и Ubuntu…
Добрый день. А подскажите как обновлять версию GFPGAN на более свежую.
На модель 1.4? Её надо тоже скачать на этапе скачивания всех остальных https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.4.pth и запускать меня -v 1.3 на -v 1.4