Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Overbill1683
Stable Diffusion Webui
提交
c344ba3b
S
Stable Diffusion Webui
项目概览
Overbill1683
/
Stable Diffusion Webui
大约 1 年 前同步成功
通知
1786
Star
81
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
分析
仓库
DevOps
项目成员
Pages
S
Stable Diffusion Webui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Pages
分析
分析
仓库分析
DevOps
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
提交
体验新版 GitCode,发现更多精彩内容 >>
提交
c344ba3b
编写于
10月 14, 2022
作者:
A
AUTOMATIC
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add option to read generation params for learning previews from txt2img
上级
bb295f54
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
51 addition
and
15 deletion
+51
-15
modules/hypernetworks/hypernetwork.py
modules/hypernetworks/hypernetwork.py
+16
-5
modules/textual_inversion/textual_inversion.py
modules/textual_inversion/textual_inversion.py
+18
-7
modules/ui.py
modules/ui.py
+17
-3
未找到文件。
modules/hypernetworks/hypernetwork.py
浏览文件 @
c344ba3b
...
...
@@ -180,7 +180,7 @@ def attention_CrossAttention_forward(self, x, context=None, mask=None):
return
self
.
to_out
(
out
)
def
train_hypernetwork
(
hypernetwork_name
,
learn_rate
,
data_root
,
log_directory
,
steps
,
create_image_every
,
save_hypernetwork_every
,
template_file
,
preview_
image_promp
t
):
def
train_hypernetwork
(
hypernetwork_name
,
learn_rate
,
data_root
,
log_directory
,
steps
,
create_image_every
,
save_hypernetwork_every
,
template_file
,
preview_
from_txt2img
,
preview_prompt
,
preview_negative_prompt
,
preview_steps
,
preview_sampler_index
,
preview_cfg_scale
,
preview_seed
,
preview_width
,
preview_heigh
t
):
assert
hypernetwork_name
,
'hypernetwork not selected'
path
=
shared
.
hypernetworks
.
get
(
hypernetwork_name
,
None
)
...
...
@@ -265,20 +265,31 @@ def train_hypernetwork(hypernetwork_name, learn_rate, data_root, log_directory,
if
hypernetwork
.
step
>
0
and
images_dir
is
not
None
and
hypernetwork
.
step
%
create_image_every
==
0
:
last_saved_image
=
os
.
path
.
join
(
images_dir
,
f
'
{
hypernetwork_name
}
-
{
hypernetwork
.
step
}
.png'
)
preview_text
=
entry
.
cond_text
if
preview_image_prompt
==
""
else
preview_image_prompt
optimizer
.
zero_grad
()
shared
.
sd_model
.
cond_stage_model
.
to
(
devices
.
device
)
shared
.
sd_model
.
first_stage_model
.
to
(
devices
.
device
)
p
=
processing
.
StableDiffusionProcessingTxt2Img
(
sd_model
=
shared
.
sd_model
,
prompt
=
preview_text
,
steps
=
20
,
do_not_save_grid
=
True
,
do_not_save_samples
=
True
,
)
if
preview_from_txt2img
:
p
.
prompt
=
preview_prompt
p
.
negative_prompt
=
preview_negative_prompt
p
.
steps
=
preview_steps
p
.
sampler_index
=
preview_sampler_index
p
.
cfg_scale
=
preview_cfg_scale
p
.
seed
=
preview_seed
p
.
width
=
preview_width
p
.
height
=
preview_height
else
:
p
.
prompt
=
entry
.
cond_text
p
.
steps
=
20
preview_text
=
p
.
prompt
processed
=
processing
.
process_images
(
p
)
image
=
processed
.
images
[
0
]
if
len
(
processed
.
images
)
>
0
else
None
...
...
modules/textual_inversion/textual_inversion.py
浏览文件 @
c344ba3b
...
...
@@ -172,7 +172,7 @@ def create_embedding(name, num_vectors_per_token, init_text='*'):
return
fn
def
train_embedding
(
embedding_name
,
learn_rate
,
data_root
,
log_directory
,
training_width
,
training_height
,
steps
,
create_image_every
,
save_embedding_every
,
template_file
,
save_image_with_stored_embedding
,
preview_
image_promp
t
):
def
train_embedding
(
embedding_name
,
learn_rate
,
data_root
,
log_directory
,
training_width
,
training_height
,
steps
,
create_image_every
,
save_embedding_every
,
template_file
,
save_image_with_stored_embedding
,
preview_
from_txt2img
,
preview_prompt
,
preview_negative_prompt
,
preview_steps
,
preview_sampler_index
,
preview_cfg_scale
,
preview_seed
,
preview_width
,
preview_heigh
t
):
assert
embedding_name
,
'embedding not selected'
shared
.
state
.
textinfo
=
"Initializing textual inversion training..."
...
...
@@ -259,18 +259,29 @@ def train_embedding(embedding_name, learn_rate, data_root, log_directory, traini
if
embedding
.
step
>
0
and
images_dir
is
not
None
and
embedding
.
step
%
create_image_every
==
0
:
last_saved_image
=
os
.
path
.
join
(
images_dir
,
f
'
{
embedding_name
}
-
{
embedding
.
step
}
.png'
)
preview_text
=
entry
.
cond_text
if
preview_image_prompt
==
""
else
preview_image_prompt
p
=
processing
.
StableDiffusionProcessingTxt2Img
(
sd_model
=
shared
.
sd_model
,
prompt
=
preview_text
,
steps
=
20
,
height
=
training_height
,
width
=
training_width
,
do_not_save_grid
=
True
,
do_not_save_samples
=
True
,
)
if
preview_from_txt2img
:
p
.
prompt
=
preview_prompt
p
.
negative_prompt
=
preview_negative_prompt
p
.
steps
=
preview_steps
p
.
sampler_index
=
preview_sampler_index
p
.
cfg_scale
=
preview_cfg_scale
p
.
seed
=
preview_seed
p
.
width
=
preview_width
p
.
height
=
preview_height
else
:
p
.
prompt
=
entry
.
cond_text
p
.
steps
=
20
p
.
width
=
training_width
p
.
height
=
training_height
preview_text
=
p
.
prompt
processed
=
processing
.
process_images
(
p
)
image
=
processed
.
images
[
0
]
...
...
modules/ui.py
浏览文件 @
c344ba3b
...
...
@@ -711,6 +711,18 @@ def create_ui(wrap_gradio_gpu_call):
(
firstphase_width
,
"First pass size-1"
),
(
firstphase_height
,
"First pass size-2"
),
]
txt2img_preview_params
=
[
txt2img_prompt
,
txt2img_negative_prompt
,
steps
,
sampler_index
,
cfg_scale
,
seed
,
width
,
height
,
]
token_button
.
click
(
fn
=
update_token_counter
,
inputs
=
[
txt2img_prompt
,
steps
],
outputs
=
[
token_counter
])
with
gr
.
Blocks
(
analytics_enabled
=
False
)
as
img2img_interface
:
...
...
@@ -1162,7 +1174,7 @@ def create_ui(wrap_gradio_gpu_call):
create_image_every
=
gr
.
Number
(
label
=
'Save an image to log directory every N steps, 0 to disable'
,
value
=
500
,
precision
=
0
)
save_embedding_every
=
gr
.
Number
(
label
=
'Save a copy of embedding to log directory every N steps, 0 to disable'
,
value
=
500
,
precision
=
0
)
save_image_with_stored_embedding
=
gr
.
Checkbox
(
label
=
'Save images with embedding in PNG chunks'
,
value
=
True
)
preview_
image_prompt
=
gr
.
Textbox
(
label
=
'Preview prompt'
,
value
=
""
)
preview_
from_txt2img
=
gr
.
Checkbox
(
label
=
'Read parameters (prompt, etc...) from txt2img tab when making previews'
,
value
=
False
)
with
gr
.
Row
():
interrupt_training
=
gr
.
Button
(
value
=
"Interrupt"
)
...
...
@@ -1240,7 +1252,8 @@ def create_ui(wrap_gradio_gpu_call):
save_embedding_every
,
template_file
,
save_image_with_stored_embedding
,
preview_image_prompt
,
preview_from_txt2img
,
*
txt2img_preview_params
,
],
outputs
=
[
ti_output
,
...
...
@@ -1260,7 +1273,8 @@ def create_ui(wrap_gradio_gpu_call):
create_image_every
,
save_embedding_every
,
template_file
,
preview_image_prompt
,
preview_from_txt2img
,
*
txt2img_preview_params
,
],
outputs
=
[
ti_output
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录