Update app.py
Browse files
app.py
CHANGED
|
@@ -60,12 +60,20 @@ class Translators:
|
|
| 60 |
|
| 61 |
def quickmt(self):
|
| 62 |
from quickmt import Translator
|
| 63 |
-
from quickmt.hub import hf_download
|
| 64 |
from pathlib import Path
|
| 65 |
model_name = f"quickmt-{self.sl}-{self.tl}"
|
| 66 |
model_path = Path("/code/models") / model_name
|
| 67 |
-
|
| 68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
if not model_path.exists():
|
| 70 |
hf_download(
|
| 71 |
model_name = f"quickmt/{model_name}",
|
|
@@ -73,10 +81,10 @@ class Translators:
|
|
| 73 |
)
|
| 74 |
print(f"Loading model {model_name}")
|
| 75 |
# Auto-detects GPU, set to "cpu" to force CPU inference
|
| 76 |
-
translator = Translator(str(model_path), device=
|
| 77 |
# translation = Translator(f"./quickmt-{self.sl}-{self.tl}/", device="auto", inter_threads=2)
|
| 78 |
# Translate - set beam size to 1 for faster speed (but lower quality)
|
| 79 |
-
translation = translator({self.input_text}, beam_size=5)
|
| 80 |
message = f'Translated from {iso1_to_name[self.sl]} to {iso1_to_name[self.tl]} with {model_name}.'
|
| 81 |
return translation, message
|
| 82 |
|
|
@@ -427,6 +435,10 @@ def translate_text(model_name: str, s_language: str, t_language: str, input_text
|
|
| 427 |
|
| 428 |
sl = all_langs[s_language][0]
|
| 429 |
tl = all_langs[t_language][0]
|
|
|
|
|
|
|
|
|
|
|
|
|
| 430 |
message_text = f'Translated from {s_language} to {t_language} with {model_name}'
|
| 431 |
translated_text = None
|
| 432 |
try:
|
|
|
|
| 60 |
|
| 61 |
def quickmt(self):
|
| 62 |
from quickmt import Translator
|
| 63 |
+
from quickmt.hub import hf_download
|
| 64 |
from pathlib import Path
|
| 65 |
model_name = f"quickmt-{self.sl}-{self.tl}"
|
| 66 |
model_path = Path("/code/models") / model_name
|
| 67 |
+
# from quickmt.hub import hf_list
|
| 68 |
+
# choices = [i.split("/")[1] for i in hf_list()]
|
| 69 |
+
# print(choices)
|
| 70 |
+
models = ['zh-en', 'en-zh', 'fr-en', 'en-fr', 'de-en', 'en-de', 'ko-en',
|
| 71 |
+
'en-ko', 'en-ar', 'ar-en', 'ja-en', 'en-ja', 'it-en', 'en-it',
|
| 72 |
+
'hi-en', 'en-hi', 'en-es', 'es-en', 'ru-en', 'en-ru', 'pt-en',
|
| 73 |
+
'en-pt', 'bn-en', 'en-bn', 'id-en', 'en-id', 'fa-en', 'en-fa',
|
| 74 |
+
'vi-en', 'en-vi', 'tr-en', 'en-tr', 'ur-en', 'en-ur', 'en-hu',
|
| 75 |
+
'hu-en', 'th-en', 'en-th', 'el-en', 'en-el', 'pl-en', 'en-pl',
|
| 76 |
+
'en-lv', 'lv-en', 'cs-en', 'ro-en', 'en-ro', 'en-cs', 'he-en', 'en-he', 'da-en']
|
| 77 |
if not model_path.exists():
|
| 78 |
hf_download(
|
| 79 |
model_name = f"quickmt/{model_name}",
|
|
|
|
| 81 |
)
|
| 82 |
print(f"Loading model {model_name}")
|
| 83 |
# Auto-detects GPU, set to "cpu" to force CPU inference
|
| 84 |
+
translator = Translator(str(model_path), device = self.device)
|
| 85 |
# translation = Translator(f"./quickmt-{self.sl}-{self.tl}/", device="auto", inter_threads=2)
|
| 86 |
# Translate - set beam size to 1 for faster speed (but lower quality)
|
| 87 |
+
translation = translator({self.input_text}, beam_size=5)[0]
|
| 88 |
message = f'Translated from {iso1_to_name[self.sl]} to {iso1_to_name[self.tl]} with {model_name}.'
|
| 89 |
return translation, message
|
| 90 |
|
|
|
|
| 435 |
|
| 436 |
sl = all_langs[s_language][0]
|
| 437 |
tl = all_langs[t_language][0]
|
| 438 |
+
if sl == tl:
|
| 439 |
+
translated_text = f'Source language {s_language} identical to target language {t_language}!'
|
| 440 |
+
message_text = 'Please choose different target and source language!'
|
| 441 |
+
return translated_text, message_text
|
| 442 |
message_text = f'Translated from {s_language} to {t_language} with {model_name}'
|
| 443 |
translated_text = None
|
| 444 |
try:
|