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
8de6d3ff
Commit
8de6d3ff
authored
Jul 25, 2023
by
lambertae
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix progress bar & torchHijack
parent
f8738902
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
6 deletions
+13
-6
modules/sd_samplers_kdiffusion.py
modules/sd_samplers_kdiffusion.py
+13
-6
No files found.
modules/sd_samplers_kdiffusion.py
View file @
8de6d3ff
...
@@ -79,19 +79,26 @@ def restart_sampler(model, x, sigmas, extra_args=None, callback=None, disable=No
...
@@ -79,19 +79,26 @@ def restart_sampler(model, x, sigmas, extra_args=None, callback=None, disable=No
for
key
,
value
in
restart_list
.
items
():
for
key
,
value
in
restart_list
.
items
():
temp_list
[
int
(
torch
.
argmin
(
abs
(
sigmas
-
key
),
dim
=
0
))]
=
value
temp_list
[
int
(
torch
.
argmin
(
abs
(
sigmas
-
key
),
dim
=
0
))]
=
value
restart_list
=
temp_list
restart_list
=
temp_list
for
i
in
trange
(
len
(
sigmas
)
-
1
,
disable
=
disable
):
step_list
=
[]
x
=
heun_step
(
x
,
sigmas
[
i
],
sigmas
[
i
+
1
])
for
i
in
range
(
len
(
sigmas
)
-
1
):
step_list
.
append
((
sigmas
[
i
],
sigmas
[
i
+
1
]))
if
i
+
1
in
restart_list
:
if
i
+
1
in
restart_list
:
restart_steps
,
restart_times
,
restart_max
=
restart_list
[
i
+
1
]
restart_steps
,
restart_times
,
restart_max
=
restart_list
[
i
+
1
]
min_idx
=
i
+
1
min_idx
=
i
+
1
max_idx
=
int
(
torch
.
argmin
(
abs
(
sigmas
-
restart_max
),
dim
=
0
))
max_idx
=
int
(
torch
.
argmin
(
abs
(
sigmas
-
restart_max
),
dim
=
0
))
if
max_idx
<
min_idx
:
if
max_idx
<
min_idx
:
sigma_restart
=
get_sigmas_karras
(
restart_steps
,
sigmas
[
min_idx
]
.
item
(),
sigmas
[
max_idx
]
.
item
(),
device
=
sigmas
.
device
)[:
-
1
]
# remove the zero at the end
sigma_restart
=
get_sigmas_karras
(
restart_steps
,
sigmas
[
min_idx
]
.
item
(),
sigmas
[
max_idx
]
.
item
(),
device
=
sigmas
.
device
)[:
-
1
]
while
restart_times
>
0
:
while
restart_times
>
0
:
restart_times
-=
1
restart_times
-=
1
x
=
x
+
torch
.
randn_like
(
x
)
*
s_noise
*
(
sigmas
[
max_idx
]
**
2
-
sigmas
[
min_idx
]
**
2
)
**
0.5
step_list
.
extend
([(
old_sigma
,
new_sigma
)
for
(
old_sigma
,
new_sigma
)
in
zip
(
sigma_restart
[:
-
1
],
sigma_restart
[
1
:])])
for
(
old_sigma
,
new_sigma
)
in
zip
(
sigma_restart
[:
-
1
],
sigma_restart
[
1
:]):
last_sigma
=
None
x
=
heun_step
(
x
,
old_sigma
,
new_sigma
)
for
i
in
trange
(
len
(
step_list
),
disable
=
disable
):
if
last_sigma
is
None
:
last_sigma
=
step_list
[
i
][
0
]
elif
last_sigma
<
step_list
[
i
][
0
]:
x
=
x
+
k_diffusion
.
sampling
.
torch
.
randn_like
(
x
)
*
s_noise
*
(
step_list
[
i
][
0
]
**
2
-
last_sigma
**
2
)
**
0.5
x
=
heun_step
(
x
,
step_list
[
i
][
0
],
step_list
[
i
][
1
])
last_sigma
=
step_list
[
i
][
1
]
return
x
return
x
samplers_data_k_diffusion
=
[
samplers_data_k_diffusion
=
[
...
...
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