ComfyUI/comfy
guill 7d4530f6f5
Rework Caching (#2)
This commit solves a number of bugs and adds some caching related
functionality. Specifically:

1. Caching is now input-based. In cases of completely identical nodes,
   the output will be reused (for example, if you have multiple
   LoadCheckpoint nodes loading the same checkpoint). If a node doesn't
   want this behavior (e.g. a `RandomInteger` node, it should set
   `NOT_IDEMPOTENT = True`.
2. This means that nodes within a component will now be cached and will
   only change if the input actually changes. Note that types that can't
   be hashed by default will always count as changed (though the
   component itself will only expand if one of its inputs changes).
3. A new LRU caching strategy is now available by starting with
   `--cache-lru 100`. With this strategy, in addition to the latest
   workflow being cached, up to N (100 in the example) node outputs will
   be retained. This allows users to work on multiple workflows or
   experiment with different inputs without losing the benefits of
   caching (at the cost of more RAM and VRAM). I intentionally left some
   additional debug print statements in for this strategy for the
   moment.
4. A new endpoint `/debugcache` has been temporarily added to assist
   with tracking down issues people encounter. It allows you to browse
   the contents of the cache.
5. Outputs from ephemeral nodes will now be communicated to the
   front-end with both the ephemeral node id, the 'parent' node id, and
   the 'display' node id. The front-end has been updated to deal with
   this.
2023-09-11 19:53:41 -07:00
..
cldm Remove autocast from controlnet code. 2023-08-20 21:47:32 -04:00
extra_samplers Refactor of sampler code to deal more easily with different model types. 2023-07-17 01:22:12 -04:00
k_diffusion Fix referenced before assignment 2023-08-17 22:30:07 +02:00
ldm Remove xformers related print. 2023-09-01 02:12:03 -04:00
sd1_tokenizer Initial commit. 2023-01-16 22:37:14 -05:00
t2i_adapter All resolutions now work with t2i adapter for SDXL. 2023-08-22 16:23:54 -04:00
taesd Refactor previews into one command line argument. 2023-06-06 02:13:05 -04:00
caching.py Rework Caching (#2) 2023-09-11 19:53:41 -07:00
checkpoint_pickle.py Remove pytorch_lightning dependency. 2023-06-13 10:11:33 -04:00
cli_args.py Rework Caching (#2) 2023-09-11 19:53:41 -07:00
clip_config_bigg.json This is unused but it should be 1280. 2023-06-28 18:04:23 -04:00
clip_vision_config_g.json Add support for clip g vision model to CLIPVisionLoader. 2023-08-18 11:13:29 -04:00
clip_vision_config_h.json Add support for unCLIP SD2.x models. 2023-04-01 23:19:15 -04:00
clip_vision_config_vitl.json Add support for unCLIP SD2.x models. 2023-04-01 23:19:15 -04:00
clip_vision.py Put clip vision outputs on the CPU. 2023-08-28 16:26:11 -04:00
controlnet.py Fix controlnet bug. 2023-09-01 02:01:08 -04:00
diffusers_convert.py Fix diffusers VAE loading. 2023-07-26 18:26:39 -04:00
diffusers_load.py Clean up DiffusersLoader node. 2023-08-30 12:57:07 -04:00
gligen.py Smarter memory management. 2023-08-17 01:06:34 -04:00
graph_utils.py Code cleanup 2023-08-09 00:54:42 -07:00
graph.py Rework Caching (#2) 2023-09-11 19:53:41 -07:00
latent_formats.py Support SDXL embedding format with 2 CLIP. 2023-07-10 10:34:59 -04:00
lora.py Implement loras with norm keys. 2023-08-28 11:20:06 -04:00
model_base.py Support SDXL inpaint models. 2023-09-01 15:22:52 -04:00
model_detection.py Support SDXL inpaint models. 2023-09-01 15:22:52 -04:00
model_management.py Enable bf16-vae by default on ampere and up. 2023-08-27 23:06:19 -04:00
model_patcher.py Fix error message in model_patcher.py 2023-08-30 00:25:04 -07:00
ops.py Initialize text encoder to target dtype. 2023-08-23 21:01:15 -04:00
sample.py Use common function to reshape batch to. 2023-09-02 03:42:49 -04:00
samplers.py It doesn't make sense for c_crossattn and c_concat to be lists. 2023-08-31 13:25:00 -04:00
sd1_clip_config.json Initial commit. 2023-01-16 22:37:14 -05:00
sd1_clip.py Move text_projection to base clip model. 2023-08-24 23:43:48 -04:00
sd2_clip_config.json Move text_projection to base clip model. 2023-08-24 23:43:48 -04:00
sd2_clip.py Initialize text encoder to target dtype. 2023-08-23 21:01:15 -04:00
sd.py Support SDXL inpaint models. 2023-09-01 15:22:52 -04:00
sdxl_clip.py Move text_projection to base clip model. 2023-08-24 23:43:48 -04:00
supported_models_base.py Move some functions to utils.py 2023-09-02 22:33:37 -04:00
supported_models.py Move some functions to utils.py 2023-09-02 22:33:37 -04:00
utils.py Move some functions to utils.py 2023-09-02 22:33:37 -04:00