Una GUI de procesamiento de imágenes basada en nodos destinada a hacer que el encadenamiento de tareas de procesamiento de imágenes sea fácil y personalizable. Nacida como una aplicación de mejora de la IA, chaiNNer se ha convertido en una aplicación de procesamiento de imágenes programática extremadamente flexible y potente.
ChaiNNer le brinda un nivel de personalización de su flujo de trabajo de procesamiento de imágenes que muy pocos ofrecen. No solo tiene control total sobre su proceso de procesamiento, sino que también puede realizar tareas increíblemente complejas simplemente conectando algunos nodos.
ChaiNNer también es multiplataforma, lo que significa que puedes ejecutarlo en Windows, MacOS y Linux.
Para obtener ayuda, sugerencias o simplemente pasar el rato, puedes unirte al servidor chaiNNer Discord.
Recuerde: chaiNNer todavía es un trabajo en progreso y en alfa. Si bien poco a poco está llegando a donde queremos, llevará bastante tiempo tener todas las funciones posibles que queremos agregar. Si tiene conocimientos de TypeScript, React o Python, no dude en contribuir a este proyecto y ayudarnos a acercarnos a ese objetivo.
Descargue la última versión de la página de versiones de Github y ejecute el instalador que mejor se adapte a su sistema. Así de simple.
Ni siquiera necesita tener Python instalado, ya que chaiNNer descargará una compilación integrada aislada de Python al inicio. Desde allí, puede instalar todas las demás dependencias a través del Administrador de dependencias.
Si aún desea utilizar la instalación de Python de su sistema, puede activar la configuración de Python del sistema. Sin embargo, es mucho más recomendable utilizar Python integrado. Si desea utilizar su sistema Python, le recomendamos utilizar Python 3.11, pero también intentamos admitir 3.8, 3.9 y 3.10.
Si desea probar los últimos cambios y ajustes, pruebe nuestras compilaciones nocturnas.
Si bien puede parecer intimidante al principio debido a todas las opciones posibles, chaiNNer es bastante sencillo de usar. Por ejemplo, esto es todo lo que necesitas hacer para realizar una mejora:
Sin embargo, antes de llegar a este punto, deberá instalar uno de los marcos de red neuronal desde el administrador de dependencias. Puede acceder a esto a través del botón en la esquina superior derecha. ChaiNNer ofrece soporte para PyTorch (con arquitecturas de modelos selectas), NCNN y ONNX. Para los usuarios de Nvidia, PyTorch será la forma preferida de ampliación. Para los usuarios de AMD, NCNN será la forma preferida de ampliación.
Todas las demás dependencias de Python se instalan automáticamente y chaiNNer incluso tiene su propio soporte integrado de Python para que no tenga que modificar su configuración de Python existente.
Luego, todo lo que tiene que hacer es arrastrar y soltar (o hacer doble clic) los nombres de los nodos en el panel de selección para llevarlos al editor. Luego, arrastre desde un identificador de nodo a otro para conectar los nodos. Cada mango está codificado por colores según su tipo específico y, mientras se conecta, le mostrará solo las conexiones compatibles. Esto hace que sea muy fácil saber qué conectar y dónde.
Una vez que haya configurado una cadena de trabajo en el editor, puede presionar el botón verde "ejecutar" en la barra superior para ejecutar la cadena que ha creado. Verá que las conexiones entre los nodos se animan y comienzan a desanimarse cuando terminan de procesarse. Puede detener o pausar el procesamiento con los botones rojo "detener" y amarillo "pausar" respectivamente.
¡No olvides que también hay muchas tareas que no son de mejora que puedes realizar con chaiNNer!
Para seleccionar varios nodos, mantenga presionada la tecla Mayús y arrastre todos los nodos que desea seleccionar. También puede seleccionar un nodo individual simplemente haciendo clic en él. Cuando se seleccionan nodos, puede presionar retroceso o eliminar para eliminarlos del editor.
Para realizar el procesamiento por lotes en una carpeta de imágenes, utilice el nodo "Cargar imágenes". Para procesar videos, use el nodo "Cargar video". Sin embargo, es importante tener en cuenta que no puede utilizar los nodos "Cargar imágenes" y "Cargar vídeo" (o dos nodos cualesquiera que realicen iteraciones por lotes) juntos en una cadena. Sin embargo, puede combinar los nodos de salida (colector) en la cadena, por ejemplo usando "Guardar imagen" con "Cargar video" y "Guardar video" con "Cargar imágenes".
Puede hacer clic derecho en la ventana gráfica del editor para mostrar una lista de nodos en línea para seleccionar. También puede obtener este menú arrastrando una conexión al editor en lugar de realizar una conexión real, y mostrará nodos compatibles con los que crear una conexión automáticamente.
Las versiones de MacOS 10.x e inferiores no son compatibles.
Las versiones de Windows 8.1 e inferiores tampoco son compatibles.
Los Apple Silicon Macs deberían ser compatibles con casi todo. Sin embargo, ONNX solo admite el proveedor de ejecución de CPU y, a veces, NCNN no funciona correctamente.
Algunos usuarios de NCNN con GPU que no son de Nvidia pueden obtener resultados completamente negros. No estoy seguro de qué hacer para solucionar este problema, ya que parece deberse a que el controlador de gráficos falla como resultado de falta de memoria. Si esto le sucede, intente configurar manualmente una cantidad de mosaico.
Para utilizar los nodos del Portapapeles, los usuarios de Linux deben tener instalado xclip o, para los usuarios de wayland, wl-copy.
Para la inferencia de PyTorch, solo se admiten oficialmente las GPU de Nvidia. Si no tienes una GPU Nvidia, tendrás que usar PyTorch en modo CPU. Esto se debe a que PyTorch solo es compatible con CUDA de Nvidia. Los usuarios de MacOS en Apple Silicon Macs también pueden aprovechar el modo MPS de PyTorch, que debería funcionar con chaiNNer.
Sin embargo, si tiene una GPU AMD o Intel que admite NCNN, chaiNNer ahora admite la inferencia NCNN. Puede usar cualquier archivo de modelo NCNN .bin/.param existente (solo se han probado los modelos SR relacionados con ESRGAN) o usar chaiNNer para convertir un modelo PyTorch u ONNX a NCNN.
Para NCNN, asegúrese de seleccionar qué GPU desea usar en la configuración. ¡Podría ser que sus gráficos integrados estén predeterminados!
Para las GPU de Nvidia, ONNX también es una opción a utilizar. ONNX utilizará el modo CPU en GPU que no sean de Nvidia, similar a PyTorch.
ChaiNNer actualmente admite una cantidad limitada de arquitecturas de redes neuronales. Se admitirán más arquitecturas en el futuro.
A partir de la versión 0.21.0, chaiNNer utiliza nuestro nuevo paquete llamado Spandrel para admitir arquitecturas modelo Pytorch. Para obtener una lista de lo que se admite, consulte la lista allí.
Para obtener información sobre solución de problemas, consulte el documento de solución de problemas.
Proporciono versiones prediseñadas de chaiNNer aquí en GitHub. Sin embargo, si desea crear chaiNNer usted mismo, simplemente ejecute npm install
(asegúrese de tener al menos npm v7 instalado) para instalar todas las dependencias de nodejs y npm run make
para compilar la aplicación.
Para obtener información sobre preguntas frecuentes, consulte el documento de preguntas frecuentes.