aiqcamp commited on
Commit
071ff1f
ยท
verified ยท
1 Parent(s): a0d5852

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -52
app.py CHANGED
@@ -298,7 +298,6 @@ class UpscalerESRGAN:
298
  output = output[:, :, ::-1]
299
  return Image.fromarray(output, "RGB")
300
 
301
- # https://github.com/philz1337x/clarity-upscaler/blob/e0cd797198d1e0e745400c04d8d1b98ae508c73b/modules/esrgan_model.py#L208
302
  def upscale_with_tiling(self, img: Image.Image) -> Image.Image:
303
  img = img.convert("RGB")
304
  grid = split_grid(img)
@@ -521,7 +520,6 @@ def upscaler(
521
  log(f'CALL upscaler')
522
 
523
  manual_seed(seed)
524
-
525
  solver_type: type[Solver] = getattr(solvers, solver)
526
 
527
  log(f'DBG upscaler 1')
@@ -548,7 +546,7 @@ def get_tensor_length(tensor):
548
  nums = list(tensor.size())
549
  ret = 1
550
  for num in nums:
551
- ret = ret * num
552
  return ret
553
 
554
  def _summarize(text):
@@ -596,7 +594,6 @@ def generate_random_string(length):
596
  return ''.join(random.choice(characters) for _ in range(length))
597
 
598
  def add_text_above_image(img,top_title=None,bottom_title=None):
599
-
600
  w, h = img.size
601
  draw = ImageDraw.Draw(img,mode="RGBA")
602
 
@@ -1125,10 +1122,6 @@ class GoogleTranslator(BaseTranslator):
1125
  proxies: Optional[dict] = None,
1126
  **kwargs
1127
  ):
1128
- """
1129
- @param source: source language to translate from
1130
- @param target: target language to translate to
1131
- """
1132
  self.proxies = proxies
1133
  super().__init__(
1134
  base_url=google_translate_endpoint,
@@ -1136,18 +1129,13 @@ class GoogleTranslator(BaseTranslator):
1136
  target=target,
1137
  element_tag="div",
1138
  element_query={"class": "t0"},
1139
- payload_key="q", # key of text in the url
1140
  **kwargs
1141
  )
1142
 
1143
  self._alt_element_query = {"class": "result-container"}
1144
 
1145
  def translate(self, text: str, **kwargs) -> str:
1146
- """
1147
- function to translate a text
1148
- @param text: desired text to translate
1149
- @return: str: translated text
1150
- """
1151
  if is_input_valid(text, max_chars=1000):
1152
  text = text.strip()
1153
  if self._same_source_target() or is_empty(text):
@@ -1178,12 +1166,8 @@ class GoogleTranslator(BaseTranslator):
1178
  raise TranslationNotFound(text)
1179
 
1180
  if element.get_text(strip=True) == text.strip():
