нейросеть песочница апскейл инструкция 

Как апскелить у себя дома

Краткая предыстория: решил посмотреть первый сезон покемонов, но захотелось, чтоб прям всё красивишно в 4к, потому начал искать варианты.

Машина 1: Стационарный ПК, MX Linux, R7 7700X, RX 7900XTX, 32 ГБ ОЗУ

Машина 2: Ноутбук Win10, R7 5800H, RTX 3060 Laptop, 16 ГБ

-----

Первым делом попробовал dandere2x (https://github.com/akai-katto/dandere2x), он основан на waifu2x. Итог: тестовый отрывок (20 секунд) обработан на машине 1 за ~5 минут, покадровое сравнение выгоды относительно просмотра видео без апскейла не выявило. Инструкции по установке, которыми я пользовался, если кому интересно:

-----

После этого я обнаружил Anime4K (https://github.com/bloc97/Anime4K), апскейлер в реальном времени, основной минус - работа с ограниченным кол-вом проигрывателей (1-3 в зависимости от ОС). Инструкции по установке и применению находятся по ссылке выше в зависимости от проигрывателя. Но я пользуюсь SMPlayer, так что вот инструкция:

1) Следуем инструкции mpv

2) Открываем файл input.conf, открываем настройки SMPlayer (ПКМ - сервис - настройки - дополнительно - MPlaeyr/mpv) и вставляем необходимый нам профиль в поле "параметры"

i □ л SMPlayer - Настройки Л Основные Устройства Быстродействие Аь£ Субтитры Интерфейс Клавиатура и мыи. Плейлист ТВ и радио Обновления Сеть Дополнительно Дополнительно MPlayer/mpv Сеть Журналы Параметры для МР1ауег/тру Здесь вы можете указать параметры и фильтры МР1ауег/тру. Параметры:

Например: вы хотите профиль "A", в input.conf вы видете строку:

CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)"

В параметры вы копируете только то, что находится в кавычках (вместе с кавычками) после слова set и до слова show-text, то есть:

"~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"

И добавляете перед этим: --glsl-shaders=, получая что-то вроде этого:

--glsl-shaders="~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"

3) Profit

Естесственно комбинации клавиш для переключения профилей в таком случае не будет.

Стоит упомянуть, что Anime4K не сохраняет апскельнутую версию, так что каждый раз будет апскелить как в первый.

-----

Там же на сайте Anime4K было сравнение разных алгоритмов:

Bicubic FSRCNNX Anime4K-GAN waifu2x Real-ESRGAN,нейросеть,песочница,апскейл,инструкция

Очевидно, что после такого я захотел установить real-ESRGAN, потому что я хотел бы как раз сохранить себе апскельнутую версию, плюс он всё таки визуально получше.

В результате визуально качество Anime4K (я использовал пресет для higher-end gpu) и Real-ESRGAN довольно близко, но некоторую разницу при сравнении заметить можно.

Обработка тестового отрезка (20 секунд) на машине 1 заняла ~56.5 минут (заработала только на CPU), на машине 2 - ~2 минуты. Были мысли перед постом проверить работу через ZLUDA (https://github.com/vosen/ZLUDA) недавно вышедшую прослойку между CUDA и видеокартами AMD, но на Debian пока нет ROCm, так что когда-нибудь...

Дальше инструкция по установке Real-ESRGAN на Win10 и Linux и бонусные батники для винды для удобства.

Собственно инструкция:

1) Установка ffmpeg на Win10 (на linux по идее предустановлено)

1а) Открыть powershell (под администратором)

1б) Установить chocolatey (https://chocolatey.org/install#individual)

- Ввести команду:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

- Проверить, что всё установилось:

PS C:\Users\shtur> choco Chocolatey v2.2.2 Please run 'choco -?' or 'choco <command> -?' for help menú.,нейросеть,песочница,апскейл,инструкция

1в) Установить ffmpeg

- Ввести команду:

choco install ffmpeg -y

1д) Закрыть powershell

2) Создание python3 virtual environment (venv) (необходим установленный python3)

Windows:

- Открыть командную строку (cmd) (под администратором)

- Ввести команду, чтобы установить virtualenv:

