John6666 commited on
Commit
9272174
1 Parent(s): 2bf8985

Upload 12 files

Browse files
Files changed (5) hide show
  1. app.py +5 -4
  2. dc.py +7 -3
  3. modutils.py +11 -0
  4. requirements.txt +3 -4
  5. tagger/tagger.py +12 -21
app.py CHANGED
@@ -51,8 +51,9 @@ with gr.Blocks(fill_width=True, elem_id="container", css=css, delete_cache=(60,
51
  prompt = gr.Text(label="Prompt", show_label=False, lines=1, max_lines=8, placeholder="Enter your prompt", container=False)
52
 
53
  with gr.Row():
54
- run_button = gr.Button("Run")
55
- run_translate_button = gr.Button("Translate")
 
56
 
57
  result = gr.Image(label="Result", elem_id="result", format="png", show_label=False, interactive=False,
58
  show_download_button=True, show_share_button=False, container=True)
@@ -174,7 +175,7 @@ with gr.Blocks(fill_width=True, elem_id="container", css=css, delete_cache=(60,
174
  inputs=[prompt, negative_prompt, seed, randomize_seed, width, height,
175
  guidance_scale, num_inference_steps, model_name,
176
  lora1, lora1_wt, lora2, lora2_wt, lora3, lora3_wt, lora4, lora4_wt, lora5, lora5_wt,
177
- sampler, vae_model],
178
  outputs=[result],
179
  queue=True,
180
  show_progress="full",
@@ -187,7 +188,7 @@ with gr.Blocks(fill_width=True, elem_id="container", css=css, delete_cache=(60,
187
  inputs=[prompt, negative_prompt, seed, randomize_seed, width, height,
188
  guidance_scale, num_inference_steps, model_name,
189
  lora1, lora1_wt, lora2, lora2_wt, lora3, lora3_wt, lora4, lora4_wt, lora5, lora5_wt,
190
- sampler, vae_model],
191
  outputs=[result],
192
  queue=False,
193
  show_api=True,
 
51
  prompt = gr.Text(label="Prompt", show_label=False, lines=1, max_lines=8, placeholder="Enter your prompt", container=False)
52
 
53
  with gr.Row():
54
+ run_button = gr.Button("Run", variant="primary", scale=5)
55
+ run_translate_button = gr.Button("Run with LLM Enhance", variant="secondary", scale=3)
56
+ auto_trans = gr.Checkbox(label="Auto translate to English", value=True, scale=2)
57
 
58
  result = gr.Image(label="Result", elem_id="result", format="png", show_label=False, interactive=False,
59
  show_download_button=True, show_share_button=False, container=True)
 
175
  inputs=[prompt, negative_prompt, seed, randomize_seed, width, height,
176
  guidance_scale, num_inference_steps, model_name,
177
  lora1, lora1_wt, lora2, lora2_wt, lora3, lora3_wt, lora4, lora4_wt, lora5, lora5_wt,
178
+ sampler, vae_model, auto_trans],
179
  outputs=[result],
180
  queue=True,
181
  show_progress="full",
 
188
  inputs=[prompt, negative_prompt, seed, randomize_seed, width, height,
189
  guidance_scale, num_inference_steps, model_name,
190
  lora1, lora1_wt, lora2, lora2_wt, lora3, lora3_wt, lora4, lora4_wt, lora5, lora5_wt,
191
+ sampler, vae_model, auto_trans],
192
  outputs=[result],
193
  queue=False,
194
  show_api=True,
dc.py CHANGED
@@ -697,14 +697,14 @@ from pathlib import Path
697
  from modutils import (safe_float, escape_lora_basename, to_lora_key, to_lora_path,
698
  get_local_model_list, get_private_lora_model_lists, get_valid_lora_name,
699
  get_valid_lora_path, get_valid_lora_wt, get_lora_info,
700
- normalize_prompt_list, get_civitai_info, search_lora_on_civitai)
701
 
702
  sd_gen = GuiSD()
703
  #@spaces.GPU
704
  def infer(prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale, num_inference_steps,
705
  model_name = load_diffusers_format_model[0], lora1 = None, lora1_wt = 1.0, lora2 = None, lora2_wt = 1.0,
706
  lora3 = None, lora3_wt = 1.0, lora4 = None, lora4_wt = 1.0, lora5 = None, lora5_wt = 1.0,
707
- sampler = "Euler a", vae = None, progress=gr.Progress(track_tqdm=True)):
708
  import PIL
709
  import numpy as np
710
  MAX_SEED = np.iinfo(np.int32).max
@@ -718,6 +718,10 @@ def infer(prompt, negative_prompt, seed, randomize_seed, width, height, guidance
718
 
719
  generator = torch.Generator().manual_seed(seed).seed()
720
 
 
 
 
 
721
  prompt, negative_prompt = insert_model_recom_prompt(prompt, negative_prompt, model_name)
722
  progress(0.5, desc="Preparing...")
723
  lora1, lora1_wt, lora2, lora2_wt, lora3, lora3_wt, lora4, lora4_wt, lora5, lora5_wt = \
@@ -752,7 +756,7 @@ def infer(prompt, negative_prompt, seed, randomize_seed, width, height, guidance
752
  def _infer(prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale, num_inference_steps,
753
  model_name = load_diffusers_format_model[0], lora1 = None, lora1_wt = 1.0, lora2 = None, lora2_wt = 1.0,
754
  lora3 = None, lora3_wt = 1.0, lora4 = None, lora4_wt = 1.0, lora5 = None, lora5_wt = 1.0,
755
- sampler = "Euler a", vae = None, progress=gr.Progress(track_tqdm=True)):
756
  return gr.update(visible=True)
757
 
758
 
 
697
  from modutils import (safe_float, escape_lora_basename, to_lora_key, to_lora_path,
698
  get_local_model_list, get_private_lora_model_lists, get_valid_lora_name,
699
  get_valid_lora_path, get_valid_lora_wt, get_lora_info,
700
+ normalize_prompt_list, get_civitai_info, search_lora_on_civitai, translate_to_en)
701
 
702
  sd_gen = GuiSD()
703
  #@spaces.GPU
704
  def infer(prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale, num_inference_steps,
705
  model_name = load_diffusers_format_model[0], lora1 = None, lora1_wt = 1.0, lora2 = None, lora2_wt = 1.0,
706
  lora3 = None, lora3_wt = 1.0, lora4 = None, lora4_wt = 1.0, lora5 = None, lora5_wt = 1.0,
707
+ sampler = "Euler a", vae = None, translate=True, progress=gr.Progress(track_tqdm=True)):
708
  import PIL
709
  import numpy as np
710
  MAX_SEED = np.iinfo(np.int32).max
 
718
 
719
  generator = torch.Generator().manual_seed(seed).seed()
720
 
721
+ if translate:
722
+ prompt = translate_to_en(prompt)
723
+ negative_prompt = translate_to_en(prompt)
724
+
725
  prompt, negative_prompt = insert_model_recom_prompt(prompt, negative_prompt, model_name)
726
  progress(0.5, desc="Preparing...")
727
  lora1, lora1_wt, lora2, lora2_wt, lora3, lora3_wt, lora4, lora4_wt, lora5, lora5_wt = \
 
756
  def _infer(prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale, num_inference_steps,
757
  model_name = load_diffusers_format_model[0], lora1 = None, lora1_wt = 1.0, lora2 = None, lora2_wt = 1.0,
758
  lora3 = None, lora3_wt = 1.0, lora4 = None, lora4_wt = 1.0, lora5 = None, lora5_wt = 1.0,
759
+ sampler = "Euler a", vae = None, translate = True, progress=gr.Progress(track_tqdm=True)):
760
  return gr.update(visible=True)
761
 
762
 
modutils.py CHANGED
@@ -27,6 +27,17 @@ def list_sub(a, b):
27
  return [e for e in a if e not in b]
28
 
29
 
 
 
 
 
 
 
 
 
 
 
 
30
  def get_local_model_list(dir_path):
31
  model_list = []
32
  valid_extensions = ('.ckpt', '.pt', '.pth', '.safetensors', '.bin')
 
27
  return [e for e in a if e not in b]
28
 
29
 
30
+ from translatepy import Translator
31
+ translator = Translator()
32
+ def translate_to_en(input: str):
33
+ try:
34
+ output = str(translator.translate(input, 'English'))
35
+ except Exception as e:
36
+ output = input
37
+ print(e)
38
+ return output
39
+
40
+
41
  def get_local_model_list(dir_path):
42
  model_list = []
43
  valid_extensions = ('.ckpt', '.pt', '.pth', '.safetensors', '.bin')
requirements.txt CHANGED
@@ -17,8 +17,7 @@ rapidfuzz
17
  torchvision
18
  optimum[onnxruntime]
19
  dartrs
20
- httpx==0.13.3
21
- httpcore
22
- googletrans==4.0.0rc1
23
  timm
24
- wrapt-timeout-decorator
 
 
17
  torchvision
18
  optimum[onnxruntime]
19
  dartrs
20
+ translatepy
 
 
21
  timm
22
+ wrapt-timeout-decorator
23
+ sentencepiece
tagger/tagger.py CHANGED
@@ -1,11 +1,8 @@
 
1
  from PIL import Image
2
  import torch
3
  import gradio as gr
4
- import spaces
5
- from transformers import (
6
- AutoImageProcessor,
7
- AutoModelForImageClassification,
8
- )
9
  from pathlib import Path
10
 
11
 
@@ -190,18 +187,16 @@ def convert_danbooru_to_e621_prompt(input_prompt: str = "", prompt_type: str = "
190
  return output_prompt
191
 
192
 
 
 
193
  def translate_prompt(prompt: str = ""):
194
- def translate_to_english(prompt):
195
- import httpcore
196
- setattr(httpcore, 'SyncHTTPTransport', 'AsyncHTTPProxy')
197
- from googletrans import Translator
198
- translator = Translator()
199
  try:
200
- translated_prompt = translator.translate(prompt, src='auto', dest='en').text
201
- return translated_prompt
202
  except Exception as e:
 
203
  print(e)
204
- return prompt
205
 
206
  def is_japanese(s):
207
  import unicodedata
@@ -224,17 +219,13 @@ def translate_prompt(prompt: str = ""):
224
 
225
 
226
  def translate_prompt_to_ja(prompt: str = ""):
227
- def translate_to_japanese(prompt):
228
- import httpcore
229
- setattr(httpcore, 'SyncHTTPTransport', 'AsyncHTTPProxy')
230
- from googletrans import Translator
231
- translator = Translator()
232
  try:
233
- translated_prompt = translator.translate(prompt, src='en', dest='ja').text
234
- return translated_prompt
235
  except Exception as e:
 
236
  print(e)
237
- return prompt
238
 
239
  def is_japanese(s):
240
  import unicodedata
 
1
+ import spaces
2
  from PIL import Image
3
  import torch
4
  import gradio as gr
5
+ from transformers import AutoImageProcessor, AutoModelForImageClassification
 
 
 
 
6
  from pathlib import Path
7
 
8
 
 
187
  return output_prompt
188
 
189
 
190
+ from translatepy import Translator
191
+ translator = Translator()
192
  def translate_prompt(prompt: str = ""):
193
+ def translate_to_english(input: str):
 
 
 
 
194
  try:
195
+ output = str(translator.translate(input, 'English'))
 
196
  except Exception as e:
197
+ output = input
198
  print(e)
199
+ return output
200
 
201
  def is_japanese(s):
202
  import unicodedata
 
219
 
220
 
221
  def translate_prompt_to_ja(prompt: str = ""):
222
+ def translate_to_japanese(input: str):
 
 
 
 
223
  try:
224
+ output = str(translator.translate(input, 'Japanese'))
 
225
  except Exception as e:
226
+ output = input
227
  print(e)
228
+ return output
229
 
230
  def is_japanese(s):
231
  import unicodedata