Upload 2 files
Browse files
Danbooru Prompt Selector/TEST2024/NAIA_0218_testv2.exe
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:63425e67d5034488b7d3ec8105fe6a17be1afb7e4c37a2707bc86be72b8033f0
|
3 |
+
size 888968406
|
Danbooru Prompt Selector/TEST2024/NAIA_0218_testv2.py
CHANGED
@@ -2275,6 +2275,56 @@ class App(customtkinter.CTk, TkinterDnD.DnDWrapper):
|
|
2275 |
request_list = []
|
2276 |
for i in range(self.image_generation_repeat):
|
2277 |
if i != 0:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2278 |
cvalue = random.randint(0,9999999999)
|
2279 |
gen_request["seed"] = cvalue
|
2280 |
pre_prompt = gen_request["prompt"]
|
@@ -2467,8 +2517,56 @@ class App(customtkinter.CTk, TkinterDnD.DnDWrapper):
|
|
2467 |
request_list = []
|
2468 |
for i in range(self.image_generation_repeat):
|
2469 |
if i != 0:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2470 |
cvalue = random.randint(0,9999999999)
|
2471 |
gen_request["seed"] = cvalue
|
|
|
2472 |
try:
|
2473 |
treq_0, treq_1, treq_2, treq_3 = NAIA_generation.make_turbo_prompt(gen_request)
|
2474 |
request_list.append(gen_request.copy())
|
@@ -2641,6 +2739,7 @@ class App(customtkinter.CTk, TkinterDnD.DnDWrapper):
|
|
2641 |
|
2642 |
def turbo_process_request():
|
2643 |
turbo_count = 0
|
|
|
2644 |
while(request_list):
|
2645 |
gen_request = request_list.pop(0) #length=5
|
2646 |
generation_thread = threading.Thread(target=run_generation_turbo, args=(gen_request,), daemon=True)
|
@@ -2650,6 +2749,11 @@ class App(customtkinter.CTk, TkinterDnD.DnDWrapper):
|
|
2650 |
if app.turbo_button.get() == 0:
|
2651 |
app.state_label.configure(text =f"state : ์ฌ์ฉ์์ ์ํ ํฐ๋ณด์์ฒญ ์ค๋จ ({turbo_count})", text_color = "#FFFF97")
|
2652 |
break
|
|
|
|
|
|
|
|
|
|
|
2653 |
if self.automation_button.get() == 1:
|
2654 |
if self.toggle_prompt_fix_button.get() == 0:
|
2655 |
random_function()
|
@@ -4822,13 +4926,13 @@ class App(customtkinter.CTk, TkinterDnD.DnDWrapper):
|
|
4822 |
import_frame2 = customtkinter.CTkFrame(import_window_right, width=586, fg_color="#2B2B2B")
|
4823 |
import_frame2.grid(row=5, column=0, pady=5, padx=5, sticky="nsew")
|
4824 |
|
4825 |
-
i_seed_label = customtkinter.CTkLabel(import_frame2, font=my_font, text="
|
4826 |
i_seed_label.grid(row=0, column=0, padx=5, sticky="nsew")
|
4827 |
i_seed = customtkinter.CTkEntry(import_frame2, font=my_font, width=100)
|
4828 |
i_seed.grid(row=0, column=1, padx=5, sticky="nsew")
|
4829 |
i_seed.insert(0, str(contents['seed']))
|
4830 |
|
4831 |
-
i_sampler_label = customtkinter.CTkLabel(import_frame2, font=my_font, text="
|
4832 |
i_sampler_label.grid(row=0, column=2, padx=5, sticky="nsew")
|
4833 |
i_sampler = customtkinter.CTkEntry(import_frame2, font=my_font, width=100)
|
4834 |
i_sampler.grid(row=0, column=3, padx=5, sticky="nsew")
|
|
|
2275 |
request_list = []
|
2276 |
for i in range(self.image_generation_repeat):
|
2277 |
if i != 0:
|
2278 |
+
if self.hold_wildcard == False:
|
2279 |
+
before_wildcard_turbo = self.text_input.get("0.0", "end-1c")
|
2280 |
+
before_wildcard = [item.strip() for item in before_wildcard_turbo.split(',')]
|
2281 |
+
if '<' in before_wildcard_turbo:
|
2282 |
+
wildcard_present = True
|
2283 |
+
itc = 0
|
2284 |
+
while (wildcard_present and itc < 10):
|
2285 |
+
wildcard_present = False
|
2286 |
+
#### ๋จ๊ณ 1 : ์ธ์คํดํธ ์์ผ๋์นด๋ ์ฒ๋ฆฌ ###
|
2287 |
+
for i, keyword in enumerate(before_wildcard):
|
2288 |
+
if keyword.startswith('<') and keyword.endswith('>'):
|
2289 |
+
wildcard_present = True
|
2290 |
+
vbar_check = keyword[1:-1]
|
2291 |
+
if '|' in vbar_check:
|
2292 |
+
choices = vbar_check.split('|') # '|'๋ฅผ ๊ธฐ์ค์ผ๋ก split
|
2293 |
+
choice_dic = {}
|
2294 |
+
for choice in choices:
|
2295 |
+
match = re.match(r'(\d*\.?\d+):(.+)', choice)
|
2296 |
+
if match:
|
2297 |
+
value, keyword = float(match.group(1)), match.group(2).strip()
|
2298 |
+
else:
|
2299 |
+
value, keyword = 1, choice.strip()
|
2300 |
+
choice_dic[keyword] = value
|
2301 |
+
keywords = list(choice_dic.keys())
|
2302 |
+
weights = list(choice_dic.values())
|
2303 |
+
selected_instant_wildcard = random.choices(keywords, weights=weights, k=1)[0]
|
2304 |
+
before_wildcard[i] = selected_instant_wildcard
|
2305 |
+
#### ๋จ๊ณ 2 : ๊ธ๋ก๋ฒ ์์ผ๋์นด๋ ์ฒ๋ฆฌ ###
|
2306 |
+
for i, keyword in enumerate(before_wildcard):
|
2307 |
+
if "<" in keyword and ">" in keyword:
|
2308 |
+
wildcard_present = True
|
2309 |
+
input_str = keyword.strip('<>').strip()
|
2310 |
+
if("__" in input_str):
|
2311 |
+
adjectives = re.findall(r'__(.*?)__', input_str)
|
2312 |
+
last_keyword = re.split(r'__.*?__', input_str)[-1]
|
2313 |
+
adjective_string = ""
|
2314 |
+
for adjective in adjectives:
|
2315 |
+
adjective_string += (self.get_wildcard(adjective) + " ")
|
2316 |
+
before_wildcard[i] = adjective_string + self.get_wildcard(last_keyword)
|
2317 |
+
else:
|
2318 |
+
before_wildcard[i] = self.get_wildcard(input_str)
|
2319 |
+
itc += 1
|
2320 |
+
if not wildcard_present:
|
2321 |
+
break
|
2322 |
+
else:
|
2323 |
+
after_wildcard = self.text_input.get("0.0", "end-1c")
|
2324 |
+
after_wildcard = ', '.join(before_wildcard)
|
2325 |
+
cvalue = random.randint(0,9999999999)
|
2326 |
+
gen_request["seed"] = cvalue
|
2327 |
+
gen_request["prompt"] = after_wildcard
|
2328 |
cvalue = random.randint(0,9999999999)
|
2329 |
gen_request["seed"] = cvalue
|
2330 |
pre_prompt = gen_request["prompt"]
|
|
|
2517 |
request_list = []
|
2518 |
for i in range(self.image_generation_repeat):
|
2519 |
if i != 0:
|
2520 |
+
if self.hold_wildcard == False:
|
2521 |
+
before_wildcard_turbo = self.text_input.get("0.0", "end-1c")
|
2522 |
+
before_wildcard = [item.strip() for item in before_wildcard_turbo.split(',')]
|
2523 |
+
if '<' in before_wildcard_turbo:
|
2524 |
+
wildcard_present = True
|
2525 |
+
itc = 0
|
2526 |
+
while (wildcard_present and itc < 10):
|
2527 |
+
wildcard_present = False
|
2528 |
+
#### ๋จ๊ณ 1 : ์ธ์คํดํธ ์์ผ๋์นด๋ ์ฒ๋ฆฌ ###
|
2529 |
+
for i, keyword in enumerate(before_wildcard):
|
2530 |
+
if keyword.startswith('<') and keyword.endswith('>'):
|
2531 |
+
wildcard_present = True
|
2532 |
+
vbar_check = keyword[1:-1]
|
2533 |
+
if '|' in vbar_check:
|
2534 |
+
choices = vbar_check.split('|') # '|'๋ฅผ ๊ธฐ์ค์ผ๋ก split
|
2535 |
+
choice_dic = {}
|
2536 |
+
for choice in choices:
|
2537 |
+
match = re.match(r'(\d*\.?\d+):(.+)', choice)
|
2538 |
+
if match:
|
2539 |
+
value, keyword = float(match.group(1)), match.group(2).strip()
|
2540 |
+
else:
|
2541 |
+
value, keyword = 1, choice.strip()
|
2542 |
+
choice_dic[keyword] = value
|
2543 |
+
keywords = list(choice_dic.keys())
|
2544 |
+
weights = list(choice_dic.values())
|
2545 |
+
selected_instant_wildcard = random.choices(keywords, weights=weights, k=1)[0]
|
2546 |
+
before_wildcard[i] = selected_instant_wildcard
|
2547 |
+
#### ๋จ๊ณ 2 : ๊ธ๋ก๋ฒ ์์ผ๋์นด๋ ์ฒ๋ฆฌ ###
|
2548 |
+
for i, keyword in enumerate(before_wildcard):
|
2549 |
+
if "<" in keyword and ">" in keyword:
|
2550 |
+
wildcard_present = True
|
2551 |
+
input_str = keyword.strip('<>').strip()
|
2552 |
+
if("__" in input_str):
|
2553 |
+
adjectives = re.findall(r'__(.*?)__', input_str)
|
2554 |
+
last_keyword = re.split(r'__.*?__', input_str)[-1]
|
2555 |
+
adjective_string = ""
|
2556 |
+
for adjective in adjectives:
|
2557 |
+
adjective_string += (self.get_wildcard(adjective) + " ")
|
2558 |
+
before_wildcard[i] = adjective_string + self.get_wildcard(last_keyword)
|
2559 |
+
else:
|
2560 |
+
before_wildcard[i] = self.get_wildcard(input_str)
|
2561 |
+
itc += 1
|
2562 |
+
if not wildcard_present:
|
2563 |
+
break
|
2564 |
+
else:
|
2565 |
+
after_wildcard = self.text_input.get("0.0", "end-1c")
|
2566 |
+
after_wildcard = ', '.join(before_wildcard)
|
2567 |
cvalue = random.randint(0,9999999999)
|
2568 |
gen_request["seed"] = cvalue
|
2569 |
+
gen_request["prompt"] = after_wildcard
|
2570 |
try:
|
2571 |
treq_0, treq_1, treq_2, treq_3 = NAIA_generation.make_turbo_prompt(gen_request)
|
2572 |
request_list.append(gen_request.copy())
|
|
|
2739 |
|
2740 |
def turbo_process_request():
|
2741 |
turbo_count = 0
|
2742 |
+
last_gen_request_seed = request_list[0]['seed']
|
2743 |
while(request_list):
|
2744 |
gen_request = request_list.pop(0) #length=5
|
2745 |
generation_thread = threading.Thread(target=run_generation_turbo, args=(gen_request,), daemon=True)
|
|
|
2749 |
if app.turbo_button.get() == 0:
|
2750 |
app.state_label.configure(text =f"state : ์ฌ์ฉ์์ ์ํ ํฐ๋ณด์์ฒญ ์ค๋จ ({turbo_count})", text_color = "#FFFF97")
|
2751 |
break
|
2752 |
+
if self.automation_button.get() == 0:
|
2753 |
+
if request_list and request_list[0]['seed'] != last_gen_request_seed:
|
2754 |
+
app.state_label.configure(text =f"state : ์ฌ์ฉ์์ ์ํ ํฐ๋ณด์์ฒญ ์ค๋จ ({turbo_count})", text_color = "#FFFF97")
|
2755 |
+
break
|
2756 |
+
last_gen_request_seed = gen_request['seed']
|
2757 |
if self.automation_button.get() == 1:
|
2758 |
if self.toggle_prompt_fix_button.get() == 0:
|
2759 |
random_function()
|
|
|
4926 |
import_frame2 = customtkinter.CTkFrame(import_window_right, width=586, fg_color="#2B2B2B")
|
4927 |
import_frame2.grid(row=5, column=0, pady=5, padx=5, sticky="nsew")
|
4928 |
|
4929 |
+
i_seed_label = customtkinter.CTkLabel(import_frame2, font=my_font, text="Seed : ")
|
4930 |
i_seed_label.grid(row=0, column=0, padx=5, sticky="nsew")
|
4931 |
i_seed = customtkinter.CTkEntry(import_frame2, font=my_font, width=100)
|
4932 |
i_seed.grid(row=0, column=1, padx=5, sticky="nsew")
|
4933 |
i_seed.insert(0, str(contents['seed']))
|
4934 |
|
4935 |
+
i_sampler_label = customtkinter.CTkLabel(import_frame2, font=my_font, text="Sampler : ")
|
4936 |
i_sampler_label.grid(row=0, column=2, padx=5, sticky="nsew")
|
4937 |
i_sampler = customtkinter.CTkEntry(import_frame2, font=my_font, width=100)
|
4938 |
i_sampler.grid(row=0, column=3, padx=5, sticky="nsew")
|