Merge branch 'main' into pr/186

pull/186/head
AlUlkesh 2023-06-05 09:12:46 +02:00
commit dab2cd99a6
5 changed files with 28 additions and 21 deletions

View File

@ -1,8 +1,9 @@
import launch
import os
if not launch.is_installed("send2trash"):
launch.run_pip("install Send2Trash", "Send2Trash requirement for image browser")
# temporarily deactivated
#if not launch.is_installed("ImageReward"):
#launch.run_pip("install image-reward", "ImageReward requirement for image browser")
if not launch.is_installed("ImageReward"):
req_IR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "req_IR.txt")
launch.run_pip(f'install -r "{req_IR}" --no-deps image-reward', 'ImageReward requirement for image browser')

View File

@ -358,7 +358,7 @@ async function image_browser_controlnet_send(toTabNum, tab_base_tag, image_index
let clear
try {
clear = inputContainer.querySelector("button[aria-label='Clear']")
clear = inputContainer.querySelector("button[aria-label='Remove Image']")
if (clear) {
clear.click()
}
@ -372,7 +372,7 @@ async function image_browser_controlnet_send(toTabNum, tab_base_tag, image_index
// 60 seconds in milliseconds
const timeout = 60000
while (clear) {
clear = inputContainer.querySelector("button[aria-label='Clear']")
clear = inputContainer.querySelector("button[aria-label='Remove Image']")
if (Date.now() - startTime > timeout) {
throw new Error("image_browser_controlnet_send/clear: 60 seconds have passed")
}

1
req_IR.txt Normal file
View File

@ -0,0 +1 @@
fairscale

View File

@ -47,9 +47,7 @@ except ImportError:
try:
import ImageReward
# temporarily deactivated
# image_reward_installed = True
image_reward_installed = False
image_reward_installed = True
except ImportError:
print("Image Browser: ImageReward is not installed, cannot be used.")
image_reward_installed = False
@ -1082,16 +1080,19 @@ def generate_image_reward(filenames, turn_page_switch, aes_filter_min, aes_filte
for filename in filenames:
saved_image_reward_score, saved_image_reward_prompt = wib_db.select_image_reward_score(cursor, filename)
if saved_image_reward_score is None and saved_image_reward_prompt is not None:
with torch.no_grad():
image_reward_score = image_reward_model.score(saved_image_reward_prompt, filename)
image_reward_score = f"{image_reward_score:.2f}"
try:
logger.warning(f"Generated ImageRewardScore: {image_reward_score} for {filename}")
except UnicodeEncodeError:
pass
wib_db.update_image_reward_score(cursor, filename, image_reward_score)
if any(filename.endswith(ext) for ext in image_ext_list):
img_file_info = update_exif(filename, "ImageRewardScore", image_reward_score)
with torch.no_grad():
image_reward_score = image_reward_model.score(saved_image_reward_prompt, filename)
image_reward_score = f"{image_reward_score:.2f}"
try:
logger.warning(f"Generated ImageRewardScore: {image_reward_score} for {filename}")
except UnicodeEncodeError:
pass
wib_db.update_image_reward_score(cursor, filename, image_reward_score)
if any(filename.endswith(ext) for ext in image_ext_list):
img_file_info = update_exif(filename, "ImageRewardScore", image_reward_score)
except UnidentifiedImageError as e:
logger.warning(f"UnidentifiedImageError: {e}")
wib_db.transaction_end(conn, cursor)
return -turn_page_switch, aes_filter_min, aes_filter_max
@ -1140,8 +1141,7 @@ def create_tab(tab: ImageBrowserTab, current_gr_tab: gr.Tab):
with gr.Row(visible=others_dir):
with gr.Column(scale=10):
suffix = "" if others_dir else tab.name
img_path = gr.Textbox(dir_name, label="Images directory"+suffix, placeholder="Input images directory", interactive=others_dir)
img_path = gr.Textbox(dir_name, label="Images directory", placeholder="Input images directory", interactive=others_dir)
with gr.Column(scale=1):
img_path_depth = gr.Number(value="0", label="Sub directory depth")
with gr.Column(scale=1):
@ -1645,7 +1645,7 @@ def on_ui_tabs():
create_tab(tab, current_gr_tab)
gr.Checkbox(value=opts.image_browser_preload, elem_id="image_browser_preload", visible=False)
gr.Textbox(",".join( [tab.base_tag for tab in tabs_list] ), elem_id="image_browser_tab_base_tags_list", visible=False)
gr.Checkbox(value=opts.image_browser_swipe, elem_id=f"image_browser_swipe")
gr.Checkbox(value=opts.image_browser_swipe, elem_id=f"image_browser_swipe", visible=False)
javascript_level_value, (javascript_level, javascript_level_text) = debug_levels(arg_level="javascript")
level_value, (level, level_text) = debug_levels(arg_text=opts.image_browser_debug_level)
@ -1655,6 +1655,11 @@ def on_ui_tabs():
debug_level_option = ""
gr.Textbox(value=debug_level_option, elem_id="image_browser_debug_level_option", visible=False)
# Webui's ui_loadsave uses gradio labels as keys, this does not work with image browser, as the same labels are used on different tabs
# For this reason the do_not_save_to_config attribute is added to each gradio element
for key, value in image_browser.blocks.items():
setattr(value, "do_not_save_to_config", True)
return (image_browser, "Image Browser", "image_browser"),
def move_setting(cur_setting_name, old_setting_name, option_info, section, added):

View File

@ -32,7 +32,7 @@ button[id$='_image_browser_del_img_btn'] {
/* Workaround until gradio version is updated to a version that fixes it
see https://github.com/gradio-app/gradio/issues/1590
*/
.thumbnail-item > img {
#tab_image_browser .thumbnail-item > img {
width: auto !important;
height: auto !important;
}