File size: 1,099 Bytes
c5dc1d4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from pipes import utils
from pipes import const
from pipes import models
from pipes.data import Dataset
import tensorflow as tf

if __name__ == "__main__":
    input_lang = 'gr'
    output_lang = 'bn'

    dataset_object = Dataset([input_lang, output_lang])
    dataset_object.pack()
    dataset_object.process()
    train_ds, val_ds = dataset_object.pull()
    dataset_dict = dataset_object.get_dict()

    model_object = models.Seq2Seq(
        input_vocab_size=dataset_dict[input_lang]["vocab_size"],
        output_vocab_size=dataset_dict[output_lang]["vocab_size"],
        embedding_dim=256,
        hidden_units=512
    )

    model_object.build()
    model = model_object.get()

    model.compile(
        optimizer=tf.keras.optimizers.Adam(),
        loss=tf.keras.losses.SparseCategoricalCrossentropy(),
        metrics=['accuracy', 'val_accuracy'],
    )

    history = model.fit(
        train_ds.repeat(),
        epochs=10,
        steps_per_epoch=100,
        validation_steps=20,
        validation_data=val_ds,
        callbacks=[tf.keras.callbacks.EarlyStopping(patience=3)]
    )