pip install virtualenv

- Перейти в директорию, где хотите создать venv

cd /d "G:/AI"

# /d указывает на то, что директория будет на другом диске (G)

- Создать venv

virtualenv anyname-venv

# Вместо anyname-venv можно указать любое допустимое в win10 имя

Microsoft Windows [Version 10.0.19045.4046] (с) Корпорация Майкрософт (Microsoft Corporation). Все права защищены. С :\Windows\system32>cd /d "G:/AI" G:\AI>virtualenv anyname-venv created virtual environment CPython3.10.6.final.0-64 in 1120ms creator CPython3Windows(dest=G:\AI\anyname-venv,

Linux:

- Открыть терминал

- Перейти в директорию, где хотите создать venv

cd ~/AI

# ~ означает домашнюю директорию пользователя

- Создать venv

python3 -m venv ./.anyname-venv

# Первая точка означает текущую директорию

# Вторая точка - часть названия, просто файлы и папки, начинающиеся с точки считаются скрытыми

# Вместо .anyname-venv можно указать любое допустимое в linux имя

3) Активация venv (Нужно будет делать каждый раз, когда захотите запустить Real-ESRGAN) (делается из директории в которой мы вводили предыдущую команду)

Windows:

- Заходим внутрь

cd anyname-venv

cd Scripts

- Активируем

activate

:\AI>cd anyname-venv :\AI\anyname-venv>cd Scripts :\AI\anyname-venv\Scripts>activate (anyname-venv) G:\AI\anyname-venv\Scripts>,нейросеть,песочница,апскейл,инструкция

Linux:

source ./.anyname-venv/bin/activate

4а) Переходим в папку куда мы скачали и разархивировали Real-ESRGAN

p master P 1 Branch O 19 Tags xinntao update readme D .github/workflows M .vscode M assets li docs li experiments/pretrained_models <> Code ▼ 0 Clone © add github release HTTPS GitHubCLI add no-response v https://github.com/xinntao/Real-ESRGAN.git ) ^ Clone using the web URL. Update

Windows:

cd G:\AI\Real-ESRGAN-master

Linux:

cd ~/AI/Real-ESRGAN-master

4б) Устанавливаем необходимые библиотеки

pip install basicsr facexlib gfpgan ffmpeg ffmpeg-python

Windows:

pip install -r G:\AI\Real-ESRGAN-master\requirements.txt

Linux:

pip install -r ~/AI/Real-ESRGAN-master/requirements.txt

# -r указывает, что мы передадим файл со списком библиотек

# файл находится в скачанной директории

python setup.py develop

4в) Для владельцев ВК Nvidia отдельно устанавливаем pytorch с поддержкой CUDA

- Переходим на сайт https://pytorch.org/get-started/locally/

- Выбираем ОС, версию Cuda и установщик (pip)

PyTorch Build Stable (2.2.0) Preview (Nightly) Your OS Package Language Compute Platform Run this Command: Linux Mac Conda Pip Python CUDA 11.8 CUDA 12.1 LibTorch C++/Java ROCm 5.7 Windows Source CPU iîii»WiHiaii лгптдвиД torch torchvision torchaudio

- Копируем и выполняем выданную команду

4г) Правим код библиотек, чтобы он заработал

- Открываем файл ...\anyname-venv\Lib\site-packages\basicsr\data\degradations.py любым текстовым редактором (блокнот подходит)

Правим 8-ую строчку, из

from torchvision.transforms.functional_tensor import rgb_to_grayscale

Делаем

from torchvision.transforms.functional import rgb_to_grayscale

- Открываем файл ...\anyname-venv\Lib\site-packages\ffmpeg\_probe.py (Необязательно. Обязательно для обработки .mkv)

Правим 16-ую строчку, из

from torchvision.transforms.functional_tensor import rgb_to_grayscale

Делаем

args = [cmd, '-show_format', '-show_streams', '-of', 'json', '-count_frames']

# Чтобы для каждого видеофайла "вручную" считалось кол-во кадров, потому что, например, в .mkv нет данных о кол-ве кадров

4д) Правим код Real-ESRGAN, чтобы он заработал (или берём готовые файлы из гугл диска)

