Настройки патча модели Torch(ModelPatchTorchSettings)
Этот узел технически реализуется путем клонирования входной модели и привязки к ней функций обратного вызова `ON_PRE_RUN` и `ON_CLEANUP`.
Model Patch Torch Settings
Узел Model Patch Torch Settings технически реализуется путем клонирования входной модели и привязки к ней функций обратного вызова ON_PRE_RUN и ON_CLEANUP.
Model Patch Torch Settings — это экспериментальный узел, который позволяет пользователю динамически изменять низкоуровневые вычислительные настройки PyTorch до и после выполнения модели. Его основная функция заключается в добавлении функций обратного вызова, которые активируют определенные опции оптимизации производительности перед выполнением модели и восстанавливают исходные настройки после выполнения, обеспечивая тем самым точный контроль над вычислительным поведением модели.
Функциональность узла
Технически этот узел реализуется путем клонирования входной модели и привязки к ней функций обратного вызова ON_PRE_RUN и ON_CLEANUP. В настоящее время он в основном поддерживает управление настройкой torch.backends.cuda.matmul.allow_fp16_accumulation, которая влияет на разрешение использования накопления с половинной точностью (fp16) в операциях матричного умножения CUDA. Для работы этой функции требуется PyTorch версии 2.7.0 или выше (например, ночная сборка), в противном случае узел выдаст ошибку.
Описание параметров узла - Model Patch Torch Settings
Входные соединения (Inputs)
| Имя параметра | Тип данных | Обязательный | Значение по умолчанию | Допустимые значения/опции | Описание |
|---|---|---|---|---|---|
model | MODEL | Да | - | - | Входной параметр model: принимает модель для обработки. Узел добавит к этой модели функции обратного вызова для изменения настроек PyTorch. |
Параметры элементов управления (Parameters)
| Имя параметра | Тип данных | Обязательный | Значение по умолчанию | Допустимые значения/опции | Описание |
|---|---|---|---|---|---|
enable_fp16_accumulation | БУЛЕВО | Да | False | - | Включает torch.backends.cuda.matmul.allow_fp16_accumulation, требуется PyTorch 2.7.0 ночная сборка. |
Выходные данные (Output)
| Имя параметра | Тип данных | Описание |
|---|---|---|
| MODEL | MODEL | Выходной параметр MODEL: выводит новый экземпляр модели с присоединенными функциями обратного вызова для использования в последующем процессе генерации изображений. |
Сценарии использования
Этот узел очень полезен в рабочих процессах, связанных со сложным выводом модели или требующих оптимизации использования видеопамяти. Например, если вы используете большую модель Stable Diffusion для генерации изображений и хотите попробовать включить накопление fp16 для повышения скорости вычислений или уменьшения потребления видеопамяти, вы можете вставить этот узел после узла загрузки модели и перед узлом сэмплера, переключая булев параметр для тестирования разницы в производительности.
Важные замечания
Обратите внимание, что это узел, помеченный как «экспериментальный», его стабильность и совместимость могут быть ниже, чем у основных узлов. Самое важное ограничение заключается в том, что он должен работать на версии PyTorch, поддерживающей атрибут torch.backends.cuda.matmul.allow_fp16_accumulation (т.е. 2.7.1 или выше), иначе рабочий процесс не сможет быть выполнен.
Ссылка на исходный код узла Model Patch Torch Settings
Узел Model Patch Torch Settings взят из пакета узлов ComfyUI-KJNodes.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.