CheckpointLoaderKJ
Ce nœud ajoute au processus de chargement standard la possibilité de contrôler plusieurs précisions de poids (telles que FP8, FP16, BF16) et la précision de calcul.
Checkpoint Loader KJ
Le nœud CheckpointLoaderKJ, qui ajoute au processus de chargement standard le contrôle de multiples précisions de poids (comme FP8, FP16, BF16) et de la précision de calcul.
CheckpointLoaderKJ est un nœud expérimental de chargement de modèle, utilisé pour charger des modèles Stable Diffusion à partir de fichiers de point de contrôle. Sa fonction principale est de charger le modèle, l'encodeur de texte CLIP et le décodeur VAE, tout en prenant en charge des optimisations de performance et des ajustements de précision spécifiques pour le modèle.
Fonctionnalités du nœud
Ce nœud ajoute au processus de chargement standard le contrôle de multiples précisions de poids (comme FP8, FP16, BF16) et de la précision de calcul. Ses mécanismes techniques clés incluent l'utilisation optionnelle de CublasLinear pour patcher les couches linéaires de PyTorch afin d'améliorer l'efficacité des calculs, ainsi que l'intégration de SageAttention pour remplacer le mécanisme d'attention par défaut. Ces optimisations visent à améliorer la vitesse d'inférence ou à réduire l'utilisation de mémoire pour des matériels spécifiques (comme les GPU supportant le FP8).
Spécifications des paramètres du nœud - CheckpointLoaderKJ
Entrées (Inputs)
| Nom du paramètre | Type de données | Requis | Valeur par défaut | Plage de valeurs/Options | Description |
|---|---|---|---|---|---|
ckpt_name | FOLDER_PATHS | Oui | - | - | ckpt_name (paramètre d'entrée) : Spécifie le nom du fichier de point de contrôle (modèle) à charger. Ce fichier doit se trouver dans le répertoire de modèles spécifié par ComfyUI. |
Paramètres de contrôle (Parameters)
| Nom du paramètre | Type de données | Requis | Valeur par défaut | Plage de valeurs/Options | Description |
|---|---|---|---|---|---|
weight_dtype | COMBO | Oui | default | "default", "fp8_e4m3fn", "fp8_e4m3fn_fast", "fp8_e5m2", "fp16", "bf16", "fp32" | Contrôle l'utilisation mémoire et la précision de calcul. |
compute_dtype | COMBO | Oui | default | "default", "fp16", "bf16", "fp32" | Affecte la précision numérique pendant la propagation avant. |
patch_cublaslinear | BOOLEAN | Oui | False | - | Activer ou désactiver l'argument cublas_ops. |
sage_attention | COMBO | Oui | False | false, true | Patcher l'attention de Comfy pour utiliser sageattn. |
enable_fp16_accumulation | BOOLEAN | Oui | False | - | Activer torch.backends.cuda.matmul.allow_fp16_accumulation, nécessite une version minimale de PyTorch 2.7.1. |
Sorties (Output)
| Nom du paramètre | Type de données | Description |
|---|---|---|
| MODEL | MODEL | MODEL (paramètre de sortie) : Le modèle principal Stable Diffusion chargé en sortie, utilisé pour le débruitage et la génération d'images. |
| CLIP | CLIP | CLIP (paramètre de sortie) : L'encodeur de texte CLIP en sortie, utilisé pour convertir les invites textuelles en vecteurs d'embedding compréhensibles par le modèle. |
| VAE | VAE | VAE (paramètre de sortie) : L'auto-encodeur variationnel en sortie, responsable de l'encodage et du décodage des représentations de l'espace latent en images pixelisées. |
Cas d'utilisation
Ce nœud est très utile dans les workflows nécessitant un contrôle précis de la précision du modèle pour équilibrer vitesse et qualité. Par exemple, lors du déploiement d'un modèle optimisé pour la génération d'images par lots, l'utilisateur peut d'abord charger le modèle avec une précision FP8 via ce nœud, puis le connecter à KSampler pour une inférence efficace. Il peut également être utilisé pour tester l'impact de différents mécanismes d'attention (comme SageAttention) sur les résultats de génération.
Notes importantes
Veuillez noter qu'il s'agit d'un nœud marqué comme "expérimental", ses fonctionnalités peuvent être instables ou changer avec les mises à jour. L'activation de fonctionnalités comme enable_fp16_accumulation nécessite une version spécifique de PyTorch (2.7.1 ou supérieure), et certaines optimisations (comme FP8) nécessitent un support matériel.
Lien vers le code source du nœud CheckpointLoaderKJ
Le nœud CheckpointLoaderKJ provient du pack de nœuds ComfyUI-KJNodes.
Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.