Commit Graph

220 Commits

Author SHA1 Message Date
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
Jacob Segal
f15bd84351 Merge remote-tracking branch 'upstream/master' into node_expansion 2023-09-02 21:08:31 -07:00
comfyanonymous
62efc78a4b Display history in reverse order to make it easier to load last gen. 2023-09-02 15:49:16 -04:00
comfyanonymous
36ea8784a8 Only return tuple of 3 args in CheckpointLoaderSimple. 2023-09-02 03:34:57 -04:00
Muhammed Yusuf
7891d13329
Added label for autoQueueCheckbox. (#1295)
* Added label for autoQueueCheckbox.

* Menu gets behind of some custom nodes.

* Edited extraOptions.
Options divided in to different divs to manage them with ease.
2023-09-02 02:58:23 -04:00
Michael Poutre
69c5e6de85
fix(widgets): Add options object if not present when forceInput: true 2023-08-31 17:58:43 -07:00
Michael Poutre
9a7a52f8b5
refactor/fix: Treat forceInput widgets as standard widgets 2023-08-31 17:58:43 -07:00
Dr.Lt.Data
d9f4922993
fix: cannot disable dynamicPrompts (#1327)
* fix: cannot disable dynamicPrompts

* indent fix

---------

Co-authored-by: Lt.Dr.Data <lt.dr.data@gmail.com>
2023-08-27 12:34:24 -04:00
ncpt
81ccacaa7c
Make the extensions loads in parallel instead of waiting one by one 2023-08-19 17:36:13 +07:00
comfyanonymous
7567c4ac8f Add bypass to readme and add a Bypass menu option to the nodes. 2023-08-15 13:28:34 -04:00
Jacob Segal
cb57c901cf Merge remote-tracking branch 'upstream/master' into node_expansion 2023-08-12 13:55:03 -07:00
comfyanonymous
5ac96897e9 Images can now be uploaded by dragging from another window in chromium. 2023-08-09 11:31:27 -04:00
comfyanonymous
0cb14a33f6 Fix issue with logging missing nodes. 2023-08-05 21:54:58 -04:00
pythongosssss
8918f1085c Add setting to change link render mode
Add support for combo settings
2023-08-04 21:26:11 +01:00
comfyanonymous
cb25b88329 Merge branch 'logging' of https://github.com/pythongosssss/ComfyUI 2023-08-04 12:12:39 -04:00
comfyanonymous
3d614dde49 Fix bug with reroutes and bypass. 2023-08-04 03:47:45 -04:00
pythongosssss
b2ea0cbd5c add logging 2023-08-04 08:30:01 +01:00
pythongosssss
43ae9fe721 add system stats function 2023-08-04 08:29:51 +01:00
comfyanonymous
d7638c47fc Fix ui inconsistency. 2023-08-04 03:22:47 -04:00
comfyanonymous
c99d8002f8 Make sure the pooled output stays at the EOS token with added embeddings. 2023-08-03 20:27:50 -04:00
comfyanonymous
077617e8c9 Fix bypassed nodes with no inputs. 2023-08-03 02:57:40 -04:00
comfyanonymous
19fbab6ce3 Fix reroute nodes not working with bypassed nodes. 2023-08-03 02:38:11 -04:00
comfyanonymous
05321fd947 Add an experimental CTRL-B shortcut to bypass nodes. 2023-08-03 01:57:00 -04:00
comfyanonymous
e4a3e9e54c Add an option in the UI to disable sliders. 2023-08-01 18:50:06 -04:00
comfyanonymous
38cfba0430 Rename toggle to boolean. 2023-08-01 03:08:35 -04:00
comfyanonymous
076d2db60f display_as -> display. 2023-07-31 22:41:54 -04:00
Guillaume Faguet
6cdc9afc7c pass slider type as option 2023-07-31 08:48:44 +02:00
Guillaume Faguet
d3d9ad00d8 added slider and toggle widget 2023-07-29 14:48:00 +02:00
Jacob Segal
88fc046180 Make BOOL an intrinsically supported type 2023-07-20 21:02:06 -07:00
comfyanonymous
907c9fbf0d Refactor to make it easier to set the api path. 2023-07-14 00:50:49 -04:00
comfyanonymous
30ea187160 Merge branch 'use-relative-paths' of https://github.com/mcmonkey4eva/ComfyUI 2023-07-13 23:56:29 -04:00
comfyanonymous
8a577966c5 Enables a way to save workflows in api format in frontend.
Enable the dev mode in the settings to see it.
2023-07-13 21:08:54 -04:00
comfyanonymous
876dadca84 Highlight nodes with errors in red even when workflow works fine. 2023-07-13 10:07:50 -04:00
comfyanonymous
2b2a1474f7 Move to litegraph. 2023-07-11 03:12:00 -04:00
Huang-Huang Bao
05e6eac7b3
Scale graph canvas based on DPI factor
Similar to fixes in litegraph.js editor demo:
3ef215cf11/editor/js/code.js (L19-L28)

Also workarounds to address viewpoint problem of lightgrapgh.js in DPI scaling scenario.

Fixes #161
2023-07-11 14:47:58 +08:00
Alex "mcmonkey" Goodwin
5797ff89b0 use relative paths for all web connections
This enables local reverse-proxies to host ComfyUI on a path, eg "http://example.com/ComfyUI/" in such a way that at least everything I tested works. Without this patch, proxying ComfyUI in this way will yield errors.
2023-07-10 02:09:03 -07:00
comfyanonymous
af15add967 Fix annoyance with textbox unselecting in chromium. 2023-07-09 15:41:19 -04:00
Dr.Lt.Data
d43cff2105 bugfix: image widget's was mis-aligned when node has multiline widget 2023-07-08 01:42:33 +09:00
comfyanonymous
9b93b920be Add CheckpointSave node to save checkpoints.
The created checkpoints contain workflow metadata that can be loaded by
dragging them on top of the UI or loading them with the "Load" button.

Checkpoints will be saved in fp16 or fp32 depending on the format ComfyUI
is using for inference on your hardware. To force fp32 use: --force-fp32

Anything that patches the model weights like merging or loras will be
saved.

The output directory is currently set to: output/checkpoints but that might
change in the future.
2023-06-26 12:22:27 -04:00
Dr.Lt.Data
c9f5d5b2e1
optimize: support preview mode for mask editor. (#755)
* support preview mode for mask editor.
* use original file reference instead of loaded frontend blob

bugfix:
* prevent file open dialog when save to load image

* bugfix: cannot clear previous mask painted image's alpha

* bugfix

* bugfix

---------

Co-authored-by: Lt.Dr.Data <lt.dr.data@gmail.com>
2023-06-24 03:45:41 -04:00
reaper47
96e8307bd3 Clean keybinds extension 2023-06-19 21:32:21 +02:00
reaper47
34ddbfdc8a Beautify settings dialog 2023-06-15 18:36:52 +02:00
ssit
0c874e604c Fix unhandled message "execution_cached" 2023-06-12 17:16:03 -04:00
Dr.Lt.Data
28677342c1 robust paste for image 2023-06-08 00:06:56 +09:00
Dr.Lt.Data
70e02b443f robust patch on pasteFromClipspace 2023-06-07 22:56:08 +09:00
Dr.Lt.Data
422163c2ba bugfix: Fixing the calculation issue when an image widget is added to the size calculation of the text widget. 2023-06-06 22:29:19 +09:00
space-nuko
48f7ec750c Make previews into cli option 2023-06-05 13:19:02 -05:00
space-nuko
1c40296d74 Fix 2023-06-05 09:20:20 -05:00
space-nuko
b4f434ee66 Preview sampled images with TAESD 2023-06-05 09:20:17 -05:00
comfyanonymous
2ec980bb9f Limit preview to webp and RGB jpeg. 2023-06-05 01:50:14 -04:00