Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Overbill1683
Stable Diffusion Webui
提交
443ca983
S
Stable Diffusion Webui
项目概览
Overbill1683
/
Stable Diffusion Webui
10 个月 前同步成功
通知
1752
Star
81
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
分析
仓库
DevOps
项目成员
Pages
S
Stable Diffusion Webui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Pages
分析
分析
仓库分析
DevOps
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
提交
体验新版 GitCode,发现更多精彩内容 >>
提交
443ca983
编写于
10月 22, 2023
作者:
A
avantcontra
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bug when using --gfpgan-models-path
上级
464fbcd9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
5 deletion
+20
-5
modules/gfpgan_model.py
modules/gfpgan_model.py
+20
-5
未找到文件。
modules/gfpgan_model.py
浏览文件 @
443ca983
...
...
@@ -9,6 +9,7 @@ from modules import paths, shared, devices, modelloader, errors
model_dir
=
"GFPGAN"
user_path
=
None
model_path
=
os
.
path
.
join
(
paths
.
models_path
,
model_dir
)
model_file_path
=
None
model_url
=
"https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.4.pth"
have_gfpgan
=
False
loaded_gfpgan_model
=
None
...
...
@@ -17,24 +18,32 @@ loaded_gfpgan_model = None
def
gfpgann
():
global
loaded_gfpgan_model
global
model_path
global
model_file_path
if
loaded_gfpgan_model
is
not
None
:
loaded_gfpgan_model
.
gfpgan
.
to
(
devices
.
device_gfpgan
)
return
loaded_gfpgan_model
if
gfpgan_constructor
is
None
:
return
None
models
=
modelloader
.
load_models
(
model_path
,
model_url
,
user_path
,
ext_filter
=
[
'.pth'
])
models
=
modelloader
.
load_models
(
model_path
,
model_url
,
user_path
,
ext_filter
=
"GFPGAN"
)
if
len
(
models
)
==
1
and
models
[
0
].
startswith
(
"http"
):
model_file
=
models
[
0
]
elif
len
(
models
)
!=
0
:
latest_file
=
max
(
models
,
key
=
os
.
path
.
getctime
)
gfp_models
=
[]
for
item
in
models
:
if
'GFPGAN'
in
os
.
path
.
basename
(
item
):
gfp_models
.
append
(
item
)
latest_file
=
max
(
gfp_models
,
key
=
os
.
path
.
getctime
)
model_file
=
latest_file
else
:
print
(
"Unable to load gfpgan model!"
)
return
None
if
hasattr
(
facexlib
.
detection
.
retinaface
,
'device'
):
facexlib
.
detection
.
retinaface
.
device
=
devices
.
device_gfpgan
model_file_path
=
model_file
model
=
gfpgan_constructor
(
model_path
=
model_file
,
upscale
=
1
,
arch
=
'clean'
,
channel_multiplier
=
2
,
bg_upsampler
=
None
,
device
=
devices
.
device_gfpgan
)
loaded_gfpgan_model
=
model
...
...
@@ -77,19 +86,25 @@ def setup_model(dirname):
global
user_path
global
have_gfpgan
global
gfpgan_constructor
global
model_file_path
facexlib_path
=
model_path
if
dirname
is
not
None
:
facexlib_path
=
dirname
load_file_from_url_orig
=
gfpgan
.
utils
.
load_file_from_url
facex_load_file_from_url_orig
=
facexlib
.
detection
.
load_file_from_url
facex_load_file_from_url_orig2
=
facexlib
.
parsing
.
load_file_from_url
def
my_load_file_from_url
(
**
kwargs
):
return
load_file_from_url_orig
(
**
dict
(
kwargs
,
model_dir
=
model_path
))
return
load_file_from_url_orig
(
**
dict
(
kwargs
,
model_dir
=
model_
file_
path
))
def
facex_load_file_from_url
(
**
kwargs
):
return
facex_load_file_from_url_orig
(
**
dict
(
kwargs
,
save_dir
=
model
_path
,
model_dir
=
None
))
return
facex_load_file_from_url_orig
(
**
dict
(
kwargs
,
save_dir
=
facexlib
_path
,
model_dir
=
None
))
def
facex_load_file_from_url2
(
**
kwargs
):
return
facex_load_file_from_url_orig2
(
**
dict
(
kwargs
,
save_dir
=
model
_path
,
model_dir
=
None
))
return
facex_load_file_from_url_orig2
(
**
dict
(
kwargs
,
save_dir
=
facexlib
_path
,
model_dir
=
None
))
gfpgan
.
utils
.
load_file_from_url
=
my_load_file_from_url
facexlib
.
detection
.
load_file_from_url
=
facex_load_file_from_url
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录