926 Commits

Author SHA1 Message Date
comfyanonymous
96dbbd23d8 Fix old python versions no longer working. 2024-08-01 09:57:20 -04:00
comfyanonymous
fc6a27f36c Basic Flux Schnell and Flux Dev model implementation. 2024-08-01 09:49:29 -04:00
comfyanonymous
339a710a7a Mac supports bf16 just make sure you are using the latest pytorch. 2024-08-01 09:42:17 -04:00
comfyanonymous
78c273b0ba Make lowvram less aggressive when there are large amounts of free memory. 2024-08-01 03:58:58 -04:00
comfyanonymous
a4b37c2939 Fix to get fp8 working on T5 base. 2024-07-31 02:00:19 -04:00
comfyanonymous
c5b754fbb6 Fix hunyuan dit text encoder weights always being in fp32. 2024-07-31 01:34:57 -04:00
comfyanonymous
4e9abfb0d5 Lower CLIP memory usage by a bit. 2024-07-31 01:32:35 -04:00
comfyanonymous
7f0000bc5a Lower T5 memory usage by a few hundred MB. 2024-07-31 00:52:34 -04:00
comfyanonymous
671fba8c0d Fix potential issue with non clip text embeddings. 2024-07-30 14:41:13 -04:00
comfyanonymous
36b0b2b215 Use common function for casting weights to input. 2024-07-30 10:49:14 -04:00
comfyanonymous
d0cc951625 Remove unnecessary code. 2024-07-30 05:01:34 -04:00
comfyanonymous
7f112b9d5d 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
comfyanonymous
79ea2d3d12 Refactor: Move sd2_clip.py to text_encoders folder. 2024-07-28 01:19:20 -04:00
comfyanonymous
f4a8f8db50 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
a787d2dfc0 Let hunyuan dit work with all prompt lengths. 2024-07-26 12:11:32 -04:00
comfyanonymous
1824ded587 Hunyuan dit can now accept longer prompts. 2024-07-26 11:52:58 -04:00
comfyanonymous
0a7029fabf Own BertModel implementation that works with lowvram. 2024-07-26 04:47:17 -04:00
comfyanonymous
080a8326a3 Hunyuan DiT lora support. 2024-07-25 22:42:54 -04:00
comfyanonymous
06fb93c0d1 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
15a95668ae Let tokenizers return weights to be stored in the saved checkpoint. 2024-07-25 10:52:09 -04:00
comfyanonymous
33e584b3bc Make it possible to load tokenizer data from checkpoints. 2024-07-24 16:43:53 -04:00
comfyanonymous
ba8920ca60 Remove duplicate code. 2024-07-24 01:12:59 -04:00
comfyanonymous
fe94df0894 Support MT5. 2024-07-23 15:35:28 -04:00
comfyanonymous
f5ebfaba43 Allow SPieceTokenizer to load model from a byte string. 2024-07-23 14:17:42 -04:00
comfyanonymous
b63c469865 More generic unet prefix detection code. 2024-07-23 14:13:32 -04:00
comfyanonymous
a7f1068957 Rename LLAMATokenizer to SPieceTokenizer. 2024-07-22 12:21:45 -04:00
comfyanonymous
e96e0fdf8b "auto" type is only relevant to the SetUnionControlNetType node. 2024-07-22 11:30:38 -04:00
Chenlei Hu
c79f809b56 Add error message on union controlnet (#4081) 2024-07-22 11:27:32 -04:00
comfyanonymous
78746a7499 Only append zero to noise schedule if last sigma isn't zero. 2024-07-20 12:37:30 -04:00
comfyanonymous
de738b5cb8 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
喵哩个咪
be69e2f9bb 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
bca1809588 Get clip vision image size from config. 2024-07-17 13:05:38 -04:00
comfyanonymous
2ef906e69f Fix lowvram union controlnet bug. 2024-07-17 10:16:31 -04:00
Thomas Ward
ebaa0c2cd3 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
8c2e920625 Add SetUnionControlNetType to set the type of the union controlnet model. 2024-07-16 17:04:53 -04:00
comfyanonymous
694c631173 Allow model sampling to set number of timesteps. 2024-07-16 15:18:40 -04:00
Chenlei Hu
cd3573c6a3 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
comfyanonymous
553fbe3407 Refactor: Move some code to the comfy/text_encoders folder. 2024-07-15 17:36:24 -04:00
comfyanonymous
7cd140ddb3 Quick fix for the promax controlnet. 2024-07-14 10:07:36 -04:00
comfyanonymous
29c17be75e 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
edce34f55e Better tokenizing code for AuraFlow. 2024-07-12 01:15:25 -04:00
comfyanonymous
1234807a19 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
4c066c4bc4 AuraFlow model implementation. 2024-07-11 16:52:26 -04:00
comfyanonymous
68f579e0e8 Fix error message never being shown. 2024-07-11 11:46:51 -04:00
comfyanonymous
1e3385c222 Cleaner support for loading different diffusion model types. 2024-07-11 11:37:31 -04:00
comfyanonymous
ecf278e391 Remove useless code. 2024-07-10 20:33:12 -04:00
comfyanonymous
238efd021c 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
27226fb151 Support returning text encoder attention masks. 2024-07-10 19:31:22 -04:00
Extraltodeus
e02530182b Add sampler_pre_cfg_function (#3979)
* Update samplers.py

* Update model_patcher.py
2024-07-09 16:20:49 -04:00
comfyanonymous
8f8587b1b8 Remove useless import. 2024-07-09 11:05:05 -04:00