KJNodes/model_loadersgenerated

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

MODEL
CLIP
VAE
ckpt_name
COMBO
weight_dtype
COMBO
compute_dtype
default
patch_cublaslinear
sage_attention
0
enable_fp16_accumulation
KJNodes

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ètreType de donnéesRequisValeur par défautPlage de valeurs/OptionsDescription
ckpt_nameFOLDER_PATHSOui--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ètreType de donnéesRequisValeur par défautPlage de valeurs/OptionsDescription
weight_dtypeCOMBOOuidefault"default", "fp8_e4m3fn", "fp8_e4m3fn_fast", "fp8_e5m2", "fp16", "bf16", "fp32"Contrôle l'utilisation mémoire et la précision de calcul.
compute_dtypeCOMBOOuidefault"default", "fp16", "bf16", "fp32"Affecte la précision numérique pendant la propagation avant.
patch_cublaslinearBOOLEANOuiFalse-Activer ou désactiver l'argument cublas_ops.
sage_attentionCOMBOOuiFalsefalse, truePatcher l'attention de Comfy pour utiliser sageattn.
enable_fp16_accumulationBOOLEANOuiFalse-Activer torch.backends.cuda.matmul.allow_fp16_accumulation, nécessite une version minimale de PyTorch 2.7.1.

Sorties (Output)

Nom du paramètreType de donnéesDescription
MODELMODELMODEL (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.
CLIPCLIPCLIP (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.
VAEVAEVAE (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.

Chargement des commentaires…