This commit is contained in:
Margen67 2025-04-11 09:49:48 -04:00 committed by GitHub
commit 04b50d6260
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 18 additions and 19 deletions

View File

@ -1,4 +1,3 @@
name: "Release Stable Version" name: "Release Stable Version"
on: on:

View File

@ -15,7 +15,7 @@ jobs:
continue-on-error: true continue-on-error: true
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v4 uses: actions/setup-python@v4
with: with:
python-version: '3.12' python-version: '3.12'

View File

@ -36,7 +36,7 @@ ComfyUI lets you design and execute advanced stable diffusion pipelines using a
## Get Started ## Get Started
#### [Desktop Application](https://www.comfy.org/download) #### [Desktop Application](https://www.comfy.org/download)
- The easiest way to get started. - The easiest way to get started.
- Available on Windows & macOS. - Available on Windows & macOS.
#### [Windows Portable Package](#installing) #### [Windows Portable Package](#installing)
@ -190,7 +190,7 @@ This is the command to install the nightly with ROCm 6.3 which might have some p
### Intel GPUs (Windows and Linux) ### Intel GPUs (Windows and Linux)
(Option 1) Intel Arc GPU users can install native PyTorch with torch.xpu support using pip (currently available in PyTorch nightly builds). More information can be found [here](https://pytorch.org/docs/main/notes/get_start_xpu.html) (Option 1) Intel Arc GPU users can install native PyTorch with torch.xpu support using pip (currently available in PyTorch nightly builds). More information can be found [here](https://pytorch.org/docs/main/notes/get_start_xpu.html)
1. To install PyTorch nightly, use the following command: 1. To install PyTorch nightly, use the following command:
```pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/xpu``` ```pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/xpu```
@ -321,7 +321,7 @@ Generate a self-signed certificate (not appropriate for shared/production use) a
Use `--tls-keyfile key.pem --tls-certfile cert.pem` to enable TLS/SSL, the app will now be accessible with `https://...` instead of `http://...`. Use `--tls-keyfile key.pem --tls-certfile cert.pem` to enable TLS/SSL, the app will now be accessible with `https://...` instead of `http://...`.
> Note: Windows users can use [alexisrolland/docker-openssl](https://github.com/alexisrolland/docker-openssl) or one of the [3rd party binary distributions](https://wiki.openssl.org/index.php/Binaries) to run the command example above. > Note: Windows users can use [alexisrolland/docker-openssl](https://github.com/alexisrolland/docker-openssl) or one of the [3rd party binary distributions](https://wiki.openssl.org/index.php/Binaries) to run the command example above.
<br/><br/>If you use a container, note that the volume mount `-v` can be a relative path so `... -v ".\:/openssl-certs" ...` would create the key & cert files in the current directory of your command prompt or powershell terminal. <br/><br/>If you use a container, note that the volume mount `-v` can be a relative path so `... -v ".\:/openssl-certs" ...` would create the key & cert files in the current directory of your command prompt or powershell terminal.
## Support and dev channel ## Support and dev channel

View File

@ -587,7 +587,7 @@ def get_sorted_list_via_attr(objects: list, attr: str) -> list:
sorted_list.extend(object_list) sorted_list.extend(object_list)
return sorted_list return sorted_list
def create_transformer_options_from_hooks(model: ModelPatcher, hooks: HookGroup, transformer_options: dict[str]=None): def create_transformer_options_from_hooks(model: ModelPatcher, hooks: HookGroup, transformer_options: dict[str]=None):
# if no hooks or is not a ModelPatcher for sampling, return empty dict # if no hooks or is not a ModelPatcher for sampling, return empty dict
if hooks is None or model.is_clip: if hooks is None or model.is_clip:
return {} return {}

View File

@ -618,10 +618,10 @@ class PixArtAlpha(supported_models_base.BASE):
} }
sampling_settings = { sampling_settings = {
"beta_schedule" : "sqrt_linear", "beta_schedule": "sqrt_linear",
"linear_start" : 0.0001, "linear_start": 0.0001,
"linear_end" : 0.02, "linear_end": 0.02,
"timesteps" : 1000, "timesteps": 1000,
} }
unet_extra_config = {} unet_extra_config = {}
@ -681,8 +681,8 @@ class HunyuanDiT1(HunyuanDiT):
unet_extra_config = {} unet_extra_config = {}
sampling_settings = { sampling_settings = {
"linear_start" : 0.00085, "linear_start": 0.00085,
"linear_end" : 0.03, "linear_end": 0.03,
} }
class Flux(supported_models_base.BASE): class Flux(supported_models_base.BASE):

