Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
S
Stable Diffusion Webui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
novelai-storage
Stable Diffusion Webui
Commits
f8fb74b9
Commit
f8fb74b9
authored
Jul 04, 2024
by
Aarni Koskela
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bump Spandrel to 0.3.4; add spandrel-extra-arches for CodeFormer
parent
a30b19dd
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
7 deletions
+32
-7
modules/gfpgan_model.py
modules/gfpgan_model.py
+1
-3
modules/modelloader.py
modules/modelloader.py
+29
-3
requirements_versions.txt
requirements_versions.txt
+2
-1
No files found.
modules/gfpgan_model.py
View file @
f8fb74b9
...
...
@@ -36,13 +36,11 @@ class FaceRestorerGFPGAN(face_restoration_utils.CommonFaceRestoration):
ext_filter
=
[
'.pth'
],
):
if
'GFPGAN'
in
os
.
path
.
basename
(
model_path
):
model
=
modelloader
.
load_spandrel_model
(
return
modelloader
.
load_spandrel_model
(
model_path
,
device
=
self
.
get_device
(),
expected_architecture
=
'GFPGAN'
,
)
.
model
model
.
different_w
=
True
# see https://github.com/chaiNNer-org/spandrel/pull/81
return
model
raise
ValueError
(
"No GFPGAN model found"
)
def
restore
(
self
,
np_image
):
...
...
modules/modelloader.py
View file @
f8fb74b9
...
...
@@ -139,6 +139,27 @@ def load_upscalers():
key
=
lambda
x
:
x
.
name
.
lower
()
if
not
isinstance
(
x
.
scaler
,
(
UpscalerNone
,
UpscalerLanczos
,
UpscalerNearest
))
else
""
)
# None: not loaded, False: failed to load, True: loaded
_spandrel_extra_init_state
=
None
def
_init_spandrel_extra_archs
()
->
None
:
"""
Try to initialize `spandrel_extra_archs` (exactly once).
"""
global
_spandrel_extra_init_state
if
_spandrel_extra_init_state
is
not
None
:
return
try
:
import
spandrel
import
spandrel_extra_arches
spandrel
.
MAIN_REGISTRY
.
add
(
*
spandrel_extra_arches
.
EXTRA_REGISTRY
)
_spandrel_extra_init_state
=
True
except
Exception
:
logger
.
warning
(
"Failed to load spandrel_extra_arches"
,
exc_info
=
True
)
_spandrel_extra_init_state
=
False
def
load_spandrel_model
(
path
:
str
|
os
.
PathLike
,
...
...
@@ -148,11 +169,16 @@ def load_spandrel_model(
dtype
:
str
|
torch
.
dtype
|
None
=
None
,
expected_architecture
:
str
|
None
=
None
,
)
->
spandrel
.
ModelDescriptor
:
global
_spandrel_extra_init_state
import
spandrel
_init_spandrel_extra_archs
()
model_descriptor
=
spandrel
.
ModelLoader
(
device
=
device
)
.
load_from_file
(
str
(
path
))
if
expected_architecture
and
model_descriptor
.
architecture
!=
expected_architecture
:
arch
=
model_descriptor
.
architecture
if
expected_architecture
and
arch
.
name
!=
expected_architecture
:
logger
.
warning
(
f
"Model {path!r} is not a {expected_architecture!r} model (got {
model_descriptor.architectur
e!r})"
,
f
"Model {path!r} is not a {expected_architecture!r} model (got {
arch.nam
e!r})"
,
)
half
=
False
if
prefer_half
:
...
...
@@ -166,6 +192,6 @@ def load_spandrel_model(
model_descriptor
.
model
.
eval
()
logger
.
debug
(
"Loaded
%
s from
%
s (device=
%
s, half=
%
s, dtype=
%
s)"
,
model_descriptor
,
path
,
device
,
half
,
dtype
,
arch
,
path
,
device
,
half
,
dtype
,
)
return
model_descriptor
requirements_versions.txt
View file @
f8fb74b9
...
...
@@ -23,7 +23,8 @@ pytorch_lightning==1.9.4
resize-right==0.0.2
safetensors==0.4.2
scikit-image==0.21.0
spandrel==0.1.6
spandrel==0.3.4
spandrel-extra-arches==0.1.1
tomesd==0.1.3
torch
torchdiffeq==0.2.3
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment