KJNodes/memorygenerated

VRAM Debug(VRAM_Debug)

Этот узел получает текущий доступный размер памяти GPU (в байтах) через вызов интерфейса `model_management` в ComfyUI.

VRAM Debug

image_pass
model_pass
any_output
image_pass
model_pass
freemem_before
freemem_after
empty_cache
gc_collect
unload_all_models
any_input
COMBO
KJNodes

Узел VRAM Debug получает текущий объем свободной видеопамяти (в байтах) через вызов интерфейса model_management ComfyUI.

VRAM Debug — это служебный узел для мониторинга и управления видеопамятью (VRAM). Его основная функция заключается в измерении и отчете о доступном объеме видеопамяти во время выполнения рабочего процесса, а также в предоставлении опций для очистки видеопамяти и выгрузки моделей, чтобы помочь пользователям оптимизировать использование ресурсов.

Функциональность узла

Этот узел получает текущий объем свободной видеопамяти (в байтах) через вызов интерфейса model_management ComfyUI. Он поддерживает выполнение трех дополнительных операций: мягкую очистку кэша, принудительный сбор мусора и выгрузку всех загруженных моделей. Эти операции предназначены для освобождения занятых ресурсов видеопамяти. Сам узел не обрабатывает и не изменяет входные данные, а просто передает их дальше без изменений.

Описание параметров узла - VRAM Debug

Входные соединения (Inputs)

Имя параметраТип данныхОбязательныйЗначение по умолчаниюДопустимые значения/ОпцииОписание
any_inputIOНет--any_input (входной параметр): Универсальный входной интерфейс, который может принимать данные любого типа. Узел не обрабатывает их, используя только как один из сигналов для запуска выполнения узла.
image_passIMAGEНет--image_pass (выходной параметр): Возвращает входные данные изображения image_pass без изменений.
model_passMODELНет--model_pass (выходной параметр): Возвращает входные данные модели model_pass без изменений.

Параметры управления (Parameters)

Имя параметраТип данныхОбязательныйЗначение по умолчаниюДопустимые значения/ОпцииОписание
empty_cacheБУЛЕВОДаИстина-empty_cache (входной параметр): Логический переключатель, определяющий, выполнять ли операцию мягкой очистки кэша для попытки освобождения видеопамяти. Включен по умолчанию.
gc_collectБУЛЕВОДаИстина-gc_collect (входной параметр): Логический переключатель, определяющий, выполнять ли принудительный сбор мусора (gc.collect()). Включен по умолчанию.
unload_all_modelsБУЛЕВОДаЛожь-unload_all_models (входной параметр): Логический переключатель, определяющий, выгружать ли все модели из памяти ComfyUI. Выключен по умолчанию.

Выходные данные (Output)

Имя параметраТип данныхОписание
any_outputANYany_output (выходной параметр): Возвращает входные данные any_input без изменений.
image_passIMAGEimage_pass (выходной параметр): Возвращает входные данные изображения image_pass без изменений.
model_passMODELmodel_pass (выходной параметр): Возвращает входные данные модели model_pass без изменений.
freemem_beforeINTfreemem_before (выходной параметр): Объем свободной видеопамяти системы в байтах до выполнения каких-либо операций очистки.
freemem_afterINTfreemem_after (выходной параметр): Объем свободной видеопамяти системы в байтах после выполнения указанных операций очистки.

Сценарии использования

В сложных рабочих процессах, при последовательной генерации нескольких изображений высокого разрешения или переключении между различными большими моделями, видеопамять может постепенно исчерпываться. В этом случае данный узел можно вставить в ключевые точки рабочего процесса (например, между двумя ресурсоемкими узлами). Активация его функций управления видеопамятью позволяет освободить пространство, обеспечивая успешное выполнение последующих узлов, а также контролировать эффект освобождения через выходные целочисленные значения.

Важные замечания

Этот узел в основном предназначен для отладки и мониторинга ресурсов. Выполняемая им операция выгрузки моделей (при включении) влияет на другие узлы в рабочем процессе, которые зависят от уже загруженных моделей. Поэтому рекомендуется размещать его на этапах рабочего процесса, где немедленное использование ранее загруженных моделей не требуется, или в качестве шага очистки перед завершением рабочего процесса.

Ссылка на исходный код узла VRAM Debug

Узел VRAM Debug взят из пакета узлов ComfyUI-KJNodes.

Комментарии

Войдите через GitHub, чтобы участвовать в обсуждении.

Загрузка комментариев…