From c827cba127b3830025234c24a8a76f997e533304 Mon Sep 17 00:00:00 2001 From: drunkplato <6413077+drunkplato@users.noreply.github.com> Date: Thu, 6 Mar 2025 12:02:34 +0000 Subject: [PATCH] update to latest comfy --- .../__pycache__/autoencoder.cpython-312.pyc | Bin 12968 -> 0 bytes comfy/ldm/models/autoencoder.py | 38 ------------------ main.py | 23 ++++++----- memedeck.py | 2 +- 4 files changed, 14 insertions(+), 49 deletions(-) delete mode 100644 comfy/ldm/models/__pycache__/autoencoder.cpython-312.pyc diff --git a/comfy/ldm/models/__pycache__/autoencoder.cpython-312.pyc b/comfy/ldm/models/__pycache__/autoencoder.cpython-312.pyc deleted file mode 100644 index 0c7be7c7f191aa4eaa8374f69b2ab531ff5393c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12968 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 diff --git a/comfy/ldm/models/autoencoder.py b/comfy/ldm/models/autoencoder.py index 02028ce3..e6493155 100644 --- a/comfy/ldm/models/autoencoder.py +++ b/comfy/ldm/models/autoencoder.py @@ -1,4 +1,3 @@ -<<<<<<< HEAD import logging import math import torch @@ -8,15 +7,6 @@ from typing import Any, Dict, Tuple, Union from comfy.ldm.modules.distributions.distributions import DiagonalGaussianDistribution from comfy.ldm.util import get_obj_from_str, instantiate_from_config -======= -import torch -from contextlib import contextmanager -from typing import Any, Dict, List, Optional, Tuple, Union - -from comfy.ldm.modules.distributions.distributions import DiagonalGaussianDistribution - -from comfy.ldm.util import instantiate_from_config ->>>>>>> 0e1536b4 (logic to upload images from this server) from comfy.ldm.modules.ema import LitEma import comfy.ops @@ -64,11 +54,7 @@ class AbstractAutoencoder(torch.nn.Module): if self.use_ema: self.model_ema = LitEma(self, decay=ema_decay) -<<<<<<< HEAD logging.info(f"Keeping EMAs of {len(list(self.model_ema.buffers()))}.") -======= - logpy.info(f"Keeping EMAs of {len(list(self.model_ema.buffers()))}.") ->>>>>>> 0e1536b4 (logic to upload images from this server) def get_input(self, batch) -> Any: raise NotImplementedError() @@ -84,22 +70,14 @@ class AbstractAutoencoder(torch.nn.Module): self.model_ema.store(self.parameters()) self.model_ema.copy_to(self) if context is not None: -<<<<<<< HEAD logging.info(f"{context}: Switched to EMA weights") -======= - logpy.info(f"{context}: Switched to EMA weights") ->>>>>>> 0e1536b4 (logic to upload images from this server) try: yield None finally: if self.use_ema: self.model_ema.restore(self.parameters()) if context is not None: -<<<<<<< HEAD logging.info(f"{context}: Restored training weights") -======= - logpy.info(f"{context}: Restored training weights") ->>>>>>> 0e1536b4 (logic to upload images from this server) def encode(self, *args, **kwargs) -> torch.Tensor: raise NotImplementedError("encode()-method of abstract base class called") @@ -108,11 +86,7 @@ class AbstractAutoencoder(torch.nn.Module): raise NotImplementedError("decode()-method of abstract base class called") def instantiate_optimizer_from_config(self, params, lr, cfg): -<<<<<<< HEAD logging.info(f"loading >>> {cfg['target']} <<< optimizer from config") -======= - logpy.info(f"loading >>> {cfg['target']} <<< optimizer from config") ->>>>>>> 0e1536b4 (logic to upload images from this server) return get_obj_from_str(cfg["target"])( params, lr=lr, **cfg.get("params", dict()) ) @@ -140,11 +114,7 @@ class AutoencodingEngine(AbstractAutoencoder): self.encoder: torch.nn.Module = instantiate_from_config(encoder_config) self.decoder: torch.nn.Module = instantiate_from_config(decoder_config) -<<<<<<< HEAD self.regularization = instantiate_from_config( -======= - self.regularization: AbstractRegularizer = instantiate_from_config( ->>>>>>> 0e1536b4 (logic to upload images from this server) regularizer_config ) @@ -192,7 +162,6 @@ class AutoencodingEngineLegacy(AutoencodingEngine): }, **kwargs, ) -<<<<<<< HEAD if ddconfig.get("conv3d", False): conv_op = comfy.ops.disable_weight_init.Conv3d @@ -200,19 +169,12 @@ class AutoencodingEngineLegacy(AutoencodingEngine): conv_op = comfy.ops.disable_weight_init.Conv2d self.quant_conv = conv_op( -======= - self.quant_conv = comfy.ops.disable_weight_init.Conv2d( ->>>>>>> 0e1536b4 (logic to upload images from this server) (1 + ddconfig["double_z"]) * ddconfig["z_channels"], (1 + ddconfig["double_z"]) * embed_dim, 1, ) -<<<<<<< HEAD self.post_quant_conv = conv_op(embed_dim, ddconfig["z_channels"], 1) -======= - self.post_quant_conv = comfy.ops.disable_weight_init.Conv2d(embed_dim, ddconfig["z_channels"], 1) ->>>>>>> 0e1536b4 (logic to upload images from this server) self.embed_dim = embed_dim def get_autoencoder_params(self) -> list: diff --git a/main.py b/main.py index 24f3d7a4..8613fe39 100644 --- a/main.py +++ b/main.py @@ -161,9 +161,9 @@ def cuda_malloc_warning(): logging.warning("\nWARNING: this card most likely does not support cuda-malloc, if you get \"CUDA error\" please run ComfyUI with: --disable-cuda-malloc\n") -def prompt_worker(q, server, memedeck_worker): +def prompt_worker(q, server_instance, memedeck_worker): current_time: float = 0.0 - e = execution.PromptExecutor(server, memedeck_worker, lru_size=args.cache_lru) + e = execution.PromptExecutor(server_instance, memedeck_worker, lru_size=args.cache_lru) # threading.Thread(target=memedeck_worker.start, daemon=True, args=(q, execution.validate_prompt)).start() last_gc_collect = 0 @@ -181,6 +181,8 @@ def prompt_worker(q, server, memedeck_worker): execution_start_time = time.perf_counter() prompt_id = item[1] server_instance.last_prompt_id = prompt_id + + print(item[2]) e.execute(item[2], prompt_id, item[3], item[4]) need_gc = True @@ -228,7 +230,7 @@ async def run(server_instance, memedeck_worker, address='', port=8188, verbose=T ) -def hijack_progress(server_instance): +def hijack_progress(server_instance, memedeck_worker): def hook(value, total, preview_image): comfy.model_management.throw_exception_if_processing_interrupted() progress = {"value": value, "max": total, "prompt_id": server_instance.last_prompt_id, "node": server_instance.last_node_id} @@ -312,9 +314,9 @@ def start_comfyui(asyncio_loop=None): cuda_malloc_warning() prompt_server.add_routes() - hijack_progress(server, memedeck_worker) + hijack_progress(prompt_server, memedeck_worker) - threading.Thread(target=prompt_worker, daemon=True, args=(q, server, memedeck_worker)).start() + threading.Thread(target=prompt_worker, daemon=True, args=(q, prompt_server, memedeck_worker)).start() threading.Thread(target=memedeck_worker.start, daemon=True, args=(q, execution.validate_prompt)).start() # set logging level to info @@ -357,20 +359,21 @@ def start_comfyui(asyncio_loop=None): async def start_all(): await prompt_server.setup() - await run(prompt_server, address=args.listen, port=args.port, verbose=not args.dont_print_server, call_on_start=call_on_start) - await run(server, memedeck_worker, address=args.listen, port=args.port, verbose=not args.dont_print_server, call_on_start=call_on_start) + # await run(prompt_server, address=args.listen, port=args.port, verbose=not args.dont_print_server, call_on_start=call_on_start) + await run(prompt_server, memedeck_worker, address=args.listen, port=args.port, verbose=not args.dont_print_server, call_on_start=call_on_start) # Returning these so that other code can integrate with the ComfyUI loop and server - return asyncio_loop, prompt_server, start_all - + return asyncio_loop, prompt_server, memedeck_worker, start_all if __name__ == "__main__": # Running directly, just start ComfyUI. logging.info("ComfyUI version: {}".format(comfyui_version.__version__)) - event_loop, _, start_all_func = start_comfyui() + event_loop, server, memedeck_worker, start_all_func = start_comfyui() try: event_loop.run_until_complete(start_all_func()) # event_loop.run_until_complete(run(server, memedeck_worker, address=args.listen, port=args.port, verbose=not args.dont_print_server, call_on_start=call_on_start)) + # event_loop.run_until_complete(start_all_func()) + # event_loop.run_until_complete(run(server, memedeck_worker, address=args.listen, port=args.port, verbose=not args.dont_print_server, call_on_start=call_on_start)) except KeyboardInterrupt: logging.info("\nStopped server") diff --git a/memedeck.py b/memedeck.py index 8008321f..8fe5e606 100644 --- a/memedeck.py +++ b/memedeck.py @@ -70,7 +70,7 @@ class MemedeckWorker: self.azure_storage = MemedeckAzureStorage() - if self.queue_name == 'video-gen-queue': + if self.queue_name == 'video-gen-queue' or self.queue_name == 'scene-gen-queue': print(f"[memedeck]: video gen only mode enabled") self.video_gen_only = True