From a3d0b56c61cd76c544469d377838e67670a4d3fa Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sun, 19 Feb 2023 12:00:05 -0500 Subject: [PATCH 1/3] Fix for relative imports in custom nodes. --- nodes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nodes.py b/nodes.py index f53531cc9..03523ce17 100644 --- a/nodes.py +++ b/nodes.py @@ -759,7 +759,7 @@ def load_custom_nodes(): module_path = os.path.join(CUSTOM_NODE_PATH, possible_module) if os.path.isfile(module_path) and os.path.splitext(module_path)[1] != ".py": continue - module_name = "custom_node_module.{}".format(possible_module) + module_name = possible_module try: if os.path.isfile(module_path): module_spec = importlib.util.spec_from_file_location(module_name, module_path) From 191af3ef7167e6335f92744cbb0e9f6ae2402d8b Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sun, 19 Feb 2023 14:58:00 -0500 Subject: [PATCH 2/3] Add the config for the SD1.x inpainting model. --- models/configs/v1-inpainting-inference.yaml | 71 +++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 models/configs/v1-inpainting-inference.yaml diff --git a/models/configs/v1-inpainting-inference.yaml b/models/configs/v1-inpainting-inference.yaml new file mode 100644 index 000000000..45f3f82d4 --- /dev/null +++ b/models/configs/v1-inpainting-inference.yaml @@ -0,0 +1,71 @@ +model: + base_learning_rate: 7.5e-05 + target: ldm.models.diffusion.ddpm.LatentInpaintDiffusion + params: + linear_start: 0.00085 + linear_end: 0.0120 + num_timesteps_cond: 1 + log_every_t: 200 + timesteps: 1000 + first_stage_key: "jpg" + cond_stage_key: "txt" + image_size: 64 + channels: 4 + cond_stage_trainable: false # Note: different from the one we trained before + conditioning_key: hybrid # important + monitor: val/loss_simple_ema + scale_factor: 0.18215 + finetune_keys: null + + scheduler_config: # 10000 warmup steps + target: ldm.lr_scheduler.LambdaLinearScheduler + params: + warm_up_steps: [ 2500 ] # NOTE for resuming. use 10000 if starting from scratch + cycle_lengths: [ 10000000000000 ] # incredibly large number to prevent corner cases + f_start: [ 1.e-6 ] + f_max: [ 1. ] + f_min: [ 1. ] + + unet_config: + target: ldm.modules.diffusionmodules.openaimodel.UNetModel + params: + image_size: 32 # unused + in_channels: 9 # 4 data + 4 downscaled image + 1 mask + out_channels: 4 + model_channels: 320 + attention_resolutions: [ 4, 2, 1 ] + num_res_blocks: 2 + channel_mult: [ 1, 2, 4, 4 ] + num_heads: 8 + use_spatial_transformer: True + transformer_depth: 1 + context_dim: 768 + use_checkpoint: True + legacy: False + + first_stage_config: + target: ldm.models.autoencoder.AutoencoderKL + params: + embed_dim: 4 + monitor: val/rec_loss + ddconfig: + double_z: true + z_channels: 4 + resolution: 256 + in_channels: 3 + out_ch: 3 + ch: 128 + ch_mult: + - 1 + - 2 + - 4 + - 4 + num_res_blocks: 2 + attn_resolutions: [] + dropout: 0.0 + lossconfig: + target: torch.nn.Identity + + cond_stage_config: + target: ldm.modules.encoders.modules.FrozenCLIPEmbedder + From 00a9189e303c4e7471da2d799f69853fcf790546 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Sun, 19 Feb 2023 16:59:03 -0500 Subject: [PATCH 3/3] Support old pytorch. --- comfy/sd1_clip.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/comfy/sd1_clip.py b/comfy/sd1_clip.py index 38405385a..998babe8b 100644 --- a/comfy/sd1_clip.py +++ b/comfy/sd1_clip.py @@ -186,7 +186,10 @@ def load_embed(embedding_name, embedding_directory): import safetensors.torch embed = safetensors.torch.load_file(embed_path, device="cpu") else: - embed = torch.load(embed_path, weights_only=True, map_location="cpu") + if 'weights_only' in torch.load.__code__.co_varnames: + embed = torch.load(embed_path, weights_only=True, map_location="cpu") + else: + embed = torch.load(embed_path, map_location="cpu") if 'string_to_param' in embed: values = embed['string_to_param'].values() else: