Графический интерфейс обработки изображений на основе узлов, призванный упростить и настраивать цепочку задач обработки изображений. ChainNer, созданный как приложение для масштабирования искусственного интеллекта, превратился в чрезвычайно гибкое и мощное приложение для программной обработки изображений.
ChaiNNer дает вам уровень настройки рабочего процесса обработки изображений, который делают немногие другие. Вы не только имеете полный контроль над своим конвейером обработки, но и можете выполнять невероятно сложные задачи, просто соединив несколько узлов вместе.
ChaiNNer также является кроссплатформенным, то есть вы можете запускать его в Windows, MacOS и Linux.
Чтобы получить помощь, предложения или просто пообщаться, вы можете присоединиться к серверу ChainNer Discord.
Помните: работа над ChainNer все еще находится в стадии альфа-версии. Хотя он постепенно приближается к тому, чего мы хотим, потребуется довольно много времени, чтобы добавить все возможные функции, которые мы хотим добавить. Если вы разбираетесь в TypeScript, React или Python, не стесняйтесь внести свой вклад в этот проект и помочь нам приблизиться к этой цели.
Загрузите последнюю версию со страницы выпусков Github и запустите установщик, наиболее подходящий для вашей системы. Просто.
Вам даже не обязательно устанавливать Python, так как ChainNer загрузит изолированную интегрированную сборку Python при запуске. Оттуда вы можете установить все остальные зависимости через диспетчер зависимостей.
Если вы все же хотите использовать установку системного Python, вы можете включить настройку системного Python. Однако гораздо более рекомендуется использовать интегрированный Python. Если вы хотите использовать свою систему Python, мы рекомендуем использовать Python 3.11, но мы также стараемся поддерживать версии 3.8, 3.9 и 3.10.
Если вы хотите протестировать последние изменения и настройки, попробуйте наши ночные сборки.
Хотя на первый взгляд это может показаться пугающим из-за всех возможных опций, ChainNer довольно прост в использовании. Например, это все, что вам нужно сделать, чтобы выполнить апскейл:
Однако прежде чем вы дойдете до этого момента, вам нужно будет установить одну из инфраструктур нейронной сети из диспетчера зависимостей. Доступ к нему можно получить с помощью кнопки в правом верхнем углу. ChaiNNer предлагает поддержку PyTorch (с некоторыми моделями архитектур), NCNN и ONNX. Для пользователей Nvidia PyTorch будет предпочтительным способом масштабирования. Для пользователей AMD предпочтительным способом масштабирования будет NCNN.
Все остальные зависимости Python устанавливаются автоматически, а ChainNer даже имеет собственную встроенную поддержку Python, поэтому вам не придется изменять существующую конфигурацию Python.
Затем все, что вам нужно сделать, это перетащить (или дважды щелкнуть) имена узлов на панели выбора, чтобы перенести их в редактор. Затем перетащите маркер одного узла на другой, чтобы соединить узлы. Каждая ручка имеет цветовую маркировку, соответствующую ее конкретному типу, и при подключении отображаются только совместимые соединения. Это позволяет очень легко понять, что и куда подключать.
После того, как вы настроили рабочую цепочку в редакторе, вы можете нажать зеленую кнопку «Запустить» на верхней панели, чтобы запустить созданную вами цепочку. Вы увидите, что соединения между узлами становятся анимированными и начинают отключаться по мере завершения обработки. Вы можете остановить или приостановить обработку с помощью красной кнопки «Стоп» и желтой «Пауза» соответственно.
Не забывайте, что с ChainNer можно выполнять множество задач, не связанных с масштабированием!
Чтобы выбрать несколько узлов, удерживайте клавишу Shift и перетащите все узлы, которые хотите выбрать. Вы также можете выбрать отдельный узел, просто щелкнув по нему. Когда узлы выбраны, вы можете нажать клавишу Backspace или удалить, чтобы удалить их из редактора.
Чтобы выполнить пакетную обработку папки изображений, используйте узел «Загрузить изображения». Для обработки видео используйте узел «Загрузить видео». Однако важно отметить, что вы не можете использовать одновременно узлы «Загрузить изображения» и «Загрузить видео» (или любые два узла, выполняющие пакетную итерацию) в цепочке. Однако вы можете объединить выходные (сборные) узлы в цепочке, например, используя «Сохранить изображение» с «Загрузить видео» и «Сохранить видео» с «Загрузить изображения».
Вы можете щелкнуть правой кнопкой мыши в окне просмотра редактора, чтобы отобразить встроенный список узлов для выбора. Вы также можете получить это меню, перетащив соединение в редактор, а не создавая фактическое соединение, и оно покажет совместимые узлы, с которыми можно автоматически создать соединение.
Версии MacOS 10.x и ниже не поддерживаются.
Windows версии 8.1 и ниже также не поддерживаются.
Apple Silicon Mac должны поддерживать практически всё. Однако ONNX поддерживает только поставщика выполнения ЦП, а NCNN иногда работает некорректно.
Некоторые пользователи NCNN с графическими процессорами сторонних производителей могут получить полностью черный результат. Я не знаю, что делать, чтобы это исправить, поскольку, по всей видимости, это связано с сбоем графического драйвера в результате нехватки памяти. Если это произойдет с вами, попробуйте вручную установить сумму плитки.
Чтобы использовать узлы буфера обмена, пользователям Linux необходимо установить xclip или, для пользователей Wayland, wl-copy.
Для вывода PyTorch официально поддерживаются только графические процессоры Nvidia. Если у вас нет графического процессора Nvidia, вам придется использовать PyTorch в режиме процессора. Это связано с тем, что PyTorch поддерживает только CUDA от Nvidia. Пользователи MacOS на компьютерах Apple Silicon Mac также могут воспользоваться режимом MPS PyTorch, который должен работать с ChainNer.
Однако, если у вас есть графический процессор AMD или Intel, поддерживающий NCNN, ChainNer теперь поддерживает вывод NCNN. Вы можете использовать любые существующие файлы моделей NCNN .bin/.param (были протестированы только модели SR, связанные с ESRGAN) или использовать ChainNer для преобразования модели PyTorch или ONNX в NCNN.
Для NCNN обязательно выберите в настройках графический процессор, который вы хотите использовать. Возможно, по умолчанию используется встроенная графика!
Для графических процессоров Nvidia также можно использовать ONNX. ONNX будет использовать режим ЦП на графических процессорах сторонних производителей, аналогично PyTorch.
ChaiNNer в настоящее время поддерживает ограниченное количество архитектур нейронных сетей. В будущем будет поддерживаться больше архитектур.
Начиная с версии 0.21.0, ChainNer использует наш новый пакет под названием Spandrel для поддержки архитектур моделей Pytorch. Список того, что поддерживается, можно найти здесь.
Информацию по устранению неполадок см. в документе по устранению неполадок.
Я предоставляю готовые версии ChainNer здесь, на GitHub. Однако, если вы хотите собрать ChainNer самостоятельно, просто запустите npm install
(убедитесь, что у вас установлен как минимум npm v7), чтобы установить все зависимости nodejs, и npm run make
для сборки приложения.
Информацию о часто задаваемых вопросах см. в документе «Часто задаваемые вопросы».