Update preprocessor_tile.py

This commit is contained in:
lllyasviel 2024-01-30 15:54:01 -08:00
parent 9fc38df9ea
commit 8f385279a2

View File

@ -12,6 +12,16 @@ class PreprocessorTile(Preprocessor):
self.tags = ['Tile']
self.model_filename_filters = ['tile']
self.slider_resolution = PreprocessorParameter(visible=False)
self.latent = None
def register_latent(self, process, cond):
vae = process.sd_model.forge_objects.vae
# This is a powerful VAE with integrated memory management, bf16, and tiled fallback.
latent_image = vae.encode(cond.movedim(1, -1))
latent_image = process.sd_model.forge_objects.unet.model.latent_format.process_in(latent_image)
self.latent = latent_image
return self.latent
class PreprocessorTileColorFix(PreprocessorTile):
@ -20,6 +30,15 @@ class PreprocessorTileColorFix(PreprocessorTile):
self.name = 'tile_colorfix'
self.slider_1 = PreprocessorParameter(label='Variation', value=8.0, minimum=3.0, maximum=32.0, step=1.0, visible=True)
def process_before_every_sampling(self, process, cond, *args, **kwargs):
latent = self.register_latent(process, cond)
unet = process.sd_model.forge_objects.unet.clone()
process.sd_model.forge_objects.unet = unet
return
class PreprocessorTileColorFixSharp(PreprocessorTileColorFix):
def __init__(self):
@ -27,6 +46,15 @@ class PreprocessorTileColorFixSharp(PreprocessorTileColorFix):
self.name = 'tile_colorfix+sharp'
self.slider_2 = PreprocessorParameter(label='Sharpness', value=1.0, minimum=0.0, maximum=2.0, step=0.01, visible=True)
def process_before_every_sampling(self, process, cond, *args, **kwargs):
latent = self.register_latent(process, cond)
unet = process.sd_model.forge_objects.unet.clone()
process.sd_model.forge_objects.unet = unet
return
add_supported_preprocessor(PreprocessorTile())