1181
- to_translate_alpha = "".join(
1182
- ch for ch in text.strip() if ch.isalnum()
1183
- )
1184
- translated_alpha = "".join(
1185
- ch for ch in element.get_text(strip=True) if ch.isalnum()
1186
- )
1187
  if (
1188
  to_translate_alpha
1189
  and translated_alpha
@@ -1194,29 +1178,15 @@ class GoogleTranslator(BaseTranslator):
1194
  return text.strip()
1195
  del self._url_params["hl"]
1196
  return self.translate(text)
1197
-
1198
  else:
1199
  return element.get_text(strip=True)
1200
 
1201
  def translate_file(self, path: str, **kwargs) -> str:
1202
- """
1203
- translate directly from file
1204
- @param path: path to the target file
1205
- @type path: str
1206
- @param kwargs: additional args
1207
- @return: str
1208
- """
1209
  return self._translate_file(path, **kwargs)
1210
 
1211
  def translate_batch(self, batch: List[str], **kwargs) -> List[str]:
1212
- """
1213
- translate a list of texts
1214
- @param batch: list of texts you want to translate
1215
- @return: list of translations
1216
- """
1217
  return self._translate_batch(batch, **kwargs)
1218
 
1219
- # End of "Modified parts from https://github.com/nidhaloff/deep-translator"
1220
 
1221
  def translate(txt,to_lang="en",from_lang="auto"):
1222
  log(f'CALL translate')
@@ -1289,7 +1259,7 @@ def generation(h,w,d):
1289
  for line_index in range(len(d_lines)):
1290
  d_lines[line_index] = d_lines[line_index].strip()
1291
  if d_lines[line_index] != "" and re.sub(r'[\.]$', '', d_lines[line_index]) == d_lines[line_index]:
1292
- d_lines[line_index] = d_lines[line_index] + "."
1293
  d = " ".join(d_lines)
1294
 
1295
  d = re.sub(r"([ \t]){1,}", " ", d).lower().strip()
@@ -1323,7 +1293,7 @@ def generation(h,w,d):
1323
  # entry
1324
 
1325
  if __name__ == "__main__":
1326
- # Changed the theme to a more colorful one and updated the title
1327
  with gr.Blocks(theme=gr.themes.Soft(primary_hue="lime"), css=css) as demo:
1328
  gr.Markdown(f"""
1329
  # Multilingual Images
@@ -1352,20 +1322,20 @@ if __name__ == "__main__":
1352
  run = gr.Button("Generate", elem_classes="btn")
1353
 
1354
  top = gr.Textbox(
1355
- placeholder="Top title",
1356
  value="",
1357
  container=False,
1358
  max_lines=1
1359
  )
1360
  bottom = gr.Textbox(
1361
- placeholder="Bottom title",
1362
  value="",
1363
  container=False,
1364
  max_lines=1
1365
  )
1366
 
1367
  data = gr.Textbox(
1368
- placeholder="Input data (text/prompt)",
1369
  value="",
1370
  container=False,
1371
  max_lines=100
@@ -1386,23 +1356,23 @@ if __name__ == "__main__":
1386
 
1387
  gr.Markdown("---")
1388
 
1389
- # Bottom row explanation or details
1390
  gr.Markdown("""
1391
- ## ๊ธฐ๋Šฅ ์„ธ๋ถ€ ์„ค๋ช… (Features)
1392
- 1. **ํ…์ŠคํŠธ ์ž…๋ ฅ**: ๋‹ค์–‘ํ•œ ์–ธ์–ด๋กœ ํ…์ŠคํŠธ ์ž…๋ ฅ ์‹œ ์ž๋™ ๋ฒˆ์—ญ ๋ฐ ์š”์•ฝ ํ›„ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
1393
- 2. **์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ ˆ**: ์Šฌ๋ผ์ด๋”๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋  ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
1394
- 3. **์˜ค๋ฒ„๋ ˆ์ด ํ…์ŠคํŠธ**: ์ด๋ฏธ์ง€ ์œ„์— ์ƒ๋‹จ/ํ•˜๋‹จ ํƒ€์ดํ‹€์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ๋ผ๋ฒจ๋ง์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
1395
- 4. **๊ณ ํ™”์งˆ ์—…์Šค์ผ€์ผ**: 'Upscale x2' ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์ด๋ฏธ์ง€ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
1396
- 5. **์ž๋™ ์ƒ์„ฑ ๋‚œ์ด๋„ ์กฐ์ ˆ**: ์ž…๋ ฅ ํ…์ŠคํŠธ์™€ ์ด๋ฏธ์ง€ ํฌ๊ธฐ์— ๋”ฐ๋ผ GPU ์‚ฌ์šฉ์‹œ๊ฐ„์ด ์ž๋™์œผ๋กœ ์กฐ์ ˆ๋ฉ๋‹ˆ๋‹ค.
1397
- ---
1398
  """)
1399
 
1400
  gr.Markdown("""
1401
- ### ์ด์šฉ ๊ฐ€์ด๋“œ
1402
- 1. ์›ํ•˜๋Š” ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ์™€ ํ…์ŠคํŠธ(๋‹ค๊ตญ์–ด ๊ฐ€๋Šฅ)๋ฅผ ์ž…๋ ฅ ํ›„ **Generate** ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”.
1403
- 2. ๊ฒฐ๊ณผ ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•œ ๋’ค, **Upscale x2** ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๋†’์€ ํ•ด์ƒ๋„๋กœ ์—…์Šค์ผ€์ผ ๋ฉ๋‹ˆ๋‹ค.
1404
- 3. **Add title(s)** ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฏธ์ง€ ์œ„์— ํƒ€์ดํ‹€์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
1405
- 4. ๊ธฐ๋Šฅ ์„ธ๋ถ€ ์„ค๋ช…์€ ์ƒ๋‹จ์˜ ์ž…๋ ฅํ•ญ๋ชฉ๋“ค์„ ํ†ตํ•ด ํ…Œ์ŠคํŠธํ•ด ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
1406
  """)
1407
 
1408
  # Event wiring
 
298
  output = output[:, :, ::-1]
299
  return Image.fromarray(output, "RGB")
300
 
 
301
  def upscale_with_tiling(self, img: Image.Image) -> Image.Image:
302
  img = img.convert("RGB")
303
  grid = split_grid(img)
 
520
  log(f'CALL upscaler')
521
 
522
  manual_seed(seed)
 
523
  solver_type: type[Solver] = getattr(solvers, solver)
524
 
525
  log(f'DBG upscaler 1')
 
546
  nums = list(tensor.size())
547
  ret = 1
548
  for num in nums:
549
+ ret *= num
550
  return ret
551
 
552
  def _summarize(text):
 
594
  return ''.join(random.choice(characters) for _ in range(length))
595
 
596
  def add_text_above_image(img,top_title=None,bottom_title=None):
 
597
  w, h = img.size
598
  draw = ImageDraw.Draw(img,mode="RGBA")
599
 
 
1122
  proxies: Optional[dict] = None,
1123
  **kwargs
1124
  ):
 
 
 
 
1125
  self.proxies = proxies
1126
  super().__init__(
1127
  base_url=google_translate_endpoint,
 
1129
  target=target,
1130
  element_tag="div",
1131
  element_query={"class": "t0"},
1132
+ payload_key="q",
1133
  **kwargs
1134
  )
1135
 
1136
  self._alt_element_query = {"class": "result-container"}
1137
 
1138
  def translate(self, text: str, **kwargs) -> str:
 
 
 
 
 
1139
  if is_input_valid(text, max_chars=1000):
1140
  text = text.strip()
1141
  if self._same_source_target() or is_empty(text):
 
1166
  raise TranslationNotFound(text)
1167
 
1168
  if element.get_text(strip=True) == text.strip():
1169
+ to_translate_alpha = "".join(ch for ch in text.strip() if ch.isalnum())
1170
+ translated_alpha = "".join(ch for ch in element.get_text(strip=True) if ch.isalnum())
 
 
 
 
1171
  if (
1172
  to_translate_alpha
1173
  and translated_alpha
 
1178
  return text.strip()
1179
  del self._url_params["hl"]
1180
  return self.translate(text)
 
1181
  else:
1182
  return element.get_text(strip=True)
1183
 
1184
  def translate_file(self, path: str, **kwargs) -> str:
 
 
 
 
 
 
 
1185
  return self._translate_file(path, **kwargs)
1186
 
1187
  def translate_batch(self, batch: List[str], **kwargs) -> List[str]:
 
 
 
 
 
1188
  return self._translate_batch(batch, **kwargs)
1189
 
 
1190
 
1191
  def translate(txt,to_lang="en",from_lang="auto"):
1192
  log(f'CALL translate')
 
1259
  for line_index in range(len(d_lines)):
1260
  d_lines[line_index] = d_lines[line_index].strip()
1261
  if d_lines[line_index] != "" and re.sub(r'[\.]$', '', d_lines[line_index]) == d_lines[line_index]:
1262
+ d_lines[line_index] += "."
1263
  d = " ".join(d_lines)
1264
 
1265
  d = re.sub(r"([ \t]){1,}", " ", d).lower().strip()
 
1293
  # entry
1294
 
1295
  if __name__ == "__main__":
1296
+ # Changed the theme to a more colorful one and updated the title to English
1297
  with gr.Blocks(theme=gr.themes.Soft(primary_hue="lime"), css=css) as demo:
1298
  gr.Markdown(f"""
1299
  # Multilingual Images
 
1322
  run = gr.Button("Generate", elem_classes="btn")
1323
 
1324
  top = gr.Textbox(
1325
+ placeholder="Top Title",
1326
  value="",
1327
  container=False,
1328
  max_lines=1
1329
  )
1330
  bottom = gr.Textbox(
1331
+ placeholder="Bottom Title",
1332
  value="",
1333
  container=False,
1334
  max_lines=1
1335
  )
1336
 
1337
  data = gr.Textbox(
1338
+ placeholder="Enter your text/prompt (multiple languages allowed)",
1339
  value="",
1340
  container=False,
1341
  max_lines=100
 
1356
 
1357
  gr.Markdown("---")
1358
 
1359
+ # Bottom row explanation or details in English
1360
  gr.Markdown("""
1361
+ ## Features
1362
+ 1. **Text Input**: You can input text in various languages; it will be automatically translated and summarized before generating an image.
1363
+ 2. **Image Size Adjustment**: Use sliders to specify the width and height of the output image.
1364
+ 3. **Overlay Text**: Easily add top/bottom titles to the generated image with a simple button click.
1365
+ 4. **High-Quality Upscaling**: Increase the resolution with the "Upscale x2" feature.
1366
+ 5. **Automatic GPU Resource Management**: The system automatically adjusts GPU usage time depending on input text length and image size.
1367
+ ---
1368
  """)
1369
 
1370
  gr.Markdown("""
1371
+ ### Usage Guide
1372
+ 1. Set the desired image dimensions and text prompt, then click **Generate**.
1373
+ 2. After viewing the generated image, you can select **Upscale x2** to improve its resolution.
1374
+ 3. Use **Add title(s)** to place custom titles at the top or bottom of the image.
1375
+ 4. You can test all available features in the interface above.
1376
  """)
1377
 
1378
  # Event wiring