Jacob Segal
6b6a93cc5d
Merge branch 'master' into execution_model_inversion
2024-03-23 16:31:14 -07:00
comfyanonymous
6a32c06f06
Move cleanup_models to improve performance.
2024-03-23 17:27:10 -04:00
comfyanonymous
2a813c3b09
Switch some more prints to logging.
2024-03-11 16:34:58 -04:00
comfyanonymous
e61755ead0
Update the old updater if present when running on the windows standalone.
2024-02-26 13:32:14 -05:00
Jacob Segal
36b2214e30
Execution Model Inversion
...
This PR inverts the execution model -- from recursively calling nodes to
using a topological sort of the nodes. This change allows for
modification of the node graph during execution. This allows for two
major advantages:
1. The implementation of lazy evaluation in nodes. For example, if a
"Mix Images" node has a mix factor of exactly 0.0, the second image
input doesn't even need to be evaluated (and visa-versa if the mix
factor is 1.0).
2. Dynamic expansion of nodes. This allows for the creation of dynamic
"node groups". Specifically, custom nodes can return subgraphs that
replace the original node in the graph. This is an incredibly
powerful concept. Using this functionality, it was easy to
implement:
a. Components (a.k.a. node groups)
b. Flow control (i.e. while loops) via tail recursion
c. All-in-one nodes that replicate the WebUI functionality
d. and more
All of those were able to be implemented entirely via custom nodes,
so those features are *not* a part of this PR. (There are some
front-end changes that should occur before that functionality is
made widely available, particularly around variant sockets.)
The custom nodes associated with this PR can be found at:
https://github.com/BadCafeCode/execution-inversion-demo-comfyui
Note that some of them require that variant socket types ("*") be
enabled.
2024-01-28 20:48:42 -08:00
comfyanonymous
56d9496b18
Rename status notes to status messages.
...
I think message describes them better.
2024-01-12 18:17:06 -05:00
realazthat
1b3d65bd84
Add error, status to /history endpoint
2024-01-11 10:16:42 -05:00
comfyanonymous
6d281b4ff4
Add a /free route to unload models or free all memory.
...
A POST request to /free with: {"unload_models":true}
will unload models from vram.
A POST request to /free with: {"free_memory":true}
will unload models and free all cached data from the last run workflow.
2024-01-04 17:15:22 -05:00
comfyanonymous
66831eb6e9
Add node id and prompt id to websocket progress packet.
2024-01-01 14:27:56 -05:00
comfyanonymous
2f9d6a97ec
Add --deterministic option to make pytorch use deterministic algorithms.
2023-12-17 16:59:21 -05:00
comfyanonymous
6b769bca01
Do a garbage collect after the interval even if nothing is running.
2023-11-30 15:22:32 -05:00
comfyanonymous
b911eefc42
Limit gc.collect() to once every 10 seconds.
2023-11-28 14:20:56 -05:00
comfyanonymous
be903eb2e2
Add default CheckpointSave, CLIPSave and VAESave paths to model paths.
2023-10-10 01:25:47 -04:00
Jairo Correa
63e5fd1790
Option to input directory
2023-10-04 19:45:15 -03:00
comfyanonymous
3039b08eb1
Only parse command line args when main.py is called.
2023-09-13 11:38:20 -04:00
comfyanonymous
326577d04c
Allow cancelling of everything with a progress bar.
2023-09-07 23:37:03 -04:00
comfyanonymous
861fd58819
Add a warning if a card that doesn't support cuda malloc has it enabled.
2023-08-13 12:37:53 -04:00
comfyanonymous
2bc12d3d22
Add --temp-directory argument to set temp directory.
2023-08-11 05:13:03 -04:00
comfyanonymous
eb5191f911
0.0.0.0 doesn't work on windows.
2023-08-01 01:15:18 -04:00
comfyanonymous
ccb6b70de1
Move image encoding outside of sampling loop for better preview perf.
2023-07-19 18:06:58 -04:00
comfyanonymous
799c08a4ce
Auto disable cuda malloc on some GPUs on windows.
2023-07-19 14:43:55 -04:00
comfyanonymous
9871a15cf9
Enable --cuda-malloc by default on torch 2.0 and up.
...
Add --disable-cuda-malloc to disable it.
2023-07-17 15:12:10 -04:00
comfyanonymous
1679abd86d
Add a command line argument to enable backend:cudaMallocAsync
2023-07-17 11:00:14 -04:00
comfyanonymous
6f914fb77d
Print prestartup times for custom nodes.
2023-07-13 13:01:45 -04:00
Dr.Lt.Data
99abcbef41
feat/startup-script: Feature to avoid package installation errors when installing custom nodes. ( #856 )
...
* support startup script for installation without locking on windows
* modified: Instead of executing scripts from the startup-scripts directory, I will change it to execute the prestartup_script.py for each custom node.
2023-07-11 02:33:21 -04:00
comfyanonymous
103c487a89
Cleanup.
2023-07-02 11:58:23 -04:00
comfyanonymous
d52ed407a7
Send websocket message only when prompt is actually done executing.
2023-06-13 13:38:43 -04:00
reaper47
5cf4079923
Give linux some love
2023-06-07 15:15:38 +02:00
space-nuko
48f7ec750c
Make previews into cli option
2023-06-05 13:19:02 -05:00
space-nuko
38bc02bb40
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
1dd846a7ba
Fix outputs gone from history.
2023-05-15 00:27:28 -04:00
comfyanonymous
dfc74c19d9
Add the prompt_id to some websocket messages.
2023-05-11 01:22:40 -04:00
comfyanonymous
d6dee8af1d
Only validate each input once.
2023-05-10 00:29:31 -04:00
EllangoK
8e03c789a2
auto-launch cli arg
2023-05-06 16:59:40 -04:00
comfyanonymous
93c64afaa9
Use sampler callback instead of tqdm hook for progress bar.
2023-05-02 23:00:49 -04:00
comfyanonymous
74fc7b7726
custom_nodes paths can now be set in the extra_model_paths.yaml
2023-04-16 01:46:43 -04:00
EllangoK
28fff5d1db
fixes lack of support for multi configs
...
also adds some metavars to argarse
2023-04-06 19:06:39 -04:00
EllangoK
e5e587b1c0
seperates out arg parser and imports args
2023-04-05 23:41:23 -04:00
EllangoK
dd29966f8a
changes main.py to use argparse
2023-04-05 22:36:40 -04:00
comfyanonymous
f816964847
Add a way to set output directory with --output-directory
2023-04-05 14:29:30 -04:00
comfyanonymous
6be7c64245
Merge branch 'custom_routes' of https://github.com/pythongosssss/ComfyUI
2023-04-02 01:55:05 -04:00
comfyanonymous
66f1f57615
Add --extra-model-paths-config to --help.
2023-04-02 01:54:44 -04:00
pythongosssss
313f1f83a6
Tweak server/custom node load order
...
- Load custom nodes after creating server
- Add routes after loading custom nodes
Custom nodes can now add routes via PromptServer.instance
2023-04-01 12:44:29 +01:00
comfyanonymous
5218e5d596
Command line option to set CUDA device.
2023-03-29 23:28:21 -04:00
comfyanonymous
31dd6c0531
Add way to specify listen ip with --listen.
2023-03-28 01:42:34 -04:00
comfyanonymous
51d6427ddf
Add support for loading extra paths from yaml file.
...
Rename extra_model_paths.yaml.example to extra_model_paths.yaml and edit
it to point to your other UI.
2023-03-18 02:52:43 -04:00
comfyanonymous
5ad9f86514
Do a quick test on the CI to see if ComfyUI actually runs before pushing
...
the build.
2023-03-14 23:02:57 -04:00
comfyanonymous
ff255d9dcd
Make sure windows permission issues don't mess things up.
2023-03-14 18:07:09 -04:00
pythongosssss
6db777b348
Added ability to save images to temp dir
2023-03-13 19:34:05 +00:00