Commit Graph

2369 Commits

Author SHA1 Message Date
comfyanonymous e1630391d6 Allow version names like v0.0.1 for the FrontendManager. 2024-07-16 11:29:38 -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
comfyanonymous 33346fd9b8 Fix bug with custom nodes on other drives. 2024-07-15 20:38:26 -04:00
comfyanonymous 136c93cb47 Fix bug with workflow not registering change.
There was an issue when only the class type of a node changed with all the
inputs staying the same.
2024-07-15 20:01:49 -04:00
comfyanonymous 1305fb294c Refactor: Move some code to the comfy/text_encoders folder. 2024-07-15 17:36:24 -04:00
comfyanonymous 7914c47d5a Quick fix for the promax controlnet. 2024-07-14 10:07:36 -04:00
pythongosssss 79547efb65
New menu fixes - fix send to workflow (#3909)
* Fix send to workflow
Fix center align of close workflow dialog
Better support for elements around canvas

* More resilent to extra elements added to body
2024-07-14 02:04:40 -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 ce2473bb01 Add link to AuraFlow example in Readme. 2024-07-12 15:25:07 -04:00
Robin Huang 4ca9b9cc29
Add Github Workflow for releasing stable versions and standalone bundle. (#3949)
* Add stable release.

* Only build CUDA 12.1 + 3.11 Python.

* Upgrade checkout and setup-python to latest version.

* lzma2

* Update artifact name to be ComfyUI_windows_portable_nvidia.7z
2024-07-12 13:33:57 -04:00
comfyanonymous 29c2e26724 Better tokenizing code for AuraFlow. 2024-07-12 01:15:25 -04:00
comfyanonymous b6f09cf649 Add sentencepiece dependency. 2024-07-11 22:58:03 -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
Chenlei Hu 90389b3b8a
Update bug issue template (#3996)
* Update issue template

* nit
2024-07-10 11:28:15 -04:00
Chenlei Hu 8d3f979b63
Check unhandled exception in test log in test action (#3987)
* Upload console logs

* Check unhandled exception
2024-07-09 17:12:57 -04:00
Chenlei Hu 83f70a88fb
Add __module__ to node info (#3936)
Use more explicit name 'python_module'

Parse abs ath

Move parse to nodes.py
2024-07-09 17:07:15 -04:00
Extraltodeus f1a01c2c7e
Add sampler_pre_cfg_function (#3979)
* Update samplers.py

* Update model_patcher.py
2024-07-09 16:20:49 -04:00
comfyanonymous c3db344746 Fix ConditioningZeroOut when there is no pooled output. 2024-07-09 11:52:31 -04:00
bymyself d160073829
Fix loadGraphData call during restore (#3976) 2024-07-09 11:23:26 -04: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
comfyanonymous bb663bcd6c Rename clip_t5base to t5base for stable audio text encoder. 2024-07-08 08:53:55 -04:00
comfyanonymous 628f0b8ebc Move audio nodes out of _for_testing. 2024-07-07 09:22:32 -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
comfyanonymous b4c2d03d47 Remove duplicate import. 2024-07-05 12:10:22 -04:00
comfyanonymous 1dc87df4c5 Readme changes. 2024-07-04 22:03:37 -04:00
comfyanonymous cedbc94cc0 Forgot this in last commit. 2024-07-04 21:49:50 -04:00
comfyanonymous bd2d3e27d7 Show comfy_extras warning at the end.
Remove code.
2024-07-04 21:44:27 -04:00
comfyanonymous 720b17442d Temporary revert. 2024-07-04 21:09:58 -04:00
Chenlei Hu 0e3dfd9e34
Use relative path for custom/extra node module name (#3944)
* Fix module name for comfy extra nodes

* Use module name relative to root dir
2024-07-04 20:49:07 -04:00
comfyanonymous 739b76630e Remove useless code. 2024-07-04 15:14:13 -04:00
bymyself 24b969d3da
Skip state check hook on first load (#3915) 2024-07-03 20:30:07 -04:00
Chenlei Hu 086ac75228
3.8 Compatible type annotation (#3938) 2024-07-03 19:31:46 -04: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
comfyanonymous 01991f72ce Fix SamplerEulerCFGpp node. 2024-07-02 12:21:08 -04:00
comfyanonymous 2f03201690 Remove some empty lines. 2024-07-02 01:32:23 -04:00
shawnington 52aaee251f
Fix to #3465. Prevent, resaving of duplicate images if overwrite not specified (#3472)
* Fix to #3465. Prevent the, resaving of duplicate images if overwrite not specified

This is a fix to #3465 

Adds function compare_image_hash to do a sha256 hash comparison between an uploaded image and existing images with matching file names. 

This changes the behavior so that only images having the same filename that are actually different are saved to input, existing images are instead now opened instead of resaved with increment. 

Currently, exact duplicates with the same filename are resave saved with an incremented filename in the format:

<filename> (n).ext 

with the code: 

```
while os.path.exists(filepath): 
                        filename = f"{split[0]} ({i}){split[1]}"
                        filepath = os.path.join(full_output_folder, filename)
                        i += 1
```

This commit changes this to: 

```
while os.path.exists(filepath): 
                        if compare_image_hash(filepath, image):
                            image_is_duplicate = True
                            break
                        filename = f"{split[0]} ({i}){split[1]}"
                        filepath = os.path.join(full_output_folder, filename)
                        i += 1
```

a check for if image_is_duplicate = False is done before saving the file. 

Currently, if you load the same image of a cat named cat.jpg into the LoadImage node 3 times, you will get 3 new files in your input folder with incremented file names.

With this change, you will now only have the single copy of cat.jpg, that will be re-opened instead of re-saved. 

However if you load 3 different images of cats named cat.jpg, you will get the expected behavior of having:
cat.jpg
cat (1).jpg
cat (2).jpg

This saves space and clutter. After checking my own input folder, I have 800+ images that are duplicates that were resaved with incremented file names amounting to more than 5GB of duplicated data.

* fixed typo in expression
2024-07-02 01:30:33 -04:00