Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9402ecf4f9 | ||
|
|
c21b361e2a |
@@ -1,7 +1,7 @@
|
||||
import configparser
|
||||
import os
|
||||
|
||||
version_code = [8, 1, 2]
|
||||
version_code = [8, 1, 4]
|
||||
version = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
|
||||
|
||||
dependency_version = 24
|
||||
|
||||
+27
-10
@@ -1384,9 +1384,14 @@ def vae_decode(vae, samples, use_tile, hook, tile_size=512, overlap=64):
|
||||
return pixels
|
||||
|
||||
|
||||
def vae_encode(vae, pixels, use_tile, hook, tile_size=512):
|
||||
def vae_encode(vae, pixels, use_tile, hook, tile_size=512, overlap=64):
|
||||
if use_tile:
|
||||
samples = nodes.VAEEncodeTiled().encode(vae, pixels, tile_size)[0]
|
||||
encoder = nodes.VAEEncodeTiled()
|
||||
if 'overlap' in inspect.signature(encoder.encode).parameters:
|
||||
samples = encoder.encode(vae, pixels, tile_size, overlap=overlap)[0]
|
||||
else:
|
||||
print(f"[Impact Pack] Your ComfyUI is outdated.")
|
||||
samples = encoder.encode(vae, pixels, tile_size)[0]
|
||||
else:
|
||||
samples = nodes.VAEEncode().encode(vae, pixels)[0]
|
||||
|
||||
@@ -1412,7 +1417,7 @@ def latent_upscale_on_pixel_space_shape2(samples, scale_method, w, h, vae, use_t
|
||||
if hook is not None:
|
||||
pixels = hook.post_upscale(pixels)
|
||||
|
||||
return (vae_encode(vae, pixels, use_tile, hook, tile_size=tile_size), old_pixels)
|
||||
return vae_encode(vae, pixels, use_tile, hook, tile_size=tile_size, overlap=overlap), old_pixels
|
||||
|
||||
|
||||
def latent_upscale_on_pixel_space(samples, scale_method, scale_factor, vae, use_tile=False, tile_size=512, save_temp_prefix=None, hook=None, overlap=64):
|
||||
@@ -1433,7 +1438,7 @@ def latent_upscale_on_pixel_space2(samples, scale_method, scale_factor, vae, use
|
||||
if hook is not None:
|
||||
pixels = hook.post_upscale(pixels)
|
||||
|
||||
return (vae_encode(vae, pixels, use_tile, hook, tile_size=tile_size), old_pixels)
|
||||
return vae_encode(vae, pixels, use_tile, hook, tile_size=tile_size, overlap=overlap), old_pixels
|
||||
|
||||
|
||||
def latent_upscale_on_pixel_space_with_model_shape(samples, scale_method, upscale_model, new_w, new_h, vae, use_tile=False, tile_size=512, save_temp_prefix=None, hook=None, overlap=64):
|
||||
@@ -1464,7 +1469,7 @@ def latent_upscale_on_pixel_space_with_model_shape2(samples, scale_method, upsca
|
||||
if hook is not None:
|
||||
pixels = hook.post_upscale(pixels)
|
||||
|
||||
return (vae_encode(vae, pixels, use_tile, hook, tile_size=tile_size), old_pixels)
|
||||
return vae_encode(vae, pixels, use_tile, hook, tile_size=tile_size, overlap=overlap), old_pixels
|
||||
|
||||
|
||||
def latent_upscale_on_pixel_space_with_model(samples, scale_method, upscale_model, scale_factor, vae, use_tile=False,
|
||||
@@ -1500,7 +1505,7 @@ def latent_upscale_on_pixel_space_with_model2(samples, scale_method, upscale_mod
|
||||
if hook is not None:
|
||||
pixels = hook.post_upscale(pixels)
|
||||
|
||||
return (vae_encode(vae, pixels, use_tile, hook, tile_size=tile_size), old_pixels)
|
||||
return vae_encode(vae, pixels, use_tile, hook, tile_size=tile_size, overlap=overlap), old_pixels
|
||||
|
||||
|
||||
class TwoSamplersForMaskUpscaler:
|
||||
@@ -1670,8 +1675,14 @@ class PixelKSampleUpscaler:
|
||||
preprocessor = nodes.NODE_CLASS_MAPPINGS['TilePreprocessor']()
|
||||
# might add capacity to set pyrUp_iters later, not needed for now though
|
||||
preprocessed = preprocessor.execute(images, pyrUp_iters=3, resolution=min(image_w, image_h))[0]
|
||||
apply_cnet = getattr(nodes.ControlNetApply(), nodes.ControlNetApply.FUNCTION)
|
||||
positive = apply_cnet(positive, self.tile_cnet, preprocessed, strength=self.tile_cnet_strength)[0]
|
||||
positive, negative = nodes.ControlNetApplyAdvanced().apply_controlnet(positive=positive,
|
||||
negative=negative,
|
||||
control_net=self.tile_cnet,
|
||||
image=preprocessed,
|
||||
strength=self.tile_cnet_strength,
|
||||
start_percent=0,
|
||||
end_percent=1.0,
|
||||
vae=self.vae)
|
||||
|
||||
refined_latent = impact_sampling.impact_sample(model, seed, steps, cfg, sampler_name, scheduler,
|
||||
positive, negative, upscaled_latent, denoise, scheduler_func=self.scheduler_func)
|
||||
@@ -1974,8 +1985,14 @@ class PixelTiledKSampleUpscaler:
|
||||
preprocessor = nodes.NODE_CLASS_MAPPINGS['TilePreprocessor']()
|
||||
# might add capacity to set pyrUp_iters later, not needed for now though
|
||||
preprocessed = preprocessor.execute(images, pyrUp_iters=3, resolution=min(image_w, image_h))[0]
|
||||
apply_cnet = getattr(nodes.ControlNetApply(), nodes.ControlNetApply.FUNCTION)
|
||||
positive = apply_cnet(positive, self.tile_cnet, preprocessed, strength=self.tile_cnet_strength)[0]
|
||||
|
||||
positive, negative = nodes.ControlNetApplyAdvanced().apply_controlnet(positive=positive,
|
||||
negative=negative,
|
||||
control_net=self.tile_cnet,
|
||||
image=preprocessed,
|
||||
strength=self.tile_cnet_strength,
|
||||
start_percent=0, end_percent=1.0,
|
||||
vae=self.vae)
|
||||
|
||||
return TiledKSampler().sample(model, seed, tile_width, tile_height, tiling_strategy, steps, cfg, sampler_name,
|
||||
scheduler, positive, negative, latent, denoise)[0]
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
[project]
|
||||
name = "comfyui-impact-pack"
|
||||
description = "This node pack offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler."
|
||||
version = "8.1.2"
|
||||
version = "8.1.4"
|
||||
license = { file = "LICENSE.txt" }
|
||||
dependencies = ["segment-anything", "scikit-image", "piexif", "transformers", "opencv-python-headless", "GitPython", "scipy>=1.11.4"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user