CheckpointLoaderKJ
Этот узел расширяет стандартный процесс загрузки, добавляя контроль над различными типами точности весов (такими как FP8, FP16, BF16) и точностью вычислений.
Checkpoint Loader KJ
Узел CheckpointLoaderKJ, который расширяет стандартный процесс загрузки, добавляя контроль над различной точностью весов (такой как FP8, FP16, BF16) и точностью вычислений.
CheckpointLoaderKJ — это экспериментальный узел для загрузки моделей, предназначенный для загрузки моделей Stable Diffusion из файлов контрольных точек. Его основная функция — загрузка модели, текстового энкодера CLIP и декодера VAE, а также поддержка специфической оптимизации производительности и настройки точности модели.
Функциональность узла
Этот узел расширяет стандартный процесс загрузки, добавляя контроль над различной точностью весов (такой как FP8, FP16, BF16) и точностью вычислений. Его ключевые технические механизмы включают опциональное использование CublasLinear для патчинга линейных слоев PyTorch с целью повышения вычислительной эффективности, а также интеграцию SageAttention для замены механизма внимания по умолчанию. Эти оптимизации направлены на повышение скорости вывода или снижение потребления видеопамяти для определенного оборудования (например, GPU с поддержкой FP8).
Описание параметров узла - CheckpointLoaderKJ
Входные соединения (Inputs)
| Имя параметра | Тип данных | Обязательный | Значение по умолчанию | Допустимые значения/Опции | Описание |
|---|---|---|---|---|---|
ckpt_name | FOLDER_PATHS | Да | - | - | ckpt_name (входной параметр): Указывает имя загружаемого файла контрольной точки (модели). Файл должен находиться в каталоге моделей, указанном в ComfyUI. |
Параметры управления (Parameters)
| Имя параметра | Тип данных | Обязательный | Значение по умолчанию | Допустимые значения/Опции | Описание |
|---|---|---|---|---|---|
weight_dtype | COMBO | Да | default | "default", "fp8_e4m3fn", "fp8_e4m3fn_fast", "fp8_e5m2", "fp16", "bf16", "fp32" | Управляет потреблением памяти и точностью вычислений. |
compute_dtype | COMBO | Да | default | "default", "fp16", "bf16", "fp32" | fp16, bf16, fp32. Влияет на численную точность в процессе прямого распространения. |
patch_cublaslinear | BOOLEAN | Да | False | - | Включить или отключить аргумент cublas_ops. |
sage_attention | COMBO | Да | False | false, true | Заменить механизм внимания comfy на использование sageattn. |
enable_fp16_accumulation | BOOLEAN | Да | False | - | Включить torch.backends.cuda.matmul.allow_fp16_accumulation. Требуется минимальная версия PyTorch 2.7.1. |
Выходные данные (Output)
| Имя параметра | Тип данных | Описание |
|---|---|---|
| MODEL | MODEL | MODEL (выходной параметр): Загруженная основная модель Stable Diffusion, используемая для шумоподавления и генерации изображений. |
| CLIP | CLIP | CLIP (выходной параметр): Текстовый энкодер CLIP, используемый для преобразования текстовых подсказок в векторные представления, понятные модели. |
| VAE | VAE | VAE (выходной параметр): Вариационный автоэнкодер, отвечающий за кодирование и декодирование представлений в латентном пространстве в пиксельные изображения. |
Сценарии использования
Этот узел очень полезен в рабочих процессах, где требуется точный контроль над точностью модели для баланса между скоростью и качеством. Например, при развертывании оптимизированной модели для пакетной генерации изображений пользователь может сначала загрузить модель с точностью FP8 через этот узел, а затем подключить KSampler для эффективного вывода. Его также можно использовать для тестирования влияния различных механизмов внимания (таких как SageAttention) на результат генерации.
Важные замечания
Обратите внимание, что этот узел помечен как «экспериментальный», его функциональность может быть нестабильной или изменяться с обновлениями версий. Для включения таких функций, как enable_fp16_accumulation, требуется определенная версия PyTorch (2.7.1 или выше), а для некоторых оптимизаций (например, FP8) необходима поддержка со стороны оборудования.
Ссылка на исходный код узла CheckpointLoaderKJ
Узел CheckpointLoaderKJ взят из пакета узлов ComfyUI-KJNodes.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.