Uma GUI de processamento de imagens baseada em nós que visa tornar as tarefas de processamento de imagens em encadeamento fáceis e personalizáveis. Nascido como um aplicativo de upscaling de IA, o chaiNNer se tornou um aplicativo de processamento programático de imagens extremamente flexível e poderoso.
O ChaiNNer oferece um nível de personalização do fluxo de trabalho de processamento de imagens que poucos outros oferecem. Você não apenas tem controle total sobre seu pipeline de processamento, mas também pode realizar tarefas incrivelmente complexas apenas conectando alguns nós.
ChaiNNer também é multiplataforma, o que significa que você pode executá-lo em Windows, MacOS e Linux.
Para obter ajuda, sugestões ou apenas para sair, você pode ingressar no servidor chaiNNer Discord
Lembre-se: o chaiNNer ainda é um trabalho em andamento e em alfa. Embora esteja lentamente chegando onde queremos, levará algum tempo para ter todos os recursos possíveis que queremos adicionar. Se você tem conhecimento em TypeScript, React ou Python, sinta-se à vontade para contribuir com este projeto e nos ajudar a chegar mais perto desse objetivo.
Baixe a versão mais recente na página de lançamentos do Github e execute o instalador mais adequado para o seu sistema. Simples assim.
Você nem precisa ter o Python instalado, pois o chaiNNer fará o download de uma compilação Python integrada e isolada na inicialização. A partir daí, você pode instalar todas as outras dependências através do Dependency Manager.
Se você ainda deseja usar a instalação do Python do sistema, você pode ativar a configuração do Python do sistema. No entanto, é muito mais recomendado usar Python integrado. Se você deseja usar seu sistema Python, recomendamos usar Python 3.11, mas tentamos oferecer suporte a 3.8, 3.9 e 3.10 também.
Se você quiser testar as mudanças e ajustes mais recentes, experimente nossas compilações noturnas
Embora possa parecer intimidante no início devido a todas as opções possíveis, o chaiNNer é bastante simples de usar. Por exemplo, isso é tudo que você precisa fazer para realizar um upscale:
Antes de chegar a este ponto, você precisará instalar uma das estruturas de rede neural do gerenciador de dependências. Você pode acessar isso através do botão no canto superior direito. ChaiNNer oferece suporte para PyTorch (com arquiteturas de modelos selecionados), NCNN e ONNX. Para usuários da Nvidia, PyTorch será a forma preferida de upscale. Para usuários AMD, NCNN será a forma preferida de upscale.
Todas as outras dependências do Python são instaladas automaticamente, e o chaiNNer ainda carrega seu próprio suporte integrado ao Python para que você não precise modificar sua configuração existente do Python.
Então, tudo que você precisa fazer é arrastar e soltar (ou clicar duas vezes) os nomes dos nós no painel de seleção para trazê-los para o editor. Em seguida, arraste de um identificador de nó para outro para conectar os nós. Cada alça é codificada por cores para seu tipo específico e, durante a conexão, mostrará apenas as conexões compatíveis. Isso torna muito fácil saber o que conectar e onde.
Depois de configurar uma cadeia de trabalho no editor, você pode pressionar o botão verde "executar" na barra superior para executar a cadeia que você criou. Você verá as conexões entre os nós ficarem animadas e começarem a desanimar à medida que terminam o processamento. Você pode parar ou pausar o processamento com os botões vermelho “parar” e amarelo “pausar”, respectivamente.
Não se esqueça, há muitas tarefas que não são de upscaling que você também pode realizar com o chaiNNer!
Para selecionar vários nós, mantenha pressionada a tecla Shift e arraste todos os nós que deseja selecionar. Você também pode selecionar um nó individual apenas clicando nele. Quando os nós são selecionados, você pode pressionar backspace ou delete para excluí-los do editor.
Para realizar o processamento em lote em uma pasta de imagens, use o nó "Carregar Imagens". Para processar vídeos, use o nó "Load Video". É importante observar, entretanto, que você não pode usar os nós "Load Images" e "Load Video" (ou quaisquer dois nós que executem iteração em lote) juntos em uma cadeia. No entanto, você pode combinar os nós de saída (coletores) na cadeia, por exemplo, usando "Salvar imagem" com "Carregar vídeo" e "Salvar vídeo" com "Carregar imagens".
Você pode clicar com o botão direito na viewport do editor para mostrar uma lista de nós embutidos para seleção. Você também pode obter este menu arrastando uma conexão para o editor em vez de fazer uma conexão real, e ele mostrará nós compatíveis para criar uma conexão automaticamente.
As versões 10.xe anteriores do MacOS não são suportadas.
As versões 8.1 e anteriores do Windows também não são suportadas.
Os Apple Silicon Macs devem suportar quase tudo. Embora ONNX suporte apenas o provedor de execução de CPU, e NCNN às vezes não funciona corretamente.
Alguns usuários da NCNN com GPUs que não são da Nvidia podem obter saídas totalmente pretas. Não tenho certeza do que fazer para corrigir isso, pois parece ser devido ao travamento do driver gráfico devido à falta de memória. Se isso acontecer com você, tente definir manualmente um valor de ladrilho.
Para usar os nós da área de transferência, os usuários do Linux precisam ter o xclip ou, para usuários do wayland, o wl-copy instalado.
Para inferência PyTorch, apenas GPUs Nvidia são oficialmente suportadas. Se você não possui uma GPU Nvidia, terá que usar o PyTorch no modo CPU. Isso ocorre porque o PyTorch oferece suporte apenas ao CUDA da Nvidia. Os usuários de MacOS em Apple Silicon Macs também podem aproveitar as vantagens do modo MPS do PyTorch, que deve funcionar com o chaiNNer.
Se você tiver uma GPU AMD ou Intel que suporte NCNN, o chaiNNer agora oferece suporte à inferência NCNN. Você pode usar qualquer arquivo de modelo NCNN .bin/.param existente (apenas modelos SR relacionados ao ESRGAN foram testados) ou usar o chaiNNer para converter um modelo PyTorch ou ONNX em NCNN.
Para NCNN, certifique-se de selecionar qual GPU você deseja usar nas configurações. Pode ser o padrão dos seus gráficos integrados!
Para GPUs Nvidia, ONNX também é uma opção a ser usada. ONNX usará o modo CPU em GPUs não Nvidia, semelhante ao PyTorch.
Atualmente, o ChaiNNer oferece suporte a uma quantidade limitada de arquiteturas de redes neurais. Mais arquiteturas serão suportadas no futuro.
A partir da v0.21.0, o chaiNNer usa nosso novo pacote chamado Spandrel para oferecer suporte às arquiteturas de modelo Pytorch. Para obter uma lista do que é compatível, confira a lista lá.
Para obter informações sobre solução de problemas, consulte o documento de solução de problemas.
Eu forneço versões pré-construídas do chaiNNer aqui no GitHub. No entanto, se você quiser construir o chaiNNer sozinho, simplesmente execute npm install
(certifique-se de ter pelo menos o npm v7 instalado) para instalar todas as dependências do nodejs e npm run make
para construir o aplicativo.
Para obter informações de perguntas frequentes, consulte o documento de perguntas frequentes.