Seq2Seq LSTM Translator (English -> German)

A PyTorch Seq2Seq Encoder-Decoder LSTM trained from scratch on the Multi30k dataset.

Model Details

  • Architecture: Seq2Seq
  • Framework: PyTorch
  • Dataset: Multi30k (English -> German)
  • Embedding Dimension: 128
  • Hidden Dimension: 256

Training

  • Optimizer: Adam
  • Learning Rate: 1e-3
  • Loss: CrossEntropyLoss (ignore_index=PAD)
  • Gradient Clipping: max_norm=1.0
  • Epochs: 50
  • Batch Size: 64

Dataset

Split Samples
Train 29,000
Validation 1,014
Test 1,000

Performance

Metric Value
Train Loss 0.62
Validation Loss 5.55
Test Loss 3.79
BLEU 14.70

Usage

# Load model
model = Seq2Seq(encoder, decoder, device)

model.load_state_dict(
    load_file("best_seq2seq_lstm.safetensors")
)

model.eval()

# Inference
sentence = "A man is riding a bicycle."

translation = translate_sentence(
    sentence,
    model
)

print(" ".join(translation))

Author Ankit Bari

GitHub: https://github.com/aijadugar Hugging Face: https://huggingface.co/aijadugar

Downloads last month
43
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train aijadugar/multi30k-lstm