Если добавляли ручной подсчёт кол-ва кадров:

- Открываем файл ...\Real-ESRGAN-master\inference_realesrgan_video.py

Правим 35-ую строчку, из

ret['nb_frames'] = int(video_streams[0]['nb_frames'])

Делаем

try:

    ret['nb_frames'] = int(video_streams[0]['nb_frames'])
except(KeyError):
    ret['nb_frames'] = int(video_streams[0]['nb_read_frames'])

# Обращаем внимание на отступы (их можно сделать нажатием кнопки Tab)

Если запускаем на процессоре:

- Открываем файл ...\Real-ESRGAN-master\inference_realesrgan_video.py

Правим 272-ую (275-ую, если делали предыдущую правку) строчку, из

torch.cuda.synchronize(device)

Делаем

#torch.cuda.synchronize(device)

Правим 291-ую (294-ую) строчку, из

if num_process == 1:

Делаем

if num_process <= 1:

5) Запускаем обработку видео (желательно из папки Real-ESRGAN)

python inference_realesrgan_video.py --fp32 --suffix esrgan -i G:\AI\Real-ESRGAN-master\inputs\[Timber_Maniacs]_Pokemon_043_(041)_[Rus-Eng]_[XviD]_[219F48A8].mkv

# параметр --fp32 нужен, чтобы не было ошибки

# параметр --suffix указывает какой суффикс будет у выходного файла, по умолчанию: out. Например: исходный файл: "name.mp4", файл на выходе: "name_out.mp4" или "name_esrgan.mp4" в случае этой команды.

# параметр -i говорит какой файл обрабатывать (по идее можжно обрабатывать несколько файлов и всё такое, но оно как-то криво работает, так что только так)

# итоговые файлы будут сохраняться в папке .../Real-ESRGAN/results

6) Для WIn10 из гугл диска можно взять один из файлов с расширением .bat, чтобы облегчить себе запуск нескольких видео сразу

7) Profit

-----

Гугл диск: https://drive.google.com/drive/folders/1kxS7yC750WqSBmvGQyFVrEMTCFP9S96w?usp=sharing

inference_realesrgan_video-CPU.py и inference_realesrgan_video-CUDA.py переименовать в  inference_realesrgan_video.py и заменить оригинал.

Real-ESRGAN-autostart(video).bat запускает в обработку все файлы, которые находятся в папке "G:/AI/Real-ESRGAN-master/inputs/". Его надо открыть в том же блокноте и отредактировать пути на соответствующие вашим.


Спасибо за внимание!

Развернуть

Virtual YouTuber фэндомы Koseki Bijou Hololive видео музыкальное видео 

Развернуть

my little pony фэндомы перевел сам mlp продолжение в комментариях mlp комиксы Friendship is Dragons mane 6 

"Оригинал, страница 331"



Ну что сказать, времени у меня совсем нет, сессия всё ближе, заранее переведённый текст закончился, хобби начало превращаться в работу (перевод). В общем я как поистине ленивый студент решил взять перерыв... Где-то до января - февраля. Переведённые пять страниц выкладываю (подумал нехорошо просто текст выкладывать), но не думаю, что я их хорошо перевёл, когда вернусь как минимум 332 и 334 я переделаю, 333, возможно, если будет время придумать нормальный текст под ритм (что вряд ли). По секрету: я не очень хороший стихоплёт, а песнесочинитель - ещё хуже.

В общем читайте и ждите, ну или не очень.

Т.к. 332 и 334 страницы были сделаны на отвали (332 так вообще отвратительно на мой взгляд, наверно, не стоило вообще их выкладывать) в ограниченном количестве времени ожидаю отгрести кучу минусов (но я не настаиваю...)

З.Ы. 331, 333, 335 делались без недостатка во времени.
З.З.Ы. Я не смог разобраться, кто такой PF.

страницы 331-335 (гостевые)
Отлично. Я всё ещё могу сожрать твой Элемент. ЧТО? Без проблем. Он в моей седельной сумке. Ты можешь взять его. Подождите минутку! Разве ты не сбросила свои сумки в лаву в храме да! Я подозревала, что^в что-то такое произойдёт, но не знала что. Так что я уничтожила свой Элемент, потому что ни
Развернуть

