diff --git a/.tracking b/.tracking new file mode 100644 index 0000000..ef08593 --- /dev/null +++ b/.tracking @@ -0,0 +1,13 @@ +.github/workflows/publish.yml +.gitignore +LICENSE +README.md +__init__.py +node/colors.py +node/node.py +node/palette.py +node/pipeline.py +node/utils.py +pyproject.toml +requirements.txt +workflow/example.json \ No newline at end of file diff --git a/node/node.py b/node/node.py index ccc25ab..4d9ef0d 100644 --- a/node/node.py +++ b/node/node.py @@ -25,6 +25,7 @@ class InteriorDesignNode: "img_dept_threshold": ("FLOAT", {"default": 0.5, "min": 0.1, "max": 0.99, "step": 0.01}), "img_seg_threshold": ("FLOAT", {"default": 0.5, "min": 0.1, "max": 0.99, "step": 0.01}), "ip_adapter_scale": ("FLOAT", {"default": 0.40, "min": 0.01, "max": 1.0, "step": 0.01}), + "ip_adapter_model":(["ip-adapter_sd15.bin","ip-adapter-plus_sd15.bin","ip-adapter_sd15_light.bin"], {}) }, "optional": { "negative": ("STRING",{"forceInput": True}), # Prompt de descrição do design @@ -37,9 +38,10 @@ class InteriorDesignNode: FUNCTION = "process" # Função que será executada CATEGORY = "interior_design" # Categoria para o ComfyUI - def process(self, image, positive, guidance_scale, num_steps, strength, seed, img_size, img_dept_threshold, img_seg_threshold, ip_adapter_scale, negative=None): + def process(self, image, positive, guidance_scale, num_steps, strength, seed, img_size, img_dept_threshold, img_seg_threshold, ip_adapter_scale, ip_adapter_model, negative=None): # Pré-processamento da imagem self.pipeline.ip_adapter_scale = ip_adapter_scale + self.pipeline.ip_adapter_model = ip_adapter_model self.pipeline.seed = seed if negative is not None: self.pipeline.neg_prompt = negative diff --git a/node/pipeline.py b/node/pipeline.py index c2f73e9..bbb87e5 100644 --- a/node/pipeline.py +++ b/node/pipeline.py @@ -187,10 +187,12 @@ class ControlNetDepthDesignModelMulti: """ Initialize your model(s) here """ #os.environ['HF_HUB_OFFLINE'] = "True" self.ip_adapter_scale = 0.4 + self.ip_adapter_model = "ip-adapter_sd15.bin" self.seed = 323*111 self.neg_prompt = "window, door, low resolution, banner, logo, watermark, text, deformed, blurry, out of focus, surreal, ugly, beginner" self.control_items = ["windowpane;window", "door;double;door"] self.additional_quality_suffix = "interior design, 4K, high resolution, photorealistic" + self.controlnet_depth = ControlNetModel.from_pretrained( @@ -209,11 +211,12 @@ class ControlNetDepthDesignModelMulti: "SG161222/Realistic_Vision_V5.1_noVAE", controlnet=[self.controlnet_depth, self.controlnet_seg], safety_checker=None, - torch_dtype=dtype + torch_dtype=dtype, ) + self.pipe.load_ip_adapter("h94/IP-Adapter", subfolder="models", - weight_name="ip-adapter_sd15.bin") + weight_name=self.ip_adapter_model,) self.pipe.set_ip_adapter_scale(self.ip_adapter_scale) self.pipe.scheduler = UniPCMultistepScheduler.from_config(self.pipe.scheduler.config) self.pipe = self.pipe.to(device) diff --git a/requirements.txt b/requirements.txt index 71b3b83..a19199d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1,12 @@ -diffusers==0.25.0 -xformers==0.0.23.post1 -transformers>=4.39.0,<=4.45.0 +transformers==4.48.0 +huggingface_hub==0.30.2 +accelerate==1.6.0 +altair==5.5.0 +diffusers==0.33.1 +numpy==1.26.4 +opencv-python==4.11.0.86 +pillow==11.2.1 +scipy==1.15.2 torchvision -accelerate==0.26.1 -opencv-python==4.9.0.80 -scipy==1.11.4 -altair==4.1.0 -pandas==2.1.4 -huggingface_hub==0.25.0 -numpy -Pillow +transformers==4.48.0 +xformers==0.0.29.post3