VRAM Debug(VRAM_Debug)
Этот узел получает текущий доступный размер памяти GPU (в байтах) через вызов интерфейса `model_management` в ComfyUI.
VRAM Debug
Узел VRAM Debug получает текущий объем свободной видеопамяти (в байтах) через вызов интерфейса model_management ComfyUI.
VRAM Debug — это служебный узел для мониторинга и управления видеопамятью (VRAM). Его основная функция заключается в измерении и отчете о доступном объеме видеопамяти во время выполнения рабочего процесса, а также в предоставлении опций для очистки видеопамяти и выгрузки моделей, чтобы помочь пользователям оптимизировать использование ресурсов.
Функциональность узла
Этот узел получает текущий объем свободной видеопамяти (в байтах) через вызов интерфейса model_management ComfyUI. Он поддерживает выполнение трех дополнительных операций: мягкую очистку кэша, принудительный сбор мусора и выгрузку всех загруженных моделей. Эти операции предназначены для освобождения занятых ресурсов видеопамяти. Сам узел не обрабатывает и не изменяет входные данные, а просто передает их дальше без изменений.
Описание параметров узла - VRAM Debug
Входные соединения (Inputs)
| Имя параметра | Тип данных | Обязательный | Значение по умолчанию | Допустимые значения/Опции | Описание |
|---|---|---|---|---|---|
any_input | IO | Нет | - | - | any_input (входной параметр): Универсальный входной интерфейс, который может принимать данные любого типа. Узел не обрабатывает их, используя только как один из сигналов для запуска выполнения узла. |
image_pass | IMAGE | Нет | - | - | image_pass (выходной параметр): Возвращает входные данные изображения image_pass без изменений. |
model_pass | MODEL | Нет | - | - | model_pass (выходной параметр): Возвращает входные данные модели model_pass без изменений. |
Параметры управления (Parameters)
| Имя параметра | Тип данных | Обязательный | Значение по умолчанию | Допустимые значения/Опции | Описание |
|---|---|---|---|---|---|
empty_cache | БУЛЕВО | Да | Истина | - | empty_cache (входной параметр): Логический переключатель, определяющий, выполнять ли операцию мягкой очистки кэша для попытки освобождения видеопамяти. Включен по умолчанию. |
gc_collect | БУЛЕВО | Да | Истина | - | gc_collect (входной параметр): Логический переключатель, определяющий, выполнять ли принудительный сбор мусора (gc.collect()). Включен по умолчанию. |
unload_all_models | БУЛЕВО | Да | Ложь | - | unload_all_models (входной параметр): Логический переключатель, определяющий, выгружать ли все модели из памяти ComfyUI. Выключен по умолчанию. |
Выходные данные (Output)
| Имя параметра | Тип данных | Описание |
|---|---|---|
| any_output | ANY | any_output (выходной параметр): Возвращает входные данные any_input без изменений. |
| image_pass | IMAGE | image_pass (выходной параметр): Возвращает входные данные изображения image_pass без изменений. |
| model_pass | MODEL | model_pass (выходной параметр): Возвращает входные данные модели model_pass без изменений. |
| freemem_before | INT | freemem_before (выходной параметр): Объем свободной видеопамяти системы в байтах до выполнения каких-либо операций очистки. |
| freemem_after | INT | freemem_after (выходной параметр): Объем свободной видеопамяти системы в байтах после выполнения указанных операций очистки. |
Сценарии использования
В сложных рабочих процессах, при последовательной генерации нескольких изображений высокого разрешения или переключении между различными большими моделями, видеопамять может постепенно исчерпываться. В этом случае данный узел можно вставить в ключевые точки рабочего процесса (например, между двумя ресурсоемкими узлами). Активация его функций управления видеопамятью позволяет освободить пространство, обеспечивая успешное выполнение последующих узлов, а также контролировать эффект освобождения через выходные целочисленные значения.
Важные замечания
Этот узел в основном предназначен для отладки и мониторинга ресурсов. Выполняемая им операция выгрузки моделей (при включении) влияет на другие узлы в рабочем процессе, которые зависят от уже загруженных моделей. Поэтому рекомендуется размещать его на этапах рабочего процесса, где немедленное использование ранее загруженных моделей не требуется, или в качестве шага очистки перед завершением рабочего процесса.
Ссылка на исходный код узла VRAM Debug
Узел VRAM Debug взят из пакета узлов ComfyUI-KJNodes.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.