View File

@ -449,8 +449,8 @@ PIXART_MAP_BLOCK = {
("mlp.fc1.bias", "ff.net.0.proj.bias"), ("mlp.fc1.bias", "ff.net.0.proj.bias"),
("mlp.fc2.weight", "ff.net.2.weight"), ("mlp.fc2.weight", "ff.net.2.weight"),
("mlp.fc2.bias", "ff.net.2.bias"), ("mlp.fc2.bias", "ff.net.2.bias"),
("cross_attn.proj.weight" ,"attn2.to_out.0.weight"), ("cross_attn.proj.weight", "attn2.to_out.0.weight"),
("cross_attn.proj.bias" ,"attn2.to_out.0.bias"), ("cross_attn.proj.bias", "attn2.to_out.0.bias"),
} }
def pixart_to_diffusers(mmdit_config, output_prefix=""): def pixart_to_diffusers(mmdit_config, output_prefix=""):

View File

@ -9,7 +9,7 @@ class Morphology:
@classmethod @classmethod
def INPUT_TYPES(s): def INPUT_TYPES(s):
return {"required": {"image": ("IMAGE",), return {"required": {"image": ("IMAGE",),
"operation": (["erode", "dilate", "open", "close", "gradient", "bottom_hat", "top_hat"],), "operation": (["erode", "dilate", "open", "close", "gradient", "bottom_hat", "top_hat"],),
"kernel_size": ("INT", {"default": 3, "min": 3, "max": 999, "step": 1}), "kernel_size": ("INT", {"default": 3, "min": 3, "max": 999, "step": 1}),
}} }}

View File

@ -84,7 +84,7 @@ class CacheHelper:
cache_helper = CacheHelper() cache_helper = CacheHelper()
extension_mimetypes_cache = { extension_mimetypes_cache = {
"webp" : "image", "webp": "image",
} }
def map_legacy(folder_name: str) -> str: def map_legacy(folder_name: str) -> str:

View File

@ -1989,7 +1989,7 @@ NODE_CLASS_MAPPINGS = {
"ImageBatch": ImageBatch, "ImageBatch": ImageBatch,
"ImagePadForOutpaint": ImagePadForOutpaint, "ImagePadForOutpaint": ImagePadForOutpaint,
"EmptyImage": EmptyImage, "EmptyImage": EmptyImage,
"ConditioningAverage": ConditioningAverage , "ConditioningAverage": ConditioningAverage,
"ConditioningCombine": ConditioningCombine, "ConditioningCombine": ConditioningCombine,
"ConditioningConcat": ConditioningConcat, "ConditioningConcat": ConditioningConcat,
"ConditioningSetArea": ConditioningSetArea, "ConditioningSetArea": ConditioningSetArea,
@ -2076,7 +2076,7 @@ NODE_DISPLAY_NAME_MAPPINGS = {
"LatentUpscaleBy": "Upscale Latent By", "LatentUpscaleBy": "Upscale Latent By",
"LatentComposite": "Latent Composite", "LatentComposite": "Latent Composite",
"LatentBlend": "Latent Blend", "LatentBlend": "Latent Blend",
"LatentFromBatch" : "Latent From Batch", "LatentFromBatch": "Latent From Batch",
"RepeatLatentBatch": "Repeat Latent Batch", "RepeatLatentBatch": "Repeat Latent Batch",
# Image # Image
"SaveImage": "Save Image", "SaveImage": "Save Image",

View File

@ -1,5 +1,5 @@
[pytest] [pytest]
markers = markers =
inference: mark as inference test (deselect with '-m "not inference"') inference: mark as inference test (deselect with '-m "not inference"')
execution: mark as execution test (deselect with '-m "not execution"') execution: mark as execution test (deselect with '-m "not execution"')
testpaths = testpaths =