7-Sky commited on
Commit
b34ff57
·
verified ·
1 Parent(s): 432d350

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +83 -0
README.md CHANGED
@@ -35,6 +35,89 @@ tags:
35
  | Tatoeba-test.pol-rus.pol.rus | 49.6 | 0.680 |
36
 
37
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
 
39
  ### System Info:
40
  - hf_name: sla-sla
 
35
  | Tatoeba-test.pol-rus.pol.rus | 49.6 | 0.680 |
36
 
37
 
38
+ ## Run the model
39
+
40
+ ```python
41
+ from transformers import MarianMTModel, MarianTokenizer
42
+
43
+ # Пути к модели и токенизатору
44
+ model_path = "trained_model"
45
+
46
+ # Загрузка модели и токенизатора
47
+ tokenizer = MarianTokenizer.from_pretrained(model_path)
48
+ model = MarianMTModel.from_pretrained(model_path)
49
+
50
+ # Словарь, который соответствует целевым языковым маркерам для разных языков
51
+ language_map = {
52
+ "bel": "bel",
53
+ "bel_Latn": "bel_Latn",
54
+ "bos_Latn": "bos_Latn",
55
+ "bul": "bul",
56
+ "bul_Latn": "bul_Latn",
57
+ "ces": "ces",
58
+ "dsb": "dsb",
59
+ "hrv": "hrv",
60
+ "hsb": "hsb",
61
+ "mkd": "mkd",
62
+ "orv_Cyrl": "orv_Cyrl",
63
+ "pol": "pol",
64
+ "rus": "rus",
65
+ "slv": "slv",
66
+ "srp_Cyrl": "srp_Cyrl",
67
+ "srp_Latn": "srp_Latn",
68
+ "ukr": "ukr"
69
+ }
70
+
71
+ # Функция для перевода с несколькими вариантами
72
+ def translate_text(source_text, target_language, num_translations=3):
73
+ if target_language not in language_map:
74
+ print("Неверное направление перевода. Попробуйте снова.")
75
+ return None
76
+
77
+ # Формируем текст с маркером целевого языка
78
+ language_token = f">>{target_language}<< "
79
+ text_with_token = language_token + source_text
80
+
81
+ # Токенизация текста
82
+ inputs = tokenizer(text_with_token, return_tensors="pt")
83
+
84
+ # Перевод текста с несколькими вариантами
85
+ translated_tokens = model.generate(
86
+ **inputs,
87
+ num_return_sequences=num_translations, # Количество вариантов перевода
88
+ num_beams=num_translations # Используем несколько beam для разнообразия
89
+ )
90
+
91
+ # Декодирование переведенного текста
92
+ translations = [tokenizer.decode(tokens, skip_special_tokens=True) for tokens in translated_tokens]
93
+ return translations
94
+
95
+ # Основной цикл для ввода текста и вывода вариантов перевода
96
+ print("Введите фразу для перевода или !q для выхода.")
97
+
98
+ while True:
99
+ # Ввод фразы
100
+ source_text = input("Введите фразу: ")
101
+
102
+ # Проверка на команду выхода
103
+ if source_text == "!q":
104
+ print("Выход из программы.")
105
+ break
106
+
107
+ # Указание целевого языка (по умолчанию "rus")
108
+ target_language = "rus"
109
+
110
+ # Перевод фразы с несколькими вариантами
111
+ translations = translate_text(source_text, target_language)
112
+
113
+ if translations:
114
+ # Вывод всех вариантов перевода
115
+ for idx, translation in enumerate(translations, 1):
116
+ print(f"Вариант {idx}: {translation}")
117
+
118
+ ```
119
+
120
+
121
 
122
  ### System Info:
123
  - hf_name: sla-sla