my little pony фэндомы перевел сам mlp продолжение в комментариях mlp комиксы Friendship is Dragons mane 6 

"Оригинал, страница 326"


Вот и подошёл конец 4-ой игровой сессии и скоро подойдёт конец заранее переведённому тексту (~2 недель ещё) и частота выкладки скорее всего упадёт...
страницы 326-330
ГЭто часть того, кел/П я являюсь, дорогуша. Я не знаю ион и почему, Ч. но это тан. У
Твоё предложение... очень щедрее, пс-ни Почему?
Может быть что я верю в хорошую норму.
^ Кон бы то ни ^ было, я не могу грабить кого-либо, не дав ничего ^	взамен.	.
ГИли, возможног я считаю непрактичным
Развернуть

my little pony фэндомы перевел сам mlp продолжение в комментариях Friendship is Dragons mlp комиксы mane 6 

"Оригинал, страница 321"



Да, первый звук не очень, но мне было влом уже переделывать может позже (через недельку-две) выложу более красивую версию.
страницы 321-325
Чтс гы, чёрт возьми. 05/М6ШЬ. пс-ни?/ Просто пытаюсь помочь, _ дорогой... Страха1 встанемте нарушителе# Не зною, я думаю голос клёвый! Он и глубокий, и раздражительный, и пронзительный, и жуткий, и... дм... они серьезно звучат вот так7 В любом случае. Теперь мы' можем понять где они, так?.
Развернуть

my little pony фэндомы mlp комиксы Friendship is Dragons перевел сам mlp продолжение в комментариях mane 6 

"Оригинал, страница 316"



Простите за задержку, но, увы, задержки возможны и далее т.к. уже полсеместра прошло, а я так ничего и не сделал, надо сдавать долги.

страницы 316-320
Дааа. Есть урон7 Это ужасно! Он же не умер навсегда, да? Нет. он Щ воснреснет после 1 моего поротного или к длительного ж отдыха. <ездох> Рада узнать, что у нос появились ^ приоритеты. ЯЖИИИВ! Я... Полагаю, я не против этого? Когда вы выснанивоете из вертинального туннеля, натяжение лески
Развернуть

my little pony фэндомы mlp комиксы Friendship is Dragons перевел сам mlp продолжение в комментариях mane 6 Diamond Dog (mlp) minor 

Ты копил всё это, да? Возможно. Немного у Сейчас?Собираю" драгоценные камни. ^ избегая проблем. А Я окружена, обезоружена и запряжена. Я явно никуда не денусь. возвращаешься , к остальным. Просто уходи„ пока я не передумала. Что-то не так? Да, мээм Итак, что ты делаешь теперь? П-Правда?
Развернуть

my little pony фэндомы mlp комиксы mane 6 Friendship is Dragons перевел сам mlp продолжение в комментариях 

После того, как ты сказал, что Алмазные Псы заперли меня в клетке, я решила, что попытаюсь вскрыть замок. когда ты вернёшься. ^ Но ты ушёл надолго и я подумала: *На что похоже вскрытие замков?" .Пожалуй ты прав. г0, по большей > части это после моей попытки использовать-ьбонон в качеспз Вот
Развернуть

my little pony фэндомы mlp комиксы mane 6 Friendship is Dragons перевел сам mlp продолжение в комментариях 

Под нашими но... копытами сеть туннелей, не ток ли? О! Й поняла Как глубоко ведут все эти ямы? Я тоже об этом думала Зачем ты заполняешь эти круги? Невозможно узнать это, просто посмотрев в них. Многие из них уходят дальше, чем ты можешь видеть. Пока вы размышляете * Л в' у -‘¿ш ¿в т а -/
Развернуть

my little pony фэндомы mlp комиксы mane 6 Friendship is Dragons перевел сам mlp продолжение в комментариях 

Итак она не л совсем друг для воров У по всему миру. а Вот чего мы все боялись. Есть ли какой-нибудь способ узнать, как может среагировать Селестия? На то, что Рэрити тайно работает вором? ...Ты можешь сделать бросок на Историю. С тех пор. как Эквестрийская Гильдия Воров была основана.
Развернуть