Commit Graph

1292 Commits

Author SHA1 Message Date
comfyanonymous
b85216a3c0 Lower T5 memory usage by a few hundred MB. 2024-07-31 00:52:34 -04:00
doctorpangloss
01f2ecbfb1 Improve messaging 2024-07-30 17:10:06 -07:00
doctorpangloss
ce5fe01768 Improve performance and memory management of upscale models, improve messaging on models loaded and unloaded from the GPU 2024-07-30 17:05:53 -07:00
comfyanonymous
82cae45d44 Fix potential issue with non clip text embeddings. 2024-07-30 14:41:13 -04:00
doctorpangloss
a94cd0b626 Fix pylint issues 2024-07-30 11:40:03 -07:00
doctorpangloss
4e851e2cfa Fix torch 2.4.0 fix 2024-07-30 11:17:32 -07:00
doctorpangloss
34522e0914 Merge branch 'master' of github.com:comfyanonymous/ComfyUI 2024-07-30 11:11:45 -07:00
comfyanonymous
25853d0be8 Use common function for casting weights to input. 2024-07-30 10:49:14 -04:00
comfyanonymous
79040635da Remove unnecessary code. 2024-07-30 05:01:34 -04:00
comfyanonymous
66d35c07ce Improve artifacts on hydit, auraflow and SD3 on specific resolutions.
This breaks seeds for resolutions that are not a multiple of 16 in pixel
resolution by using circular padding instead of reflection padding but
should lower the amount of artifacts when doing img2img at those
resolutions.
2024-07-29 20:48:50 -04:00
doctorpangloss
3dc2942119 README now documents REST API usage with examples. Also always enable Save (API) 2024-07-29 08:01:19 -07:00
comfyanonymous
4ba7fa0244 Refactor: Move sd2_clip.py to text_encoders folder. 2024-07-28 01:19:20 -04:00
comfyanonymous
cf4418b806 Don't treat Bert model like CLIP.
Bert can accept up to 512 tokens so any prompt with more than 77 should
just be passed to it as is instead of splitting it up like CLIP.
2024-07-26 13:08:12 -04:00
comfyanonymous
8328a2d8cd Let hunyuan dit work with all prompt lengths. 2024-07-26 12:11:32 -04:00
comfyanonymous
afe732bef9 Hunyuan dit can now accept longer prompts. 2024-07-26 11:52:58 -04:00
comfyanonymous
a9ac56fc0d Own BertModel implementation that works with lowvram. 2024-07-26 04:47:17 -04:00
comfyanonymous
25b51b1a8b Hunyuan DiT lora support. 2024-07-25 22:42:54 -04:00
comfyanonymous
a5f4292f9f
Basic hunyuan dit implementation. (#4102)
* Let tokenizers return weights to be stored in the saved checkpoint.

* Basic hunyuan dit implementation.

* Fix some resolutions not working.

* Support hydit checkpoint save.

* Init with right dtype.

* Switch to optimized attention in pooler.

* Fix black images on hunyuan dit.
2024-07-25 18:21:08 -04:00
comfyanonymous
f87810cd3e Let tokenizers return weights to be stored in the saved checkpoint. 2024-07-25 10:52:09 -04:00
comfyanonymous
10c919f4c7 Make it possible to load tokenizer data from checkpoints. 2024-07-24 16:43:53 -04:00
comfyanonymous
10b43ceea5 Remove duplicate code. 2024-07-24 01:12:59 -04:00
doctorpangloss
5c5e101ba3 Fix uv support and better protobuf spec 2024-07-23 17:03:25 -07:00
comfyanonymous
0a4c49c57c Support MT5. 2024-07-23 15:35:28 -04:00
comfyanonymous
88ed893034 Allow SPieceTokenizer to load model from a byte string. 2024-07-23 14:17:42 -04:00
comfyanonymous
334ba48cea More generic unet prefix detection code. 2024-07-23 14:13:32 -04:00
comfyanonymous
14764aa2e2 Rename LLAMATokenizer to SPieceTokenizer. 2024-07-22 12:21:45 -04:00
comfyanonymous
b2c995f623 "auto" type is only relevant to the SetUnionControlNetType node. 2024-07-22 11:30:38 -04:00
Chenlei Hu
4151fbfa8a
Add error message on union controlnet (#4081) 2024-07-22 11:27:32 -04:00
Benjamin Berman
a7a84fe747 Merge branch 'add-group-templating' of https://github.com/hku/ComfyUI into pr-2788 2024-07-21 14:37:12 -07:00
comfyanonymous
95fa9545f1 Only append zero to noise schedule if last sigma isn't zero. 2024-07-20 12:37:30 -04:00
Benjamin Berman
cf9fdc5feb
Traversable differences between python 3.10 and 3.11 2024-07-19 22:20:39 -07:00
doctorpangloss
87ab9d42d0 Merge branch 'execution_model_inversion' of github.com:guill/ComfyUI into pr-execution 2024-07-19 17:49:41 -07:00
comfyanonymous
6ab8cad22e Implement beta sampling scheduler.
It is based on: https://arxiv.org/abs/2407.12173

Add "beta" to the list of schedulers and the BetaSamplingScheduler node.
2024-07-19 18:05:09 -04:00
doctorpangloss
499545c373 Improve requirements.txt for faster installation, improve validation error reporting 2024-07-19 09:16:18 -07:00
doctorpangloss
0c34c2b99d Fix #13 audio nodes now work and test correctly 2024-07-18 17:15:44 -07:00
doctorpangloss
cc99d89ac6 Merge branch 'master' of github.com:comfyanonymous/ComfyUI 2024-07-18 16:31:21 -07:00
doctorpangloss
baf19e8563 Fix downloading URL files 2024-07-18 13:26:20 -07:00
doctorpangloss
5459cfa832 Improve model downloading, add FolderPaths object for custom nodes 2024-07-17 17:20:47 -07:00
喵哩个咪
855789403b
support clip-vit-large-patch14-336 (#4042)
* support clip-vit-large-patch14-336

* support clip-vit-large-patch14-336
2024-07-17 13:12:50 -04:00
comfyanonymous
6f7869f365 Get clip vision image size from config. 2024-07-17 13:05:38 -04:00
comfyanonymous
281ad42df4 Fix lowvram union controlnet bug. 2024-07-17 10:16:31 -04:00
doctorpangloss
d98c2c5456 Fix missing __init__.py 2024-07-16 15:30:59 -07:00
Thomas Ward
c5a48b15bd
Make default hash lib configurable without code changes via CLI argument (#3947)
* cli_args: Add --duplicate-check-hash-function.

* server.py: compare_image_hash configurable hash function

Uses an argument added in cli_args to specify the type of hashing to default to for duplicate hash checking.  Uses an `eval()` to identify the specific hashlib class to utilize, but ultimately safely operates because we have specific options and only those options/choices in the arg parser.  So we don't have any unsafe input there.

* Add hasher() to node_helpers

* hashlib selection moved to node_helpers

* default-hashing-function instead of dupe checking hasher

This makes a default-hashing-function option instead of previous selected option.

* Use args.default_hashing_function

* Use safer handling for node_helpers.hasher()

Uses a safer handling method than `eval` to evaluate default hashing function.

* Stray parentheses are evil.

* Indentation fix.

Somehow when I hit save I didn't notice I missed a space to make indentation work proper.  Oops!
2024-07-16 18:27:09 -04:00
comfyanonymous
8270c62530 Add SetUnionControlNetType to set the type of the union controlnet model. 2024-07-16 17:04:53 -04:00
doctorpangloss
72baecad87 Improve logging and tracing for validation errors 2024-07-16 12:26:30 -07:00
comfyanonymous
821f93872e Allow model sampling to set number of timesteps. 2024-07-16 15:18:40 -04:00
Chenlei Hu
99458e8aca
Add FrontendManager to manage non-default front-end impl (#3897)
* Add frontend manager

* Add tests

* nit

* Add unit test to github CI

* Fix path

* nit

* ignore

* Add logging

* Install test deps

* Remove 'stable' keyword support

* Update test

* Add web-root arg

* Rename web-root to front-end-root

* Add test on non-exist version number

* Use repo owner/name to replace hard coded provider list

* Inline cmd args

* nit

* Fix unit test
2024-07-16 11:26:11 -04:00
doctorpangloss
a20bf8134d Fix AuraFlow 2024-07-15 15:29:49 -07:00
comfyanonymous
1305fb294c Refactor: Move some code to the comfy/text_encoders folder. 2024-07-15 17:36:24 -04:00
doctorpangloss
3d1d833e6f Merge branch 'master' of github.com:comfyanonymous/ComfyUI 2024-07-15 14:22:49 -07:00
doctorpangloss
15d21b66d7 Fix stray folder_paths file; improve node importing errors 2024-07-15 10:46:05 -07:00
comfyanonymous
7914c47d5a Quick fix for the promax controlnet. 2024-07-14 10:07:36 -04:00
comfyanonymous
a3dffc447a Support AuraFlow Lora and loading model weights in diffusers format.
You can load model weights in diffusers format using the UNETLoader node.
2024-07-13 13:51:40 -04:00
comfyanonymous
29c2e26724 Better tokenizing code for AuraFlow. 2024-07-12 01:15:25 -04:00
comfyanonymous
8e012043a9 Add a ModelSamplingAuraFlow node to change the shift value.
Set the default AuraFlow shift value to 1.73 (sqrt(3)).
2024-07-11 17:57:36 -04:00
comfyanonymous
9f291d75b3 AuraFlow model implementation. 2024-07-11 16:52:26 -04:00
comfyanonymous
f45157e3ac Fix error message never being shown. 2024-07-11 11:46:51 -04:00
comfyanonymous
5e1fced639 Cleaner support for loading different diffusion model types. 2024-07-11 11:37:31 -04:00
comfyanonymous
ffe0bb0a33 Remove useless code. 2024-07-10 20:33:12 -04:00
comfyanonymous
391c1046cf More flexibility with text encoder return values.
Text encoders can now return other values to the CONDITIONING than the cond
and pooled output.
2024-07-10 20:06:50 -04:00
comfyanonymous
e44fa5667f Support returning text encoder attention masks. 2024-07-10 19:31:22 -04:00
Benjamin Berman
0b45fa8db1 Fix model downloader 2024-07-09 22:52:25 -07:00
Extraltodeus
f1a01c2c7e
Add sampler_pre_cfg_function (#3979)
* Update samplers.py

* Update model_patcher.py
2024-07-09 16:20:49 -04:00
doctorpangloss
3d67224937 Improve model downloading from Hugging Face Hub 2024-07-09 12:57:33 -07:00
comfyanonymous
ade7aa1b0c Remove useless import. 2024-07-09 11:05:05 -04:00
comfyanonymous
faa57430b0 Controlnet union model basic implementation.
This is only the model code itself, it currently defaults to an empty
embedding [0] * 6 which seems to work better than treating it like a
regular controlnet.

TODO: Add nodes to select the image type.
2024-07-08 23:49:02 -04:00
doctorpangloss
da21da1d8c The first image in the workflow should be outputted, not the last. 2024-07-08 10:21:45 -07:00
doctorpangloss
a1fee05e60 Improve configuration via files, including automatically updating configuration when configuration files change. 2024-07-08 10:01:17 -07:00
comfyanonymous
bb663bcd6c Rename clip_t5base to t5base for stable audio text encoder. 2024-07-08 08:53:55 -04:00
comfyanonymous
2dc84d1444 Add a way to set the timestep multiplier in the flow sampling. 2024-07-06 04:06:03 -04:00
comfyanonymous
ff63893d10 Support other types of T5 models. 2024-07-06 02:42:53 -04:00
comfyanonymous
4040491149 Better T5xxl detection. 2024-07-06 00:53:33 -04:00
comfyanonymous
b8e58a9394 Cleanup T5 code a bit. 2024-07-06 00:36:49 -04:00
comfyanonymous
80c4590998 Allow specifying the padding token for the tokenizer. 2024-07-06 00:06:49 -04:00
comfyanonymous
ce649d61c0 Allow zeroing out of embeds with unused attention mask. 2024-07-05 23:48:17 -04:00
doctorpangloss
b6b97574dc Handle CPU torch more gracefully 2024-07-05 10:47:06 -07:00
doctorpangloss
cf2eaedc5b Fix tests 2024-07-05 10:37:28 -07:00
comfyanonymous
739b76630e Remove useless code. 2024-07-04 15:14:13 -04:00
doctorpangloss
a13088ccec Merge upstream 2024-07-04 11:58:55 -07:00
doctorpangloss
95d47276e9 Improve tests and distributed error notifications
- Tests now perform faster
 - Tests will run on supported GPU platforms
 - Configuration has known issues related to setting up a working
   directory for an embedded client
 - Introduce a Skeletonize node that solves many problems with Canny
 - Improve behavior of exception reporting
2024-07-04 10:16:02 -07:00
comfyanonymous
d7484ef30c Support loading checkpoints with the UNETLoader node. 2024-07-03 11:34:32 -04:00
comfyanonymous
537f35c7bc Don't update dict if contiguous. 2024-07-02 20:21:51 -04:00
Alex "mcmonkey" Goodwin
3f46362d22
fix non-contiguous tensor saving (from channels-last) (#3932) 2024-07-02 20:16:33 -04:00
Chenlei Hu
9dd549e253
Add --no-custom-node cmd flag (#3903)
* Add --no-custom-node cmd flag

* nit
2024-07-01 17:54:03 -04:00
comfyanonymous
05e831697a Switch to the real cfg++ method in the samplers.
The old _pp ones will be updated automatically to the regular ones with 2x
the cfg.

My fault for not checking what the "_pp" samplers actually did.
2024-06-29 11:59:48 -04:00
doctorpangloss
dbc2a4ba29 Disable this lint warning 2024-06-28 18:45:15 -07:00
doctorpangloss
2cad5ec0d6 LoRA test 2024-06-28 17:06:29 -07:00
comfyanonymous
264caca20e ControlNetApplySD3 node can now be used to use SD3 controlnets. 2024-06-27 18:43:11 -04:00
comfyanonymous
f8f7568d03 Basic SD3 controlnet implementation.
Still missing the node to properly use it.
2024-06-27 18:43:11 -04:00
comfyanonymous
66aaa14001 Controlnet refactor. 2024-06-27 18:43:11 -04:00
comfyanonymous
8ceb5a02a3 Support saving stable audio checkpoint that can be loaded back. 2024-06-27 11:06:52 -04:00
comfyanonymous
4f9d2b057c Remove print. 2024-06-27 02:54:15 -04:00
comfyanonymous
44947e7ad4 Add DEIS order 3 sampler.
Order 4 seems to give bad results.
2024-06-26 22:40:05 -04:00
comfyanonymous
69d710e40f Implement my alternative take on CFG++ as the euler_pp sampler.
Add euler_ancestral_pp which is the ancestral version of euler with the
same modification.
2024-06-25 07:41:52 -04:00
comfyanonymous
73ca780019 Add SamplerEulerCFG++ node.
This node should match the DDIM implementation of CFG++ when "regular" is
selected.

"alternative" is a slightly different take on CFG++
2024-06-23 13:21:18 -04:00
comfyanonymous
2f360ae898 Support OneTrainer SD3 lora format. 2024-06-22 13:08:04 -04:00
comfyanonymous
4ef1479dcd Multi dimension tiled scale function and tiled VAE audio encoding fallback. 2024-06-22 11:57:49 -04:00
comfyanonymous
1e2839f4d9 More proper tiled audio decoding. 2024-06-20 16:50:31 -04:00
doctorpangloss
a315ec1c0a Assume JSON config files are text, utf-8 encoded 2024-06-20 10:17:04 -07:00
comfyanonymous
d5efde89b7 Add ipndm_v sampler, works best with the exponential scheduler. 2024-06-20 08:51:49 -04:00
doctorpangloss
faba95d94a Suppress with # pylint: disable=assignment-from-none because these are legit 2024-06-19 20:47:35 -07:00
doctorpangloss
185ba7e990 Reformat model_base 2024-06-19 20:43:20 -07:00
comfyanonymous
028a583bef Fix issue with full diffusers SD3 loras. 2024-06-19 22:32:04 -04:00
comfyanonymous
0d6a57938e Support loading diffusers SD3 model format with UNETLoader node. 2024-06-19 22:21:18 -04:00
comfyanonymous
b08a9dd04b Remove empty line. 2024-06-19 20:20:35 -04:00
Mario Klingemann
eee815ec99
Update sd1_clip.py (#3684)
Made token instance check more flexible so it also works with integers from numpy arrays or long tensors
2024-06-19 16:42:41 -04:00
doctorpangloss
facf68e7b9 These should not raise NotImplemented 2024-06-19 13:40:42 -07:00
doctorpangloss
92f435aba3 Fix progress updates 2024-06-19 13:40:28 -07:00
comfyanonymous
e11052afcf Add ipndm sampler. 2024-06-19 16:32:30 -04:00
doctorpangloss
68f410b8da Autogenerated code is too sensitive to small changes 2024-06-19 09:42:14 -07:00
comfyanonymous
3914d5a2ae Support full SD3 loras. 2024-06-19 10:13:33 -04:00
doctorpangloss
6015c4132f Fix more unreferenced variables 2024-06-18 21:24:10 -07:00
doctorpangloss
2aecff06ff Fixing missing __init__.py and other errors that appear when using an IDE 2024-06-18 21:16:37 -07:00
doctorpangloss
45d553e970 When using quick_test_for_ci, raise import errors 2024-06-18 19:41:22 -07:00
comfyanonymous
a45df69570 Basic tiled decoding for audio VAE. 2024-06-17 22:48:23 -04:00
doctorpangloss
8cdc246450 Merge branch 'master' of github.com:comfyanonymous/ComfyUI 2024-06-17 16:19:48 -07:00
Janek Mann
b7c473d1ab
Fix lora keys for SimpleTuner (#3759) 2024-06-17 07:55:06 -04:00
Jacob Segal
9d624564fa Merge branch 'master' into execution_model_inversion 2024-06-16 19:08:09 -07:00
Jacob Segal
8d17f3c7bf Fix ui output for duplicated nodes 2024-06-16 18:39:24 -07:00
doctorpangloss
aab3b6c5a4 Remove unused k_diffusion utils code 2024-06-16 11:27:01 -07:00
comfyanonymous
6425252c4f Use fp16 as the default vae dtype for the audio VAE. 2024-06-16 13:12:54 -04:00
comfyanonymous
8ddc151a4c Squash depreciation warning on new pytorch. 2024-06-16 13:06:23 -04:00
comfyanonymous
ca9d300a80 Better estimation for memory usage during audio VAE encoding/decoding. 2024-06-16 11:47:32 -04:00
comfyanonymous
746a0410d4 Fix VAEEncode with taesd3. 2024-06-16 03:10:04 -04:00
comfyanonymous
04e8798c37 Improvements to the TAESD3 implementation. 2024-06-16 02:04:24 -04:00
Dr.Lt.Data
df7db0e027
support TAESD3 (#3738) 2024-06-16 02:03:53 -04:00
comfyanonymous
bb1969cab7 Initial support for the stable audio open model. 2024-06-15 12:14:56 -04:00
comfyanonymous
1281f933c1 Small optimization. 2024-06-15 02:44:38 -04:00
comfyanonymous
f2e844e054 Optimize some unneeded if conditions in the sampling code. 2024-06-15 02:26:19 -04:00
comfyanonymous
0ec513d877 Add a --force-channels-last to inference models in channel last mode. 2024-06-15 01:08:12 -04:00
Max Tretikov
878f10f143 Fix scheme.py errors 2024-06-14 16:47:34 -06:00
comfyanonymous
0e06b370db Print key names for easier debugging. 2024-06-14 18:18:53 -04:00
Max Tretikov
cbe69364db Lowercase T for torch.tensor 2024-06-14 15:58:59 -06:00
Max Tretikov
205b240a89 Add an exception if history API can't be reached 2024-06-14 14:47:54 -06:00
Max Tretikov
bd59bae606 Fix compile_core in comfy.ldm.modules.diffusionmodules.mmdit 2024-06-14 14:43:55 -06:00
Max Tretikov
891154b79e Ensure ema is defined before operating on it 2024-06-14 14:37:50 -06:00
Max Tretikov
c364e42a11 Remove autoencoder legacy method 2024-06-14 14:34:57 -06:00
Max Tretikov
a248c4c141 Change query parameters to recommended usage of TypedDict 2024-06-14 14:33:11 -06:00
Max Tretikov
935f6c2061 Add pylint ignore for importlib.abc.Traversable 2024-06-14 14:20:07 -06:00
Max Tretikov
36326226f7 Change default value for clip_type to exception 2024-06-14 14:14:00 -06:00
Max Tretikov
54e6b82d2c Add default value for clip_type in comfy.nodes.base_nodes 2024-06-14 14:12:45 -06:00
Max Tretikov
8b091f02de Add xformer.ops imports 2024-06-14 14:09:46 -06:00
Max Tretikov
ee44e3b1d7 Fix errors in comfy.extra_samplers.uni_pc 2024-06-14 13:40:10 -06:00
Max Tretikov
9ad840e614 Fix import paths in comfy.cmd.main 2024-06-14 13:20:34 -06:00
Max Tretikov
d06c38d5b4 Fix logging string formatting in main_pre.py 2024-06-14 13:19:15 -06:00
Max Tretikov
ee9daa3a5c Add NotImplementedError for LatentPreviewer.decode_latent_to_preview 2024-06-14 13:18:24 -06:00
Max Tretikov
9cf4f9830f Coalesce directml_enabled and directml_device into one variable 2024-06-14 13:16:05 -06:00
Max Tretikov
5cd4ca9906 Fix function name dupes in comfy.cmd.server 2024-06-14 12:42:40 -06:00
Max Tretikov
3d1d67a2d7 Remove remaining classproperty decorators in comfy.api.schemas 2024-06-14 12:04:35 -06:00
Max Tretikov
122fe824ec Recompose classproperty decorator and fix super calls on dynamic type in comfy.api.schemas.schema 2024-06-14 12:01:28 -06:00