diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-12-30 15:06:31 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-30 15:06:31 +0000 |
commit | cd12c0e15c4dc1545cac18ba902ca17488812953 (patch) | |
tree | 9c70df74d3e426341d1189b1ceadbd8afffeae91 /test/test_face_restorers.py | |
parent | 05230c02606080527b65ace9eacb6fb835239877 (diff) | |
parent | 4ad0c0c0a805da4bac03cff86ea17c25a1291546 (diff) | |
download | stable-diffusion-webui-gfx803-cd12c0e15c4dc1545cac18ba902ca17488812953.tar.gz stable-diffusion-webui-gfx803-cd12c0e15c4dc1545cac18ba902ca17488812953.tar.bz2 stable-diffusion-webui-gfx803-cd12c0e15c4dc1545cac18ba902ca17488812953.zip |
Merge pull request #14425 from akx/spandrel
Use Spandrel for upscaling and face restoration architectures
Diffstat (limited to 'test/test_face_restorers.py')
-rw-r--r-- | test/test_face_restorers.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/test_face_restorers.py b/test/test_face_restorers.py new file mode 100644 index 00000000..7760d51b --- /dev/null +++ b/test/test_face_restorers.py @@ -0,0 +1,29 @@ +import os +from test.conftest import test_files_path, test_outputs_path + +import numpy as np +import pytest +from PIL import Image + + +@pytest.mark.usefixtures("initialize") +@pytest.mark.parametrize("restorer_name", ["gfpgan", "codeformer"]) +def test_face_restorers(restorer_name): + from modules import shared + + if restorer_name == "gfpgan": + from modules import gfpgan_model + gfpgan_model.setup_model(shared.cmd_opts.gfpgan_models_path) + restorer = gfpgan_model.gfpgan_fix_faces + elif restorer_name == "codeformer": + from modules import codeformer_model + codeformer_model.setup_model(shared.cmd_opts.codeformer_models_path) + restorer = codeformer_model.codeformer.restore + else: + raise NotImplementedError("...") + img = Image.open(os.path.join(test_files_path, "two-faces.jpg")) + np_img = np.array(img, dtype=np.uint8) + fixed_image = restorer(np_img) + assert fixed_image.shape == np_img.shape + assert not np.allclose(fixed_image, np_img) # should have visibly changed + Image.fromarray(fixed_image).save(os.path.join(test_outputs_path, f"{restorer_name}.png")) |