From a1a37ed73bdd9324e432e735314c0e2df41896a7 Mon Sep 17 00:00:00 2001 From: chflame163 Date: Wed, 16 Oct 2024 18:13:38 +0800 Subject: [PATCH] fix import timm.models._registry --- py/BiRefNet_legacy/backbones/pvt_v2.py | 2 +- py/BiRefNet_legacy/modules/mlp.py | 2 +- py/BiRefNet_v2/models/backbones/pvt_v2.py | 2 +- py/BiRefNet_v2/models/modules/mlp.py | 2 +- .../model/unilm/beit3/modeling_finetune.py | 2 +- py/imagefunc.py | 37 +++++++++++-------- py/sam_hq/modeling/tiny_vit.py | 2 +- py/shadow_highlight_mask.py | 1 - pyproject.toml | 2 +- 9 files changed, 28 insertions(+), 24 deletions(-) diff --git a/py/BiRefNet_legacy/backbones/pvt_v2.py b/py/BiRefNet_legacy/backbones/pvt_v2.py index 06b9704..7164f85 100644 --- a/py/BiRefNet_legacy/backbones/pvt_v2.py +++ b/py/BiRefNet_legacy/backbones/pvt_v2.py @@ -3,7 +3,7 @@ import torch.nn as nn from functools import partial from timm.models.layers import DropPath, to_2tuple, trunc_normal_ -from timm.models.registry import register_model +from timm.models import register_model import math diff --git a/py/BiRefNet_legacy/modules/mlp.py b/py/BiRefNet_legacy/modules/mlp.py index 39b3568..a383459 100644 --- a/py/BiRefNet_legacy/modules/mlp.py +++ b/py/BiRefNet_legacy/modules/mlp.py @@ -3,7 +3,7 @@ import torch.nn as nn from functools import partial from timm.models.layers import DropPath, to_2tuple, trunc_normal_ -from timm.models.registry import register_model +from timm.models import register_model import math diff --git a/py/BiRefNet_v2/models/backbones/pvt_v2.py b/py/BiRefNet_v2/models/backbones/pvt_v2.py index 95f6749..4b902dd 100644 --- a/py/BiRefNet_v2/models/backbones/pvt_v2.py +++ b/py/BiRefNet_v2/models/backbones/pvt_v2.py @@ -3,7 +3,7 @@ import torch.nn as nn from functools import partial from timm.models.layers import DropPath, to_2tuple, trunc_normal_ -from timm.models.registry import register_model +from timm.models import register_model import math diff --git a/py/BiRefNet_v2/models/modules/mlp.py b/py/BiRefNet_v2/models/modules/mlp.py index 39b3568..a383459 100644 --- a/py/BiRefNet_v2/models/modules/mlp.py +++ b/py/BiRefNet_v2/models/modules/mlp.py @@ -3,7 +3,7 @@ import torch.nn as nn from functools import partial from timm.models.layers import DropPath, to_2tuple, trunc_normal_ -from timm.models.registry import register_model +from timm.models import register_model import math diff --git a/py/evf_sam/model/unilm/beit3/modeling_finetune.py b/py/evf_sam/model/unilm/beit3/modeling_finetune.py index ba63fad..dc5ea0a 100644 --- a/py/evf_sam/model/unilm/beit3/modeling_finetune.py +++ b/py/evf_sam/model/unilm/beit3/modeling_finetune.py @@ -8,7 +8,7 @@ import torch import torch.nn as nn import torch.nn.functional as F -from timm.models.registry import register_model +from timm.models import register_model import numpy as np import utils diff --git a/py/imagefunc.py b/py/imagefunc.py index a0c455f..09d21bb 100644 --- a/py/imagefunc.py +++ b/py/imagefunc.py @@ -950,25 +950,30 @@ def get_image_color_average(image:Image, mask:Image=None) -> str: def get_gray_average(image:Image, mask:Image=None) -> int: # image.mode = 'HSV', mask.mode = 'L' image = image.convert('HSV') - _, _, _v = image.convert('HSV').split() + if mask is not None: if mask.mode != 'L': mask = mask.convert('L') - width, height = image.size - total_gray = 0 - valid_pixels = 0 - for y in range(height): - for x in range(width): - if mask is not None: - if mask.getpixel((x, y)) > 16: #mask亮度低于16的忽略不计 - gray = _v.getpixel((x, y)) - total_gray += gray - valid_pixels += 1 - else: - gray = _v.getpixel((x, y)) - total_gray += gray - valid_pixels += 1 - average_gray = total_gray // valid_pixels + else: + mask = Image.new('L', size=image.size, color='white') + _, _, _v = image.convert('HSV').split() + _v = np.array(_v) + average_gray = _v[np.array(mask) > 16].mean() + # width, height = image.size + # total_gray = 0 + # valid_pixels = 0 + # for y in range(height): + # for x in range(width): + # if mask is not None: + # if mask.getpixel((x, y)) > 16: #mask亮度低于16的忽略不计 + # gray = _v.getpixel((x, y)) + # total_gray += gray + # valid_pixels += 1 + # else: + # gray = _v.getpixel((x, y)) + # total_gray += gray + # valid_pixels += 1 + # average_gray = total_gray // valid_pixels return average_gray def calculate_shadow_highlight_level(gray:int) -> float: diff --git a/py/sam_hq/modeling/tiny_vit.py b/py/sam_hq/modeling/tiny_vit.py index fa77cfe..38b7bf9 100644 --- a/py/sam_hq/modeling/tiny_vit.py +++ b/py/sam_hq/modeling/tiny_vit.py @@ -14,7 +14,7 @@ import torch.nn.functional as F import torch.utils.checkpoint as checkpoint from timm.models.layers import DropPath as TimmDropPath,\ to_2tuple, trunc_normal_ -from timm.models.registry import register_model +from timm.models import register_model from typing import Tuple diff --git a/py/shadow_highlight_mask.py b/py/shadow_highlight_mask.py index a0cd449..0991f0f 100644 --- a/py/shadow_highlight_mask.py +++ b/py/shadow_highlight_mask.py @@ -66,7 +66,6 @@ class ShadowAndHighlightMask: _image = tensor2pil(_image).convert('RGB') _mask = input_masks[i] if i < len(input_masks) else input_masks[-1] - avg_gray = get_gray_average(_image, _mask) shadow_level, highlight_level = calculate_shadow_highlight_level(avg_gray) shadow_low_threshold = (shadow_level + shadow_level_offset) / 100 + shadow_range / 2 diff --git a/pyproject.toml b/pyproject.toml index 983fae7..5b69cf5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "comfyui_layerstyle" description = "A set of nodes for ComfyUI it generate image like Adobe Photoshop's Layer Style. the Drop Shadow is first completed node, and follow-up work is in progress." -version = "1.0.77" +version = "1.0.78" license = "MIT" dependencies = ["numpy", "pillow", "torch", "matplotlib", "Scipy", "scikit_image", "scikit_learn", "opencv-contrib-python", "pymatting", "segment_anything", "timm", "addict", "yapf", "colour-science", "wget", "mediapipe", "loguru", "typer_config", "fastapi", "rich", "google-generativeai", "diffusers", "omegaconf", "tqdm", "transformers", "kornia", "image-reward", "ultralytics", "blend_modes", "blind-watermark", "qrcode", "pyzbar", "transparent-background", "huggingface_hub", "accelerate", "bitsandbytes", "torchscale", "wandb", "hydra-core", "psd-tools", "inference-cli[yolo-world]", "inference-gpu[yolo-world]", "onnxruntime", "peft"]