Commit Graph

27 Commits

Author SHA1 Message Date
Aarni Koskela 777af661a2 Be more clear about Spandrel model nomenclature 2023-12-31 00:22:58 +02:00
Aarni Koskela 4ad0c0c0a8 Verify architecture for loaded Spandrel models 2023-12-30 16:37:03 +02:00
Aarni Koskela b621a63cf6 Unify CodeFormer and GFPGAN restoration backends, use Spandrel for GFPGAN 2023-12-30 16:30:49 +02:00
Aarni Koskela b0f5934234 Use Spandrel for upscaling and face restoration architectures (aside from GFPGAN and LDSR) 2023-12-30 16:24:01 +02:00
avantcontra 236dd55dbe fix Blank line contains whitespace 2023-10-22 04:32:13 +08:00
avantcontra 443ca983ad fix bug when using --gfpgan-models-path 2023-10-22 03:21:23 +08:00
AUTOMATIC1111 3cd4fd51ef
Merge pull request #10823 from akx/model-loady
Upscaler model loading cleanup
2023-06-27 09:20:49 +03:00
Aarni Koskela 0afbc0c235 Fix up `if "http" in ...:` to be more sensible startswiths 2023-06-13 12:38:29 +03:00
Aarni Koskela 165ab44f03 Use os.makedirs(..., exist_ok=True) 2023-06-13 12:35:43 +03:00
AUTOMATIC 05933840f0 rename print_error to report, use it with together with package name 2023-05-31 19:56:37 +03:00
Aarni Koskela 00dfe27f59 Add & use modules.errors.print_error where currently printing exception info by hand 2023-05-29 09:17:30 +03:00
AUTOMATIC 4b854806d9 F401 fixes for ruff 2023-05-10 09:02:23 +03:00
Max Audron 5eee2ac398 add data-dir flag and set all user data directories based on it 2023-01-27 14:44:30 +01:00
brkirch f4a488f585 Set device for facelib/facexlib and gfpgan
* FaceXLib/FaceLib doesn't pass the device argument to RetinaFace but instead chooses one itself and sets it to a global - in order to use a device other than its internally chosen default it is necessary to manually replace the default value
* The GFPGAN constructor needs the device argument to work with MPS or a CUDA device ID that differs from the default
2022-11-12 03:34:13 -05:00
brkirch e9e2a7ec9a
Merge branch 'master' into cpu-cmdline-opt 2022-10-04 07:42:53 -04:00
AUTOMATIC 6c6ae28bf5 send all three of GFPGAN's and codeformer's models to CPU memory instead of just one for #1283 2022-10-04 12:32:22 +03:00
brkirch b88e4ea7d6
Merge branch 'master' into master 2022-10-04 01:04:19 -04:00
AUTOMATIC 6491b09c24 use existing function for gfpgan 2022-10-03 08:53:52 +03:00
brkirch bdaa36c844 When device is MPS, use CPU for GFPGAN instead
GFPGAN will not work if the device is MPS, so default to CPU instead.
2022-09-30 23:53:25 -04:00
AUTOMATIC d1f098540a remove unwanted formatting/functionality from the PR 2022-09-30 11:42:40 +03:00
d8ahazard 0dce0df1ee Holy $hit.
Yep.

Fix gfpgan_model_arch requirement(s).
Add Upscaler base class, move from images.
Add a lot of methods to Upscaler.
Re-work all the child upscalers to be proper classes.
Add BSRGAN scaler.
Add ldsr_model_arch class, removing the dependency for another repo that just uses regular latent-diffusion stuff.
Add one universal method that will always find and load new upscaler models without having to add new "setup_model" calls. Still need to add command line params, but that could probably be automated.
Add a "self.scale" property to all Upscalers so the scalers themselves can do "things" in response to the requested upscaling size.
Ensure LDSR doesn't get stuck in a longer loop of "upscale/downscale/upscale" as we try to reach the target upscale size.
Add typehints for IDE sanity.
PEP-8 improvements.
Moar.
2022-09-29 17:46:23 -05:00
d8ahazard 740070ea9c Re-implement universal model loading 2022-09-26 09:29:50 -05:00
AUTOMATIC d4205e66fa gfpgan: just download the damn model 2022-09-23 10:26:00 +03:00
AUTOMATIC 843b2b64fc Instance of CUDA out of memory on a low-res batch, even with --opt-split-attention-v1 (found cause) #255 2022-09-12 18:40:06 +03:00
AUTOMATIC 6a9b33c848 codeformer support 2022-09-07 12:32:28 +03:00
AUTOMATIC 595c827bd3 option to unload GFPGAN after using 2022-09-03 17:28:30 +03:00
AUTOMATIC 345028099d split codebase into multiple files; to anyone this affects negatively: sorry 2022-09-03 12:08:45 +03:00