mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-12-22 20:40:49 +08:00
Merge branch 'master' into dr-support-pip-cm
This commit is contained in:
commit
3c9a0fcf8a
40
.github/workflows/check-line-endings.yml
vendored
Normal file
40
.github/workflows/check-line-endings.yml
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
name: Check for Windows Line Endings
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: ['*'] # Trigger on all pull requests to any branch
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check-line-endings:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0 # Fetch all history to compare changes
|
||||||
|
|
||||||
|
- name: Check for Windows line endings (CRLF)
|
||||||
|
run: |
|
||||||
|
# Get the list of changed files in the PR
|
||||||
|
CHANGED_FILES=$(git diff --name-only origin/${{ github.base_ref }}..HEAD)
|
||||||
|
|
||||||
|
# Flag to track if CRLF is found
|
||||||
|
CRLF_FOUND=false
|
||||||
|
|
||||||
|
# Loop through each changed file
|
||||||
|
for FILE in $CHANGED_FILES; do
|
||||||
|
# Check if the file exists and is a text file
|
||||||
|
if [ -f "$FILE" ] && file "$FILE" | grep -q "text"; then
|
||||||
|
# Check for CRLF line endings
|
||||||
|
if grep -UP '\r$' "$FILE"; then
|
||||||
|
echo "Error: Windows line endings (CRLF) detected in $FILE"
|
||||||
|
CRLF_FOUND=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Exit with error if CRLF was found
|
||||||
|
if [ "$CRLF_FOUND" = true ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
@ -150,6 +150,7 @@ class PerformanceFeature(enum.Enum):
|
|||||||
parser.add_argument("--fast", nargs="*", type=PerformanceFeature, help="Enable some untested and potentially quality deteriorating optimizations. --fast with no arguments enables everything. You can pass a list specific optimizations if you only want to enable specific ones. Current valid optimizations: fp16_accumulation fp8_matrix_mult cublas_ops")
|
parser.add_argument("--fast", nargs="*", type=PerformanceFeature, help="Enable some untested and potentially quality deteriorating optimizations. --fast with no arguments enables everything. You can pass a list specific optimizations if you only want to enable specific ones. Current valid optimizations: fp16_accumulation fp8_matrix_mult cublas_ops")
|
||||||
|
|
||||||
parser.add_argument("--mmap-torch-files", action="store_true", help="Use mmap when loading ckpt/pt files.")
|
parser.add_argument("--mmap-torch-files", action="store_true", help="Use mmap when loading ckpt/pt files.")
|
||||||
|
parser.add_argument("--disable-mmap", action="store_true", help="Don't use mmap when loading safetensors.")
|
||||||
|
|
||||||
parser.add_argument("--dont-print-server", action="store_true", help="Don't print server output.")
|
parser.add_argument("--dont-print-server", action="store_true", help="Don't print server output.")
|
||||||
parser.add_argument("--quick-test-for-ci", action="store_true", help="Quick test for CI.")
|
parser.add_argument("--quick-test-for-ci", action="store_true", help="Quick test for CI.")
|
||||||
|
|||||||
@ -973,7 +973,7 @@ class VideoVAE(nn.Module):
|
|||||||
norm_layer=config.get("norm_layer", "group_norm"),
|
norm_layer=config.get("norm_layer", "group_norm"),
|
||||||
causal=config.get("causal_decoder", False),
|
causal=config.get("causal_decoder", False),
|
||||||
timestep_conditioning=self.timestep_conditioning,
|
timestep_conditioning=self.timestep_conditioning,
|
||||||
spatial_padding_mode=config.get("spatial_padding_mode", "zeros"),
|
spatial_padding_mode=config.get("spatial_padding_mode", "reflect"),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.per_channel_statistics = processor()
|
self.per_channel_statistics = processor()
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
"single_word": false
|
"single_word": false
|
||||||
},
|
},
|
||||||
"errors": "replace",
|
"errors": "replace",
|
||||||
"model_max_length": 77,
|
"model_max_length": 8192,
|
||||||
"name_or_path": "openai/clip-vit-large-patch14",
|
"name_or_path": "openai/clip-vit-large-patch14",
|
||||||
"pad_token": "<|endoftext|>",
|
"pad_token": "<|endoftext|>",
|
||||||
"special_tokens_map_file": "./special_tokens_map.json",
|
"special_tokens_map_file": "./special_tokens_map.json",
|
||||||
|
|||||||
@ -31,6 +31,7 @@ from einops import rearrange
|
|||||||
from comfy.cli_args import args
|
from comfy.cli_args import args
|
||||||
|
|
||||||
MMAP_TORCH_FILES = args.mmap_torch_files
|
MMAP_TORCH_FILES = args.mmap_torch_files
|
||||||
|
DISABLE_MMAP = args.disable_mmap
|
||||||
|
|
||||||
ALWAYS_SAFE_LOAD = False
|
ALWAYS_SAFE_LOAD = False
|
||||||
if hasattr(torch.serialization, "add_safe_globals"): # TODO: this was added in pytorch 2.4, the unsafe path should be removed once earlier versions are deprecated
|
if hasattr(torch.serialization, "add_safe_globals"): # TODO: this was added in pytorch 2.4, the unsafe path should be removed once earlier versions are deprecated
|
||||||
@ -58,7 +59,10 @@ def load_torch_file(ckpt, safe_load=False, device=None, return_metadata=False):
|
|||||||
with safetensors.safe_open(ckpt, framework="pt", device=device.type) as f:
|
with safetensors.safe_open(ckpt, framework="pt", device=device.type) as f:
|
||||||
sd = {}
|
sd = {}
|
||||||
for k in f.keys():
|
for k in f.keys():
|
||||||
sd[k] = f.get_tensor(k)
|
tensor = f.get_tensor(k)
|
||||||
|
if DISABLE_MMAP: # TODO: Not sure if this is the best way to bypass the mmap issues
|
||||||
|
tensor = tensor.to(device=device, copy=True)
|
||||||
|
sd[k] = tensor
|
||||||
if return_metadata:
|
if return_metadata:
|
||||||
metadata = f.metadata()
|
metadata = f.metadata()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -247,7 +247,7 @@ class MaskComposite:
|
|||||||
visible_width, visible_height = (right - left, bottom - top,)
|
visible_width, visible_height = (right - left, bottom - top,)
|
||||||
|
|
||||||
source_portion = source[:, :visible_height, :visible_width]
|
source_portion = source[:, :visible_height, :visible_width]
|
||||||
destination_portion = destination[:, top:bottom, left:right]
|
destination_portion = output[:, top:bottom, left:right]
|
||||||
|
|
||||||
if operation == "multiply":
|
if operation == "multiply":
|
||||||
output[:, top:bottom, left:right] = destination_portion * source_portion
|
output[:, top:bottom, left:right] = destination_portion * source_portion
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user