From 315719f9e512d3489e8e8e2efe861cd29a850cef Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 21 Jul 2026 08:20:55 +0200 Subject: [PATCH] fix rembg dependencies Signed-off-by: Vladimir Mandic --- CHANGELOG.md | 5 +++-- modules/masking.py | 2 +- modules/rembg/rembg_api.py | 10 +++++++--- scripts/postprocessing_rembg.py | 10 +++++++--- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2c9a9be7..711e4574d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log for SD.Next -## Update for 2026-07-20 +## Update for 2026-07-21 - **Compute** - torch: update to `2.13.0` for CUDA, ROCm, IPEX @@ -23,7 +23,8 @@ - lora: support diffusers trainer - load: flux1 t5 - preview: cache image for reuse - - kanvas: fix paint combined with zoom + - kanvas: paint combined with zoom + - rembg: numba dependencies ## Update for 2026-07-14 diff --git a/modules/masking.py b/modules/masking.py index 76bd93137..eafafe311 100644 --- a/modules/masking.py +++ b/modules/masking.py @@ -264,7 +264,7 @@ def run_segment(input_image: gr.Image, input_mask: np.ndarray): def run_rembg(input_image: Image.Image, input_mask: np.ndarray): try: from installer import install - for pkg in ["dctorch==0.1.2", "pymatting", "pooch", "rembg"]: + for pkg in ["dctorch==0.1.2", "pymatting", "pooch", "rembg", "numba"]: install(pkg, no_deps=True, ignore=False) import rembg except Exception as e: diff --git a/modules/rembg/rembg_api.py b/modules/rembg/rembg_api.py index 25bb72223..e4ab757bd 100644 --- a/modules/rembg/rembg_api.py +++ b/modules/rembg/rembg_api.py @@ -1,6 +1,12 @@ from fastapi import Body +def dependencies(): + from installer import install + for pkg in ["dctorch==0.1.2", "pymatting", "pooch", "rembg", "numba"]: + install(pkg, no_deps=True, ignore=False) + + async def post_rembg( input_image: str = Body("", title='rembg input image'), model: str = Body("u2net", title='rembg model'), @@ -23,9 +29,7 @@ async def post_rembg( from modules.rembg import ben2 image = ben2.remove(input_image, refine=refine) else: - from installer import install - for pkg in ["dctorch==0.1.2", "pymatting", "pooch", "rembg"]: - install(pkg, no_deps=True, ignore=False) + dependencies() import rembg image = rembg.remove( # pylint: disable=c-extension-no-member input_image, diff --git a/scripts/postprocessing_rembg.py b/scripts/postprocessing_rembg.py index de3bb5ed2..ca350b968 100644 --- a/scripts/postprocessing_rembg.py +++ b/scripts/postprocessing_rembg.py @@ -18,6 +18,12 @@ models = [ ] +def dependencies(): + from installer import install + for pkg in ["dctorch==0.1.2", "pymatting", "pooch", "rembg", "numba"]: + install(pkg, no_deps=True, ignore=False) + + class ScriptPostprocessingRembg(scripts_postprocessing.ScriptPostprocessing): name = "Remove background" order = 20000 @@ -81,9 +87,7 @@ class ScriptPostprocessingRembg(scripts_postprocessing.ScriptPostprocessing): return pp else: try: - from installer import install - for pkg in ["dctorch==0.1.2", "pymatting", "pooch", "rembg"]: - install(pkg, no_deps=True, ignore=False) + dependencies() import rembg if "U2NET_HOME" not in os.environ: from modules.paths import models_path