Une interface graphique de traitement d'image basée sur des nœuds visant à rendre le chaînage des tâches de traitement d'image facile et personnalisable. Née comme une application de mise à l'échelle de l'IA, chaiNNer est devenue une application de traitement d'image programmatique extrêmement flexible et puissante.
ChaiNNer vous offre un niveau de personnalisation de votre flux de travail de traitement d'image que très peu d'autres proposent. Non seulement vous avez un contrôle total sur votre pipeline de traitement, mais vous pouvez également effectuer des tâches incroyablement complexes en connectant simplement quelques nœuds ensemble.
ChaiNNer est également multiplateforme, ce qui signifie que vous pouvez l'exécuter sous Windows, MacOS et Linux.
Pour obtenir de l'aide, des suggestions ou simplement pour sortir, vous pouvez rejoindre le serveur Discord de ChainNer.
N'oubliez pas : chaiNNer est toujours un travail en cours et en alpha. Même si nous arrivons lentement à ce que nous souhaitons, il faudra un certain temps pour avoir toutes les fonctionnalités possibles que nous souhaitons ajouter. Si vous maîtrisez TypeScript, React ou Python, n'hésitez pas à contribuer à ce projet et aidez-nous à nous rapprocher de cet objectif.
Téléchargez la dernière version à partir de la page des versions de Github et exécutez le programme d'installation le mieux adapté à votre système. Aussi simple que ça.
Vous n'avez même pas besoin d'installer Python, car chaiNNer téléchargera une version Python intégrée isolée au démarrage. De là, vous pouvez installer toutes les autres dépendances via le Dependency Manager.
Si vous souhaitez continuer à utiliser l'installation de votre système Python, vous pouvez activer le paramètre Python du système. Cependant, il est beaucoup plus recommandé d’utiliser Python intégré. Si vous souhaitez utiliser votre système Python, nous vous recommandons d'utiliser Python 3.11, mais nous essayons également de prendre en charge les versions 3.8, 3.9 et 3.10.
Si vous souhaitez tester les dernières modifications et ajustements, essayez nos versions nocturnes
Bien que cela puisse paraître intimidant au début en raison de toutes les options possibles, chaiNNer est assez simple à utiliser. Par exemple, voici tout ce que vous devez faire pour effectuer une montée en gamme :
Avant d'arriver à ce point, vous devrez installer l'un des frameworks de réseau neuronal à partir du gestionnaire de dépendances. Vous pouvez y accéder via le bouton dans le coin supérieur droit. ChaiNNer offre la prise en charge de PyTorch (avec certaines architectures de modèles), NCNN et ONNX. Pour les utilisateurs de Nvidia, PyTorch sera le moyen privilégié de mise à niveau. Pour les utilisateurs d'AMD, NCNN sera le moyen privilégié de mise à niveau.
Toutes les autres dépendances Python sont automatiquement installées et chaiNNer propose même son propre support Python intégré afin que vous n'ayez pas à modifier votre configuration Python existante.
Ensuite, tout ce que vous avez à faire est de glisser-déposer (ou de double-cliquer) les noms de nœuds dans le panneau de sélection pour les amener dans l'éditeur. Ensuite, faites glisser d’une poignée de nœud à une autre pour connecter les nœuds. Chaque poignée est codée par couleur pour son type spécifique et, lors de la connexion, elle vous montrera uniquement les connexions compatibles. Il est ainsi très facile de savoir quoi connecter et où.
Une fois que vous avez configuré une chaîne de travail dans l'éditeur, vous pouvez appuyer sur le bouton vert "Exécuter" dans la barre supérieure pour exécuter la chaîne que vous avez créée. Vous verrez les connexions entre les nœuds s'animer et commencer à se désanimer à la fin du traitement. Vous pouvez arrêter ou suspendre le traitement avec respectivement les boutons rouge « stop » et jaune « pause ».
N'oubliez pas qu'il existe également de nombreuses tâches non liées à la mise à l'échelle que vous pouvez effectuer avec chaiNNer !
Pour sélectionner plusieurs nœuds, maintenez la touche Maj enfoncée et faites glisser tous les nœuds que vous souhaitez sélectionner. Vous pouvez également sélectionner un nœud individuel en cliquant simplement dessus. Lorsque les nœuds sont sélectionnés, vous pouvez appuyer sur retour arrière ou supprimer pour les supprimer de l'éditeur.
Pour effectuer un traitement par lots sur un dossier d'images, utilisez le nœud "Charger les images". Pour traiter des vidéos, utilisez le nœud « Charger la vidéo ». Il est important de noter cependant que vous ne pouvez pas utiliser à la fois les nœuds « Charger des images » et « Charger la vidéo » (ou deux nœuds effectuant une itération par lots) ensemble dans une chaîne. Vous pouvez cependant combiner les nœuds de sortie (collecteur) dans la chaîne, par exemple en utilisant « Enregistrer l'image » avec « Charger la vidéo » et « Enregistrer la vidéo » avec « Charger les images ».
Vous pouvez cliquer avec le bouton droit dans la fenêtre de l'éditeur pour afficher une liste de nœuds en ligne parmi lesquels sélectionner. Vous pouvez également obtenir ce menu en faisant glisser une connexion vers l'éditeur plutôt qu'en établissant une connexion réelle, et il affichera les nœuds compatibles avec lesquels créer automatiquement une connexion.
Les versions MacOS 10.x et inférieures ne sont pas prises en charge.
Les versions Windows 8.1 et inférieures ne sont pas non plus prises en charge.
Les Mac Apple Silicon devraient prendre en charge presque tout. Cependant, ONNX ne prend en charge que le fournisseur d'exécution CPU et NCNN ne fonctionne parfois pas correctement.
Certains utilisateurs NCNN dotés de GPU non Nvidia peuvent obtenir des sorties entièrement noires. Je ne sais pas quoi faire pour résoudre ce problème, car cela semble être dû au crash du pilote graphique en raison d'un manque de mémoire. Si cela vous arrive, essayez de définir manuellement un montant de carrelage.
Pour utiliser les nœuds du Presse-papiers, les utilisateurs Linux doivent avoir xclip ou, pour les utilisateurs de Wayland, wl-copy installé.
Pour l'inférence PyTorch, seuls les GPU Nvidia sont officiellement pris en charge. Si vous ne possédez pas de GPU Nvidia, vous devrez utiliser PyTorch en mode CPU. En effet, PyTorch ne prend en charge que le CUDA de Nvidia. Les utilisateurs de MacOS sur les Mac Apple Silicon peuvent également profiter du mode MPS de PyTorch, qui devrait fonctionner avec chaiNNer.
Si vous disposez d'un GPU AMD ou Intel prenant en charge NCNN, chaiNNer prend désormais en charge l'inférence NCNN. Vous pouvez utiliser n'importe quel fichier de modèle NCNN .bin/.param existant (seuls les modèles SR liés à ESRGAN ont été testés) ou utiliser chaiNNer pour convertir un modèle PyTorch ou ONNX en NCNN.
Pour NCNN, assurez-vous de sélectionner le GPU que vous souhaitez utiliser dans les paramètres. Il se peut que ce soit par défaut vos graphiques intégrés !
Pour les GPU Nvidia, ONNX est également une option à utiliser. ONNX utilisera le mode CPU sur les GPU non Nvidia, similaire à PyTorch.
ChaiNNer prend actuellement en charge un nombre limité d'architectures de réseaux neuronaux. D'autres architectures seront prises en charge à l'avenir.
Depuis la version 0.21.0, chaiNNer utilise notre nouveau package appelé Spandrel pour prendre en charge les architectures de modèles Pytorch. Pour une liste de ce qui est pris en charge, consultez la liste ici.
Pour obtenir des informations de dépannage, consultez le document de dépannage.
Je propose des versions prédéfinies de chaiNNer ici sur GitHub. Cependant, si vous souhaitez créer chaiNNer vous-même, exécutez simplement npm install
(assurez-vous qu'au moins npm v7 est installé) pour installer toutes les dépendances nodejs, et npm run make
pour créer l'application.
Pour obtenir des informations sur la FAQ, consultez le document FAQ.