Views
No views yet
1import torch
2import sentencepiece as spm
3
4# Charger les tokenizers
5sp_sr = spm.SentencePieceProcessor(model_file="tokenizer_serere.model")
6sp_fr = spm.SentencePieceProcessor(model_file="tokenizer_francais.model")
7
8# Charger le modèle
9model.load_state_dict(torch.load("pytorch_model.pt"))
10
11# Traduire
12def traduire(texte):
13 model.eval()
14 with torch.no_grad():
15 src = [2] + sp_sr.encode(texte) + [3]
16 src = torch.tensor(src).unsqueeze(0)
17 encoder_outputs, hidden = model.encoder(src)
18 input_token = torch.tensor([2])
19 tokens = []
20 for _ in range(50):
21 output, hidden = model.decoder(input_token, hidden, encoder_outputs)
22 token = output.argmax(1)
23 if token.item() == 3:
24 break
25 tokens.append(token.item())
26 input_token = token
27 return sp_fr.decode(tokens)
28
29print(traduire("mbaldo")) # → Bonjour