test: add test for force_uniform_tiles=False
This commit is contained in:
@@ -32,9 +32,7 @@ def base_image(loaded_checkpoint, seed, test_dirs: DirectoryConfig, node_classes
|
||||
model, clip, vae = loaded_checkpoint
|
||||
|
||||
with torch.inference_mode():
|
||||
(empty_latent,) = execute(
|
||||
EmptyLatentImage, width=512, height=512, batch_size=2
|
||||
)
|
||||
(empty_latent,) = execute(EmptyLatentImage, width=512, height=512, batch_size=2)
|
||||
|
||||
(positive,) = execute(
|
||||
CLIPTextEncode,
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
"""
|
||||
Test for other settings included in the upscaling nodes.
|
||||
"""
|
||||
|
||||
import logging
|
||||
import pathlib
|
||||
import pytest
|
||||
import torch
|
||||
|
||||
from tensor_utils import img_tensor_mae, blur
|
||||
from io_utils import save_image, load_image
|
||||
from configs import DirectoryConfig
|
||||
from fixtures_images import EXT
|
||||
|
||||
# Image file names
|
||||
CATEGORY = pathlib.Path(pathlib.Path(__file__).stem.removeprefix("test_"))
|
||||
|
||||
|
||||
def test_minimal_tile_sizes(
|
||||
base_image, loaded_checkpoint, node_classes, seed, test_dirs: DirectoryConfig
|
||||
):
|
||||
"""Test upscaling with minimal tile sizes."""
|
||||
filename = "non_uniform_tiles"
|
||||
image, positive, negative = base_image
|
||||
model, clip, vae = loaded_checkpoint
|
||||
|
||||
with torch.inference_mode():
|
||||
usdu = node_classes["UltimateSDUpscale"]
|
||||
(upscaled,) = usdu().upscale(
|
||||
image=image[0:1],
|
||||
model=model,
|
||||
positive=positive,
|
||||
negative=negative,
|
||||
vae=vae,
|
||||
upscale_by=1.5,
|
||||
seed=seed,
|
||||
steps=5,
|
||||
cfg=8,
|
||||
sampler_name="euler",
|
||||
scheduler="normal",
|
||||
denoise=0.15,
|
||||
upscale_model=None,
|
||||
mode_type="Chess",
|
||||
tile_width=512,
|
||||
tile_height=512,
|
||||
mask_blur=8,
|
||||
tile_padding=8,
|
||||
seam_fix_mode="None",
|
||||
seam_fix_denoise=1.0,
|
||||
seam_fix_width=16,
|
||||
seam_fix_mask_blur=8,
|
||||
seam_fix_padding=4,
|
||||
force_uniform_tiles=False,
|
||||
tiled_decode=False,
|
||||
)
|
||||
|
||||
# Save and reload sample image
|
||||
sample_dir = test_dirs.sample_images
|
||||
filename_path = CATEGORY / (filename + EXT)
|
||||
save_image(upscaled[0], sample_dir / filename_path)
|
||||
upscaled = load_image(sample_dir / filename_path)
|
||||
|
||||
# Compare with reference
|
||||
test_image_dir = test_dirs.test_images
|
||||
test_image = load_image(test_image_dir / filename_path)
|
||||
diff = img_tensor_mae(blur(upscaled), blur(test_image))
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.info(f"{filename} MAE: {diff}")
|
||||
assert diff < 0.05, f"{filename} output doesn't match reference"
|
||||
Reference in New Issue
Block a user