multi30k-lstm / README.md
aijadugar's picture
Add Seq2Seq LSTM trained on Multi30K
dc68d6d verified
|
Raw
History Blame Contribute Delete
1.33 kB
metadata
license: mit
language:
  - en
  - de
library_name: pytorch
pipeline_tag: translation
tags:
  - pytorchf
  - lstm
  - seq2seq
  - machine-translation
  - multi30k
datasets:
  - bentrevett/multi30k

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