Views
No views yet
'dk': key dimensions -> 32,
'dv': value dimensions -> 32,
'h': Number of parallel attention heads -> 8,
'src_vocab_size': source vocabulary size (German) -> 8500,
'target_vocab_size': target vocabulary size (English) -> 6500,
'src_pad_idx': Source pad index -> 2,
'target_pad_idx': Target pad index -> 2,
'num_encoders': Number of encoder modules -> 3,
'num_decoders': Number of decoder modules -> 3,
'dim_multiplier': Dimension multiplier for inner dimensions in pointwise FFN (dff = dk*h*dim_multiplier) -> 4,
'pdropout': Dropout probability in the network -> 0.1,
'lr': learning rate used to train the model -> 0.0003,
'N_EPOCHS': Number of Epochs -> 50,
'CLIP': 1,
'patience': 51# torch packages
2import torch
3from model.transformer import Transformer
4import json
5
6if __name__ == "__main__":
7 """
8 Following parameters are for Multi30K dataset
9 """
10 # Load config containing model input parameters
11 with open('params.json') as json_data:
12 config = json.load(json_data)
13 print(config)
14
15 device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
16 # Instantiate model
17 model = Transformer(
18 config["dk"],
19 config["dv"],
20 config["h"],
21 config["src_vocab_size"],
22 config["target_vocab_size"],
23 config["num_encoders"],
24 config["num_decoders"],
25 config["dim_multiplier"],
26 config["pdropout"],
27 device = device)
28 # Load model weights
29 model.load_state_dict(torch.load('pytorch_transformer_model.pt',
30 map_location=device))
31 print(model)
32 @misc{Gordić2020PyTorchOriginalTransformer,
author = {Gordić, Aleksa},
title = {pytorch-original-transformer},
year = {2020},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/gordicaleksa/pytorch-original-transformer}},
}