evals/translators/argos.py (23 lines of code) (raw):
import os
os.environ["ARGOS_DEVICE_TYPE"] = "cuda"
import argostranslate.package
import argostranslate.translate
import argostranslate.settings
import sys
from tqdm import tqdm
assert argostranslate.settings.device == "cuda"
def translate(texts, source, target):
return [argostranslate.translate.translate(text, source, target) for text in tqdm(texts)]
if __name__ == "__main__":
texts = [line.strip() for line in sys.stdin]
source = os.environ["SRC"]
target = os.environ["TRG"]
argostranslate.package.update_package_index()
available_packages = argostranslate.package.get_available_packages()
package_to_install = next(
filter(lambda x: x.from_code == source and x.to_code == target, available_packages)
)
argostranslate.package.install_from_path(package_to_install.download())
translations = translate(texts, source, target)
sys.stdout.write("\n".join(translations))
sys.stdout.write("\n")