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
68a5604c
Commit
68a5604c
authored
Mar 27, 2023
by
pieresimakp
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'upstream/master' into pr-dev
parents
774c691d
3b5a3fab
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
63 additions
and
29 deletions
+63
-29
extensions-builtin/Lora/lora.py
extensions-builtin/Lora/lora.py
+3
-2
javascript/imageviewer.js
javascript/imageviewer.js
+3
-21
javascript/ui.js
javascript/ui.js
+31
-5
modules/scripts.py
modules/scripts.py
+12
-0
style.css
style.css
+14
-1
No files found.
extensions-builtin/Lora/lora.py
View file @
68a5604c
...
...
@@ -2,6 +2,7 @@ import glob
import
os
import
re
import
torch
from
typing
import
Union
from
modules
import
shared
,
devices
,
sd_models
,
errors
...
...
@@ -235,7 +236,7 @@ def lora_calc_updown(lora, module, target):
return
updown
def
lora_apply_weights
(
self
:
torch
.
nn
.
Conv2d
|
torch
.
nn
.
Linear
|
torch
.
nn
.
MultiheadAttention
):
def
lora_apply_weights
(
self
:
Union
[
torch
.
nn
.
Conv2d
,
torch
.
nn
.
Linear
,
torch
.
nn
.
MultiheadAttention
]
):
"""
Applies the currently selected set of Loras to the weights of torch layer self.
If weights already have this particular set of loras applied, does nothing.
...
...
@@ -295,7 +296,7 @@ def lora_apply_weights(self: torch.nn.Conv2d | torch.nn.Linear | torch.nn.Multih
setattr
(
self
,
"lora_current_names"
,
wanted_names
)
def
lora_reset_cached_weight
(
self
:
torch
.
nn
.
Conv2d
|
torch
.
nn
.
Linear
):
def
lora_reset_cached_weight
(
self
:
Union
[
torch
.
nn
.
Conv2d
,
torch
.
nn
.
Linear
]
):
setattr
(
self
,
"lora_current_names"
,
())
setattr
(
self
,
"lora_weights_backup"
,
None
)
...
...
javascript/imageviewer.js
View file @
68a5604c
...
...
@@ -32,13 +32,7 @@ function negmod(n, m) {
function
updateOnBackgroundChange
()
{
const
modalImage
=
gradioApp
().
getElementById
(
"
modalImage
"
)
if
(
modalImage
&&
modalImage
.
offsetParent
)
{
let
allcurrentButtons
=
gradioApp
().
querySelectorAll
(
"
.gallery-item.transition-all.
\\
!ring-2
"
)
let
currentButton
=
null
allcurrentButtons
.
forEach
(
function
(
elem
)
{
if
(
elem
.
parentElement
.
offsetParent
)
{
currentButton
=
elem
;
}
})
let
currentButton
=
selected_gallery_button
();
if
(
currentButton
?.
children
?.
length
>
0
&&
modalImage
.
src
!=
currentButton
.
children
[
0
].
src
)
{
modalImage
.
src
=
currentButton
.
children
[
0
].
src
;
...
...
@@ -50,22 +44,10 @@ function updateOnBackgroundChange() {
}
function
modalImageSwitch
(
offset
)
{
var
allgalleryButtons
=
gradioApp
().
querySelectorAll
(
"
.gradio-gallery .thumbnail-item
"
)
var
galleryButtons
=
[]
allgalleryButtons
.
forEach
(
function
(
elem
)
{
if
(
elem
.
parentElement
.
offsetParent
)
{
galleryButtons
.
push
(
elem
);
}
})
var
galleryButtons
=
all_gallery_buttons
();
if
(
galleryButtons
.
length
>
1
)
{
var
allcurrentButtons
=
gradioApp
().
querySelectorAll
(
"
.gradio-gallery .thumbnail-item.selected
"
)
var
currentButton
=
null
allcurrentButtons
.
forEach
(
function
(
elem
)
{
if
(
elem
.
parentElement
.
offsetParent
)
{
currentButton
=
elem
;
}
})
var
currentButton
=
selected_gallery_button
();
var
result
=
-
1
galleryButtons
.
forEach
(
function
(
v
,
i
)
{
...
...
javascript/ui.js
View file @
68a5604c
...
...
@@ -7,9 +7,31 @@ function set_theme(theme){
}
}
function
all_gallery_buttons
()
{
var
allGalleryButtons
=
gradioApp
().
querySelectorAll
(
'
[style="display: block;"].tabitem div[id$=_gallery].gradio-gallery .thumbnails > .thumbnail-item.thumbnail-small
'
);
var
visibleGalleryButtons
=
[];
allGalleryButtons
.
forEach
(
function
(
elem
)
{
if
(
elem
.
parentElement
.
offsetParent
)
{
visibleGalleryButtons
.
push
(
elem
);
}
})
return
visibleGalleryButtons
;
}
function
selected_gallery_button
()
{
var
allCurrentButtons
=
gradioApp
().
querySelectorAll
(
'
[style="display: block;"].tabitem div[id$=_gallery].gradio-gallery .thumbnail-item.thumbnail-small.selected
'
);
var
visibleCurrentButton
=
null
;
allCurrentButtons
.
forEach
(
function
(
elem
)
{
if
(
elem
.
parentElement
.
offsetParent
)
{
visibleCurrentButton
=
elem
;
}
})
return
visibleCurrentButton
;
}
function
selected_gallery_index
(){
var
buttons
=
gradioApp
().
querySelectorAll
(
'
[style="display: block;"].tabitem div[id$=_gallery] .gallery-item
'
)
var
button
=
gradioApp
().
querySelector
(
'
[style="display: block;"].tabitem div[id$=_gallery] .gallery-item.
\\
!ring-2
'
)
var
buttons
=
all_gallery_buttons
();
var
button
=
selected_gallery_button
();
var
result
=
-
1
buttons
.
forEach
(
function
(
v
,
i
){
if
(
v
==
button
)
{
result
=
i
}
})
...
...
@@ -18,14 +40,18 @@ function selected_gallery_index(){
}
function
extract_image_from_gallery
(
gallery
){
if
(
gallery
.
length
==
1
){
return
[
gallery
[
0
]]
if
(
gallery
.
length
==
0
){
return
[
null
];
}
if
(
gallery
.
length
==
1
){
return
[
gallery
[
0
]];
}
index
=
selected_gallery_index
()
if
(
index
<
0
||
index
>=
gallery
.
length
){
return
[
null
]
// Use the first image in the gallery as the default
index
=
0
;
}
return
[
gallery
[
index
]];
...
...
modules/scripts.py
View file @
68a5604c
...
...
@@ -553,3 +553,15 @@ def IOComponent_init(self, *args, **kwargs):
original_IOComponent_init
=
gr
.
components
.
IOComponent
.
__init__
gr
.
components
.
IOComponent
.
__init__
=
IOComponent_init
def
BlockContext_init
(
self
,
*
args
,
**
kwargs
):
res
=
original_BlockContext_init
(
self
,
*
args
,
**
kwargs
)
add_classes_to_gradio_component
(
self
)
return
res
original_BlockContext_init
=
gr
.
blocks
.
BlockContext
.
__init__
gr
.
blocks
.
BlockContext
.
__init__
=
BlockContext_init
style.css
View file @
68a5604c
...
...
@@ -7,7 +7,7 @@
--block-background-fill
:
transparent
;
}
.block.padded
{
.block.padded
:not
(
.gradio-accordion
)
{
padding
:
0
!important
;
}
...
...
@@ -65,6 +65,19 @@ div.compact{
margin-bottom
:
0
;
}
.gradio-dropdown
ul
.options
{
max-height
:
35em
;
z-index
:
3000
;
}
.gradio-dropdown
ul
.options
li
.item
{
padding
:
0.05em
0
;
}
.gradio-dropdown
ul
.options
li
.item.selected
{
background-color
:
var
(
--secondary-500
);
}
.gradio-dropdown
div
.wrap.wrap.wrap.wrap
{
box-shadow
:
0
1px
2px
0
rgba
(
0
,
0
,
0
,
0.05
);
}
...
...
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