indicate 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2501 @@
1
+ {
2
+ "nbformat": 4,
3
+ "nbformat_minor": 0,
4
+ "metadata": {
5
+ "colab": {
6
+ "name": "Transliterate_v2.ipynb",
7
+ "provenance": [],
8
+ "collapsed_sections": [],
9
+ "toc_visible": true,
10
+ "machine_shape": "hm"
11
+ },
12
+ "kernelspec": {
13
+ "name": "python3",
14
+ "display_name": "Python 3"
15
+ },
16
+ "language_info": {
17
+ "name": "python"
18
+ },
19
+ "accelerator": "GPU"
20
+ },
21
+ "cells": [
22
+ {
23
+ "cell_type": "code",
24
+ "metadata": {
25
+ "id": "1T6_tQRr5LsU"
26
+ },
27
+ "source": [
28
+ "import pandas as pd\n",
29
+ "import numpy as np\n",
30
+ "\n",
31
+ "from keras.models import Model, load_model\n",
32
+ "from keras.layers import Input, LSTM, Dense, Reshape\n",
33
+ "from keras.callbacks import EarlyStopping, ModelCheckpoint\n",
34
+ "from keras.layers.embeddings import Embedding\n",
35
+ "\n",
36
+ "import tensorflow as tf\n",
37
+ "import tensorflow.keras.backend as K\n",
38
+ "\n",
39
+ "import matplotlib.pyplot as plt"
40
+ ],
41
+ "execution_count": 1,
42
+ "outputs": []
43
+ },
44
+ {
45
+ "cell_type": "code",
46
+ "metadata": {
47
+ "colab": {
48
+ "base_uri": "https://localhost:8080/"
49
+ },
50
+ "id": "Cy-GTRyQdjjj",
51
+ "outputId": "6792acd3-baac-417f-e587-82cdd9304ec1"
52
+ },
53
+ "source": [
54
+ "%cd /content/drive/MyDrive/Colab/Transliterate/"
55
+ ],
56
+ "execution_count": 2,
57
+ "outputs": [
58
+ {
59
+ "output_type": "stream",
60
+ "name": "stdout",
61
+ "text": [
62
+ "/content/drive/MyDrive/Colab/Transliterate\n"
63
+ ]
64
+ }
65
+ ]
66
+ },
67
+ {
68
+ "cell_type": "code",
69
+ "metadata": {
70
+ "colab": {
71
+ "base_uri": "https://localhost:8080/"
72
+ },
73
+ "id": "9SQgkSs5drK0",
74
+ "outputId": "e62497b8-fdc4-415d-f31e-c2eeca1a0d95"
75
+ },
76
+ "source": [
77
+ "%ls"
78
+ ],
79
+ "execution_count": 3,
80
+ "outputs": [
81
+ {
82
+ "output_type": "stream",
83
+ "name": "stdout",
84
+ "text": [
85
+ "affidavits.csv model.png\n",
86
+ "hi.translit.sampled.train.tsv model_v1.h5\n",
87
+ "model.h5 players_with_hindi_names.json\n",
88
+ "model_plot_dec.png s2s.h5\n"
89
+ ]
90
+ }
91
+ ]
92
+ },
93
+ {
94
+ "cell_type": "markdown",
95
+ "metadata": {
96
+ "id": "h87l7bzjN4V0"
97
+ },
98
+ "source": [
99
+ "# Preprocessing Data"
100
+ ]
101
+ },
102
+ {
103
+ "cell_type": "markdown",
104
+ "metadata": {
105
+ "id": "Kl9QsQKYac2q"
106
+ },
107
+ "source": [
108
+ "## load affidavits dataset\n"
109
+ ]
110
+ },
111
+ {
112
+ "cell_type": "code",
113
+ "metadata": {
114
+ "id": "pAUukayNPVZY"
115
+ },
116
+ "source": [
117
+ "affidavits_df = pd.read_csv('affidavits.csv')"
118
+ ],
119
+ "execution_count": 4,
120
+ "outputs": []
121
+ },
122
+ {
123
+ "cell_type": "code",
124
+ "metadata": {
125
+ "colab": {
126
+ "base_uri": "https://localhost:8080/",
127
+ "height": 625
128
+ },
129
+ "id": "A0ZOV5i6Pe_k",
130
+ "outputId": "93c55c6f-2046-459a-8b2f-eeac1384d47e"
131
+ },
132
+ "source": [
133
+ "affidavits_df.head()"
134
+ ],
135
+ "execution_count": 5,
136
+ "outputs": [
137
+ {
138
+ "output_type": "execute_result",
139
+ "data": {
140
+ "text/html": [
141
+ "<div>\n",
142
+ "<style scoped>\n",
143
+ " .dataframe tbody tr th:only-of-type {\n",
144
+ " vertical-align: middle;\n",
145
+ " }\n",
146
+ "\n",
147
+ " .dataframe tbody tr th {\n",
148
+ " vertical-align: top;\n",
149
+ " }\n",
150
+ "\n",
151
+ " .dataframe thead th {\n",
152
+ " text-align: right;\n",
153
+ " }\n",
154
+ "</style>\n",
155
+ "<table border=\"1\" class=\"dataframe\">\n",
156
+ " <thead>\n",
157
+ " <tr style=\"text-align: right;\">\n",
158
+ " <th></th>\n",
159
+ " <th>address</th>\n",
160
+ " <th>affidavit_filename_with_unique_id</th>\n",
161
+ " <th>age</th>\n",
162
+ " <th>application_uploaded</th>\n",
163
+ " <th>assembly_constituency</th>\n",
164
+ " <th>current_status</th>\n",
165
+ " <th>dropdown_value</th>\n",
166
+ " <th>fathers_or_husbands_name_english</th>\n",
167
+ " <th>fathers_or_husbands_name_hindi</th>\n",
168
+ " <th>name</th>\n",
169
+ " <th>name_english</th>\n",
170
+ " <th>name_hindi</th>\n",
171
+ " <th>party_name</th>\n",
172
+ " <th>photo_filename_with_unique_id</th>\n",
173
+ " <th>photo_url</th>\n",
174
+ " <th>state</th>\n",
175
+ " <th>unique_id</th>\n",
176
+ " <th>url</th>\n",
177
+ " </tr>\n",
178
+ " </thead>\n",
179
+ " <tbody>\n",
180
+ " <tr>\n",
181
+ " <th>0</th>\n",
182
+ " <td>O/5, BANKIM MUKHERJEE SARANI, DURGAPUR COLONY,...</td>\n",
183
+ " <td>NaN</td>\n",
184
+ " <td>57</td>\n",
185
+ " <td>7th April, 2021</td>\n",
186
+ " <td>Rashbehari</td>\n",
187
+ " <td>NaN</td>\n",
188
+ " <td>NaN</td>\n",
189
+ " <td>LATE SUBODH CHANDRA DAS</td>\n",
190
+ " <td>प्रयात सुबोध चन्द्र दास</td>\n",
191
+ " <td>SWAPAN DAS</td>\n",
192
+ " <td>SWAPAN DAS</td>\n",
193
+ " <td>स्वपन दास</td>\n",
194
+ " <td>Bahujan Mukti Party</td>\n",
195
+ " <td>NaN</td>\n",
196
+ " <td>NaN</td>\n",
197
+ " <td>West Bengal</td>\n",
198
+ " <td>1</td>\n",
199
+ " <td>NaN</td>\n",
200
+ " </tr>\n",
201
+ " <tr>\n",
202
+ " <th>1</th>\n",
203
+ " <td>F-301, PRANTIK PALLY, KOLKATA – 700042</td>\n",
204
+ " <td>NaN</td>\n",
205
+ " <td>41</td>\n",
206
+ " <td>7th April, 2021</td>\n",
207
+ " <td>Rashbehari</td>\n",
208
+ " <td>NaN</td>\n",
209
+ " <td>NaN</td>\n",
210
+ " <td>LATE PINAKI KUNDU</td>\n",
211
+ " <td>स्वर्गीय पिनाकि कुंडू</td>\n",
212
+ " <td>PREETAM KUNDU</td>\n",
213
+ " <td>PREETAM KUNDU</td>\n",
214
+ " <td>प्रीतम कुंडू</td>\n",
215
+ " <td>Independent</td>\n",
216
+ " <td>NaN</td>\n",
217
+ " <td>NaN</td>\n",
218
+ " <td>West Bengal</td>\n",
219
+ " <td>2</td>\n",
220
+ " <td>NaN</td>\n",
221
+ " </tr>\n",
222
+ " <tr>\n",
223
+ " <th>2</th>\n",
224
+ " <td>Vill- Debidaspur, P.O.- Kankuria, P.S.- Samser...</td>\n",
225
+ " <td>NaN</td>\n",
226
+ " <td>60</td>\n",
227
+ " <td>26th April, 2021</td>\n",
228
+ " <td>Samserganj</td>\n",
229
+ " <td>NaN</td>\n",
230
+ " <td>NaN</td>\n",
231
+ " <td>Late Nur Mohammad Biswas</td>\n",
232
+ " <td>मृत नूर महम्मद बिश्वास</td>\n",
233
+ " <td>Zaidur Rahaman</td>\n",
234
+ " <td>Zaidur Rahaman</td>\n",
235
+ " <td>जैदुर रहमान</td>\n",
236
+ " <td>Indian National Congress</td>\n",
237
+ " <td>NaN</td>\n",
238
+ " <td>NaN</td>\n",
239
+ " <td>West Bengal</td>\n",
240
+ " <td>3</td>\n",
241
+ " <td>NaN</td>\n",
242
+ " </tr>\n",
243
+ " <tr>\n",
244
+ " <th>3</th>\n",
245
+ " <td>F-301, PRANTIK PALLY, KOLKATA – 700042</td>\n",
246
+ " <td>NaN</td>\n",
247
+ " <td>41</td>\n",
248
+ " <td>7th April, 2021</td>\n",
249
+ " <td>Rashbehari</td>\n",
250
+ " <td>NaN</td>\n",
251
+ " <td>NaN</td>\n",
252
+ " <td>LATE PINAKI KUNDU</td>\n",
253
+ " <td>स्वर्गीय पिनाकि कुंडू</td>\n",
254
+ " <td>PREETAM KUNDU</td>\n",
255
+ " <td>PREETAM KUNDU</td>\n",
256
+ " <td>प्रीतम कुंडू</td>\n",
257
+ " <td>Independent</td>\n",
258
+ " <td>NaN</td>\n",
259
+ " <td>NaN</td>\n",
260
+ " <td>West Bengal</td>\n",
261
+ " <td>4</td>\n",
262
+ " <td>NaN</td>\n",
263
+ " </tr>\n",
264
+ " <tr>\n",
265
+ " <th>4</th>\n",
266
+ " <td>VILL-FULBARI, P.O-KAMLABARI, P.S-ENGLISH BAZAR...</td>\n",
267
+ " <td>NaN</td>\n",
268
+ " <td>42</td>\n",
269
+ " <td>6th April, 2021</td>\n",
270
+ " <td>Manikchak</td>\n",
271
+ " <td>NaN</td>\n",
272
+ " <td>NaN</td>\n",
273
+ " <td>LT. ALI MOHAMMAD</td>\n",
274
+ " <td>स्वर्गीय आली महममद</td>\n",
275
+ " <td>ALAM MOTTAKIN</td>\n",
276
+ " <td>ALAM MOTTAKIN</td>\n",
277
+ " <td>आलम मोत्ताकिन</td>\n",
278
+ " <td>Indian National Congress</td>\n",
279
+ " <td>NaN</td>\n",
280
+ " <td>NaN</td>\n",
281
+ " <td>West Bengal</td>\n",
282
+ " <td>5</td>\n",
283
+ " <td>NaN</td>\n",
284
+ " </tr>\n",
285
+ " </tbody>\n",
286
+ "</table>\n",
287
+ "</div>"
288
+ ],
289
+ "text/plain": [
290
+ " address ... url\n",
291
+ "0 O/5, BANKIM MUKHERJEE SARANI, DURGAPUR COLONY,... ... NaN\n",
292
+ "1 F-301, PRANTIK PALLY, KOLKATA – 700042 ... NaN\n",
293
+ "2 Vill- Debidaspur, P.O.- Kankuria, P.S.- Samser... ... NaN\n",
294
+ "3 F-301, PRANTIK PALLY, KOLKATA – 700042 ... NaN\n",
295
+ "4 VILL-FULBARI, P.O-KAMLABARI, P.S-ENGLISH BAZAR... ... NaN\n",
296
+ "\n",
297
+ "[5 rows x 18 columns]"
298
+ ]
299
+ },
300
+ "metadata": {},
301
+ "execution_count": 5
302
+ }
303
+ ]
304
+ },
305
+ {
306
+ "cell_type": "code",
307
+ "metadata": {
308
+ "id": "TnwMig87P1yV"
309
+ },
310
+ "source": [
311
+ "af_df = affidavits_df[['fathers_or_husbands_name_hindi', 'fathers_or_husbands_name_english', 'name_hindi', 'name_english']]"
312
+ ],
313
+ "execution_count": 6,
314
+ "outputs": []
315
+ },
316
+ {
317
+ "cell_type": "code",
318
+ "metadata": {
319
+ "id": "XYj3W5R3bdii"
320
+ },
321
+ "source": [
322
+ "# split and merge\n",
323
+ "input_target_df = pd.concat([\n",
324
+ " af_df[['fathers_or_husbands_name_hindi','fathers_or_husbands_name_english']].rename(columns={\"fathers_or_husbands_name_hindi\": \"hindi\", \"fathers_or_husbands_name_english\": \"english\"}), \n",
325
+ " af_df[['name_hindi','name_english']].rename(columns={\"name_hindi\": \"hindi\", \"name_english\": \"english\"})\n",
326
+ " ], ignore_index=True)"
327
+ ],
328
+ "execution_count": 7,
329
+ "outputs": []
330
+ },
331
+ {
332
+ "cell_type": "code",
333
+ "metadata": {
334
+ "colab": {
335
+ "base_uri": "https://localhost:8080/",
336
+ "height": 206
337
+ },
338
+ "id": "q6_4pn8Wbt-A",
339
+ "outputId": "27873e76-dbe5-4590-ccd5-d432b7035942"
340
+ },
341
+ "source": [
342
+ "input_target_df.head()"
343
+ ],
344
+ "execution_count": 8,
345
+ "outputs": [
346
+ {
347
+ "output_type": "execute_result",
348
+ "data": {
349
+ "text/html": [
350
+ "<div>\n",
351
+ "<style scoped>\n",
352
+ " .dataframe tbody tr th:only-of-type {\n",
353
+ " vertical-align: middle;\n",
354
+ " }\n",
355
+ "\n",
356
+ " .dataframe tbody tr th {\n",
357
+ " vertical-align: top;\n",
358
+ " }\n",
359
+ "\n",
360
+ " .dataframe thead th {\n",
361
+ " text-align: right;\n",
362
+ " }\n",
363
+ "</style>\n",
364
+ "<table border=\"1\" class=\"dataframe\">\n",
365
+ " <thead>\n",
366
+ " <tr style=\"text-align: right;\">\n",
367
+ " <th></th>\n",
368
+ " <th>hindi</th>\n",
369
+ " <th>english</th>\n",
370
+ " </tr>\n",
371
+ " </thead>\n",
372
+ " <tbody>\n",
373
+ " <tr>\n",
374
+ " <th>0</th>\n",
375
+ " <td>प्रयात सुबोध चन्द्र दास</td>\n",
376
+ " <td>LATE SUBODH CHANDRA DAS</td>\n",
377
+ " </tr>\n",
378
+ " <tr>\n",
379
+ " <th>1</th>\n",
380
+ " <td>स्वर्गीय पिनाकि कुंडू</td>\n",
381
+ " <td>LATE PINAKI KUNDU</td>\n",
382
+ " </tr>\n",
383
+ " <tr>\n",
384
+ " <th>2</th>\n",
385
+ " <td>मृत नूर महम्मद बिश्वास</td>\n",
386
+ " <td>Late Nur Mohammad Biswas</td>\n",
387
+ " </tr>\n",
388
+ " <tr>\n",
389
+ " <th>3</th>\n",
390
+ " <td>स्वर्गीय पिनाकि कुंडू</td>\n",
391
+ " <td>LATE PINAKI KUNDU</td>\n",
392
+ " </tr>\n",
393
+ " <tr>\n",
394
+ " <th>4</th>\n",
395
+ " <td>स्वर्गीय आली महममद</td>\n",
396
+ " <td>LT. ALI MOHAMMAD</td>\n",
397
+ " </tr>\n",
398
+ " </tbody>\n",
399
+ "</table>\n",
400
+ "</div>"
401
+ ],
402
+ "text/plain": [
403
+ " hindi english\n",
404
+ "0 प्रयात सुबोध चन्द्र दास LATE SUBODH CHANDRA DAS\n",
405
+ "1 स्वर्गीय पिनाकि कुंडू LATE PINAKI KUNDU\n",
406
+ "2 मृत नूर महम्मद बिश्वास Late Nur Mohammad Biswas\n",
407
+ "3 स्वर्गीय पिनाकि कुंडू LATE PINAKI KUNDU\n",
408
+ "4 स्वर्गीय आली महममद LT. ALI MOHAMMAD"
409
+ ]
410
+ },
411
+ "metadata": {},
412
+ "execution_count": 8
413
+ }
414
+ ]
415
+ },
416
+ {
417
+ "cell_type": "markdown",
418
+ "metadata": {
419
+ "id": "sRjQYPAjajwg"
420
+ },
421
+ "source": [
422
+ "## load cricket dataset"
423
+ ]
424
+ },
425
+ {
426
+ "cell_type": "code",
427
+ "metadata": {
428
+ "id": "QIlUaSeP54a0"
429
+ },
430
+ "source": [
431
+ "cricket_df = pd.read_json('players_with_hindi_names.json')"
432
+ ],
433
+ "execution_count": 9,
434
+ "outputs": []
435
+ },
436
+ {
437
+ "cell_type": "code",
438
+ "metadata": {
439
+ "colab": {
440
+ "base_uri": "https://localhost:8080/",
441
+ "height": 206
442
+ },
443
+ "id": "-8AW_DdX5934",
444
+ "outputId": "1a6e609a-9479-4194-b3e0-88cb5e4e65d4"
445
+ },
446
+ "source": [
447
+ "cricket_df.head()"
448
+ ],
449
+ "execution_count": 10,
450
+ "outputs": [
451
+ {
452
+ "output_type": "execute_result",
453
+ "data": {
454
+ "text/html": [
455
+ "<div>\n",
456
+ "<style scoped>\n",
457
+ " .dataframe tbody tr th:only-of-type {\n",
458
+ " vertical-align: middle;\n",
459
+ " }\n",
460
+ "\n",
461
+ " .dataframe tbody tr th {\n",
462
+ " vertical-align: top;\n",
463
+ " }\n",
464
+ "\n",
465
+ " .dataframe thead th {\n",
466
+ " text-align: right;\n",
467
+ " }\n",
468
+ "</style>\n",
469
+ "<table border=\"1\" class=\"dataframe\">\n",
470
+ " <thead>\n",
471
+ " <tr style=\"text-align: right;\">\n",
472
+ " <th></th>\n",
473
+ " <th>id</th>\n",
474
+ " <th>hindi_name</th>\n",
475
+ " <th>hindi_long_name</th>\n",
476
+ " <th>english_name</th>\n",
477
+ " <th>gender</th>\n",
478
+ " <th>date_of_birth</th>\n",
479
+ " <th>country_id</th>\n",
480
+ " <th>slug</th>\n",
481
+ " </tr>\n",
482
+ " </thead>\n",
483
+ " <tbody>\n",
484
+ " <tr>\n",
485
+ " <th>0</th>\n",
486
+ " <td>90143</td>\n",
487
+ " <td>आर गुरबाज़</td>\n",
488
+ " <td>रहमानउल्लाह गुरबाज़</td>\n",
489
+ " <td>Rahmanullah Gurbaz</td>\n",
490
+ " <td>M</td>\n",
491
+ " <td>{'year': 2001, 'month': 11, 'date': 28}</td>\n",
492
+ " <td>40</td>\n",
493
+ " <td>rahmanullah-gurbaz</td>\n",
494
+ " </tr>\n",
495
+ " <tr>\n",
496
+ " <th>1</th>\n",
497
+ " <td>54018</td>\n",
498
+ " <td>एम रिज़वान</td>\n",
499
+ " <td>मोहम्मद रिज़वान</td>\n",
500
+ " <td>Mohammad Rizwan</td>\n",
501
+ " <td>M</td>\n",
502
+ " <td>{'year': 1992, 'month': 6, 'date': 1}</td>\n",
503
+ " <td>7</td>\n",
504
+ " <td>mohammad-rizwan</td>\n",
505
+ " </tr>\n",
506
+ " <tr>\n",
507
+ " <th>2</th>\n",
508
+ " <td>47686</td>\n",
509
+ " <td>एस मक़सूद</td>\n",
510
+ " <td>सोहेब मक़सूद</td>\n",
511
+ " <td>Sohaib Maqsood</td>\n",
512
+ " <td>M</td>\n",
513
+ " <td>{'year': 1987, 'month': 4, 'date': 15}</td>\n",
514
+ " <td>7</td>\n",
515
+ " <td>sohaib-maqsood</td>\n",
516
+ " </tr>\n",
517
+ " <tr>\n",
518
+ " <th>3</th>\n",
519
+ " <td>53649</td>\n",
520
+ " <td>आर आर रुसो</td>\n",
521
+ " <td>राइली रुसो</td>\n",
522
+ " <td>Rossouw, RR</td>\n",
523
+ " <td>M</td>\n",
524
+ " <td>{'year': 1989, 'month': 10, 'date': 9}</td>\n",
525
+ " <td>3</td>\n",
526
+ " <td>rilee-rossouw</td>\n",
527
+ " </tr>\n",
528
+ " <tr>\n",
529
+ " <th>4</th>\n",
530
+ " <td>72393</td>\n",
531
+ " <td>एस हेटमायर</td>\n",
532
+ " <td>शिमरॉन हेटमायर</td>\n",
533
+ " <td>Hetmyer, SO</td>\n",
534
+ " <td>M</td>\n",
535
+ " <td>{'year': 1996, 'month': 12, 'date': 26}</td>\n",
536
+ " <td>4</td>\n",
537
+ " <td>shimron-hetmyer</td>\n",
538
+ " </tr>\n",
539
+ " </tbody>\n",
540
+ "</table>\n",
541
+ "</div>"
542
+ ],
543
+ "text/plain": [
544
+ " id hindi_name ... country_id slug\n",
545
+ "0 90143 आर गुरबाज़ ... 40 rahmanullah-gurbaz\n",
546
+ "1 54018 एम रिज़वान ... 7 mohammad-rizwan\n",
547
+ "2 47686 एस मक़सूद ... 7 sohaib-maqsood\n",
548
+ "3 53649 आर आर रुसो ... 3 rilee-rossouw\n",
549
+ "4 72393 एस हेटमायर ... 4 shimron-hetmyer\n",
550
+ "\n",
551
+ "[5 rows x 8 columns]"
552
+ ]
553
+ },
554
+ "metadata": {},
555
+ "execution_count": 10
556
+ }
557
+ ]
558
+ },
559
+ {
560
+ "cell_type": "code",
561
+ "metadata": {
562
+ "id": "Zyc762NtcILn"
563
+ },
564
+ "source": [
565
+ "input_target_df = pd.concat([\n",
566
+ " input_target_df, \n",
567
+ " cricket_df[['hindi_long_name', 'english_name']].rename(columns={\"hindi_long_name\": \"hindi\", \"english_name\": \"english\"}) \n",
568
+ " ], ignore_index=True)"
569
+ ],
570
+ "execution_count": 11,
571
+ "outputs": []
572
+ },
573
+ {
574
+ "cell_type": "markdown",
575
+ "metadata": {
576
+ "id": "iDtsnXBQa7m2"
577
+ },
578
+ "source": [
579
+ "## load Dakshina Dataset"
580
+ ]
581
+ },
582
+ {
583
+ "cell_type": "code",
584
+ "metadata": {
585
+ "id": "YWUoa66ea0xR"
586
+ },
587
+ "source": [
588
+ "\n",
589
+ "dakshina_df = pd.read_csv('hi.translit.sampled.train.tsv', sep='\\t', names=[\"hindi\", \"english\", \"freq\"])"
590
+ ],
591
+ "execution_count": 12,
592
+ "outputs": []
593
+ },
594
+ {
595
+ "cell_type": "code",
596
+ "metadata": {
597
+ "colab": {
598
+ "base_uri": "https://localhost:8080/",
599
+ "height": 206
600
+ },
601
+ "id": "LvzPQO06bONy",
602
+ "outputId": "6cfbd065-1cf0-41ea-943a-ff8da9afe559"
603
+ },
604
+ "source": [
605
+ "dakshina_df.head()"
606
+ ],
607
+ "execution_count": 13,
608
+ "outputs": [
609
+ {
610
+ "output_type": "execute_result",
611
+ "data": {
612
+ "text/html": [
613
+ "<div>\n",
614
+ "<style scoped>\n",
615
+ " .dataframe tbody tr th:only-of-type {\n",
616
+ " vertical-align: middle;\n",
617
+ " }\n",
618
+ "\n",
619
+ " .dataframe tbody tr th {\n",
620
+ " vertical-align: top;\n",
621
+ " }\n",
622
+ "\n",
623
+ " .dataframe thead th {\n",
624
+ " text-align: right;\n",
625
+ " }\n",
626
+ "</style>\n",
627
+ "<table border=\"1\" class=\"dataframe\">\n",
628
+ " <thead>\n",
629
+ " <tr style=\"text-align: right;\">\n",
630
+ " <th></th>\n",
631
+ " <th>hindi</th>\n",
632
+ " <th>english</th>\n",
633
+ " <th>freq</th>\n",
634
+ " </tr>\n",
635
+ " </thead>\n",
636
+ " <tbody>\n",
637
+ " <tr>\n",
638
+ " <th>0</th>\n",
639
+ " <td>अं</td>\n",
640
+ " <td>an</td>\n",
641
+ " <td>3</td>\n",
642
+ " </tr>\n",
643
+ " <tr>\n",
644
+ " <th>1</th>\n",
645
+ " <td>अंकगणित</td>\n",
646
+ " <td>ankganit</td>\n",
647
+ " <td>3</td>\n",
648
+ " </tr>\n",
649
+ " <tr>\n",
650
+ " <th>2</th>\n",
651
+ " <td>अंकल</td>\n",
652
+ " <td>uncle</td>\n",
653
+ " <td>4</td>\n",
654
+ " </tr>\n",
655
+ " <tr>\n",
656
+ " <th>3</th>\n",
657
+ " <td>अंकुर</td>\n",
658
+ " <td>ankur</td>\n",
659
+ " <td>4</td>\n",
660
+ " </tr>\n",
661
+ " <tr>\n",
662
+ " <th>4</th>\n",
663
+ " <td>अंकुरण</td>\n",
664
+ " <td>ankuran</td>\n",
665
+ " <td>3</td>\n",
666
+ " </tr>\n",
667
+ " </tbody>\n",
668
+ "</table>\n",
669
+ "</div>"
670
+ ],
671
+ "text/plain": [
672
+ " hindi english freq\n",
673
+ "0 अं an 3\n",
674
+ "1 अंकगणित ankganit 3\n",
675
+ "2 अंकल uncle 4\n",
676
+ "3 अंकुर ankur 4\n",
677
+ "4 अंकुरण ankuran 3"
678
+ ]
679
+ },
680
+ "metadata": {},
681
+ "execution_count": 13
682
+ }
683
+ ]
684
+ },
685
+ {
686
+ "cell_type": "code",
687
+ "metadata": {
688
+ "id": "X8aCM1ehbqWb"
689
+ },
690
+ "source": [
691
+ "input_target_df = pd.concat([\n",
692
+ " input_target_df, \n",
693
+ " dakshina_df[['hindi', 'english']]\n",
694
+ " ], ignore_index=True)"
695
+ ],
696
+ "execution_count": 14,
697
+ "outputs": []
698
+ },
699
+ {
700
+ "cell_type": "code",
701
+ "metadata": {
702
+ "colab": {
703
+ "base_uri": "https://localhost:8080/",
704
+ "height": 206
705
+ },
706
+ "id": "c_rJ_vXPcpGE",
707
+ "outputId": "77e9dea9-0b39-4c38-833d-b77fa42350e0"
708
+ },
709
+ "source": [
710
+ "input_target_df.head()"
711
+ ],
712
+ "execution_count": 15,
713
+ "outputs": [
714
+ {
715
+ "output_type": "execute_result",
716
+ "data": {
717
+ "text/html": [
718
+ "<div>\n",
719
+ "<style scoped>\n",
720
+ " .dataframe tbody tr th:only-of-type {\n",
721
+ " vertical-align: middle;\n",
722
+ " }\n",
723
+ "\n",
724
+ " .dataframe tbody tr th {\n",
725
+ " vertical-align: top;\n",
726
+ " }\n",
727
+ "\n",
728
+ " .dataframe thead th {\n",
729
+ " text-align: right;\n",
730
+ " }\n",
731
+ "</style>\n",
732
+ "<table border=\"1\" class=\"dataframe\">\n",
733
+ " <thead>\n",
734
+ " <tr style=\"text-align: right;\">\n",
735
+ " <th></th>\n",
736
+ " <th>hindi</th>\n",
737
+ " <th>english</th>\n",
738
+ " </tr>\n",
739
+ " </thead>\n",
740
+ " <tbody>\n",
741
+ " <tr>\n",
742
+ " <th>0</th>\n",
743
+ " <td>प्रयात सुबोध चन्द्र दास</td>\n",
744
+ " <td>LATE SUBODH CHANDRA DAS</td>\n",
745
+ " </tr>\n",
746
+ " <tr>\n",
747
+ " <th>1</th>\n",
748
+ " <td>स्वर्गीय पिनाकि कुंडू</td>\n",
749
+ " <td>LATE PINAKI KUNDU</td>\n",
750
+ " </tr>\n",
751
+ " <tr>\n",
752
+ " <th>2</th>\n",
753
+ " <td>मृत नूर महम्मद बिश्वास</td>\n",
754
+ " <td>Late Nur Mohammad Biswas</td>\n",
755
+ " </tr>\n",
756
+ " <tr>\n",
757
+ " <th>3</th>\n",
758
+ " <td>स्वर्गीय पिनाकि कुंडू</td>\n",
759
+ " <td>LATE PINAKI KUNDU</td>\n",
760
+ " </tr>\n",
761
+ " <tr>\n",
762
+ " <th>4</th>\n",
763
+ " <td>स्वर्गीय आली महममद</td>\n",
764
+ " <td>LT. ALI MOHAMMAD</td>\n",
765
+ " </tr>\n",
766
+ " </tbody>\n",
767
+ "</table>\n",
768
+ "</div>"
769
+ ],
770
+ "text/plain": [
771
+ " hindi english\n",
772
+ "0 प्रयात सुबोध चन्द्र दास LATE SUBODH CHANDRA DAS\n",
773
+ "1 स्वर्गीय पिनाकि कुंडू LATE PINAKI KUNDU\n",
774
+ "2 मृत नूर महम्मद बिश्वास Late Nur Mohammad Biswas\n",
775
+ "3 स्वर्गीय पिनाकि कुंडू LATE PINAKI KUNDU\n",
776
+ "4 स्वर्गीय आली महममद LT. ALI MOHAMMAD"
777
+ ]
778
+ },
779
+ "metadata": {},
780
+ "execution_count": 15
781
+ }
782
+ ]
783
+ },
784
+ {
785
+ "cell_type": "code",
786
+ "metadata": {
787
+ "colab": {
788
+ "base_uri": "https://localhost:8080/"
789
+ },
790
+ "id": "oxaiXS4yc90U",
791
+ "outputId": "1880929e-35dd-4a3b-84a0-266ae17b200a"
792
+ },
793
+ "source": [
794
+ "input_target_df.info()"
795
+ ],
796
+ "execution_count": 16,
797
+ "outputs": [
798
+ {
799
+ "output_type": "stream",
800
+ "name": "stdout",
801
+ "text": [
802
+ "<class 'pandas.core.frame.DataFrame'>\n",
803
+ "RangeIndex: 77908 entries, 0 to 77907\n",
804
+ "Data columns (total 2 columns):\n",
805
+ " # Column Non-Null Count Dtype \n",
806
+ "--- ------ -------------- ----- \n",
807
+ " 0 hindi 72727 non-null object\n",
808
+ " 1 english 77906 non-null object\n",
809
+ "dtypes: object(2)\n",
810
+ "memory usage: 1.2+ MB\n"
811
+ ]
812
+ }
813
+ ]
814
+ },
815
+ {
816
+ "cell_type": "code",
817
+ "metadata": {
818
+ "id": "7WVfnG3RSDz0"
819
+ },
820
+ "source": [
821
+ "input_target_df = input_target_df.dropna()"
822
+ ],
823
+ "execution_count": 17,
824
+ "outputs": []
825
+ },
826
+ {
827
+ "cell_type": "code",
828
+ "metadata": {
829
+ "colab": {
830
+ "base_uri": "https://localhost:8080/"
831
+ },
832
+ "id": "rs0mMz4ndDCG",
833
+ "outputId": "9813a65e-00ce-4e35-b55d-cb8bd9a20dd2"
834
+ },
835
+ "source": [
836
+ "input_target_df.info()"
837
+ ],
838
+ "execution_count": 18,
839
+ "outputs": [
840
+ {
841
+ "output_type": "stream",
842
+ "name": "stdout",
843
+ "text": [
844
+ "<class 'pandas.core.frame.DataFrame'>\n",
845
+ "Int64Index: 72725 entries, 0 to 77907\n",
846
+ "Data columns (total 2 columns):\n",
847
+ " # Column Non-Null Count Dtype \n",
848
+ "--- ------ -------------- ----- \n",
849
+ " 0 hindi 72725 non-null object\n",
850
+ " 1 english 72725 non-null object\n",
851
+ "dtypes: object(2)\n",
852
+ "memory usage: 1.7+ MB\n"
853
+ ]
854
+ }
855
+ ]
856
+ },
857
+ {
858
+ "cell_type": "code",
859
+ "metadata": {
860
+ "id": "7gujOMDzS1O_"
861
+ },
862
+ "source": [
863
+ "# strip and make lower case\n",
864
+ "input_target_df['hindi'] = input_target_df['hindi'].str.strip() # hindi has no caps\n",
865
+ "input_target_df['english'] = input_target_df['english'].str.strip().str.lower()"
866
+ ],
867
+ "execution_count": 19,
868
+ "outputs": []
869
+ },
870
+ {
871
+ "cell_type": "code",
872
+ "metadata": {
873
+ "colab": {
874
+ "base_uri": "https://localhost:8080/",
875
+ "height": 206
876
+ },
877
+ "id": "aJDDFPvhTv3e",
878
+ "outputId": "0ff1d8d2-6a9c-4a41-b60b-2c665f628210"
879
+ },
880
+ "source": [
881
+ "input_target_df.head()"
882
+ ],
883
+ "execution_count": 20,
884
+ "outputs": [
885
+ {
886
+ "output_type": "execute_result",
887
+ "data": {
888
+ "text/html": [
889
+ "<div>\n",
890
+ "<style scoped>\n",
891
+ " .dataframe tbody tr th:only-of-type {\n",
892
+ " vertical-align: middle;\n",
893
+ " }\n",
894
+ "\n",
895
+ " .dataframe tbody tr th {\n",
896
+ " vertical-align: top;\n",
897
+ " }\n",
898
+ "\n",
899
+ " .dataframe thead th {\n",
900
+ " text-align: right;\n",
901
+ " }\n",
902
+ "</style>\n",
903
+ "<table border=\"1\" class=\"dataframe\">\n",
904
+ " <thead>\n",
905
+ " <tr style=\"text-align: right;\">\n",
906
+ " <th></th>\n",
907
+ " <th>hindi</th>\n",
908
+ " <th>english</th>\n",
909
+ " </tr>\n",
910
+ " </thead>\n",
911
+ " <tbody>\n",
912
+ " <tr>\n",
913
+ " <th>0</th>\n",
914
+ " <td>प्रयात सुबोध चन्द्र दास</td>\n",
915
+ " <td>late subodh chandra das</td>\n",
916
+ " </tr>\n",
917
+ " <tr>\n",
918
+ " <th>1</th>\n",
919
+ " <td>स्वर्गीय पिनाकि कुंडू</td>\n",
920
+ " <td>late pinaki kundu</td>\n",
921
+ " </tr>\n",
922
+ " <tr>\n",
923
+ " <th>2</th>\n",
924
+ " <td>मृत नूर महम्मद बिश्वास</td>\n",
925
+ " <td>late nur mohammad biswas</td>\n",
926
+ " </tr>\n",
927
+ " <tr>\n",
928
+ " <th>3</th>\n",
929
+ " <td>स्वर्गीय पिनाकि कुंडू</td>\n",
930
+ " <td>late pinaki kundu</td>\n",
931
+ " </tr>\n",
932
+ " <tr>\n",
933
+ " <th>4</th>\n",
934
+ " <td>स्वर्गीय आली महममद</td>\n",
935
+ " <td>lt. ali mohammad</td>\n",
936
+ " </tr>\n",
937
+ " </tbody>\n",
938
+ "</table>\n",
939
+ "</div>"
940
+ ],
941
+ "text/plain": [
942
+ " hindi english\n",
943
+ "0 प्रयात सुबोध चन्द्र दास late subodh chandra das\n",
944
+ "1 स्वर्गीय पिनाकि कुंडू late pinaki kundu\n",
945
+ "2 मृत नूर महम्मद बिश्वास late nur mohammad biswas\n",
946
+ "3 स्वर्गीय पिनाकि कुंडू late pinaki kundu\n",
947
+ "4 स्वर्गीय आली महममद lt. ali mohammad"
948
+ ]
949
+ },
950
+ "metadata": {},
951
+ "execution_count": 20
952
+ }
953
+ ]
954
+ },
955
+ {
956
+ "cell_type": "code",
957
+ "metadata": {
958
+ "id": "tUmbiLe8T7rk"
959
+ },
960
+ "source": [
961
+ "# Strip out any abbreviated names\n",
962
+ "input_target_df = input_target_df[~input_target_df['english'].str.contains('\\.')]\n",
963
+ "input_target_df = input_target_df[~input_target_df['english'].str.contains(',')]"
964
+ ],
965
+ "execution_count": 21,
966
+ "outputs": []
967
+ },
968
+ {
969
+ "cell_type": "code",
970
+ "metadata": {
971
+ "colab": {
972
+ "base_uri": "https://localhost:8080/"
973
+ },
974
+ "id": "GRkMX8QcVbKg",
975
+ "outputId": "2fbc4648-4a74-4b59-af8c-2340eed53be6"
976
+ },
977
+ "source": [
978
+ "input_target_df.info()"
979
+ ],
980
+ "execution_count": 22,
981
+ "outputs": [
982
+ {
983
+ "output_type": "stream",
984
+ "name": "stdout",
985
+ "text": [
986
+ "<class 'pandas.core.frame.DataFrame'>\n",
987
+ "Int64Index: 63899 entries, 0 to 77907\n",
988
+ "Data columns (total 2 columns):\n",
989
+ " # Column Non-Null Count Dtype \n",
990
+ "--- ------ -------------- ----- \n",
991
+ " 0 hindi 63899 non-null object\n",
992
+ " 1 english 63899 non-null object\n",
993
+ "dtypes: object(2)\n",
994
+ "memory usage: 1.5+ MB\n"
995
+ ]
996
+ }
997
+ ]
998
+ },
999
+ {
1000
+ "cell_type": "code",
1001
+ "metadata": {
1002
+ "id": "dyzG08H1Z3Ch"
1003
+ },
1004
+ "source": [
1005
+ "# drop duplicates\n",
1006
+ "input_target_df = input_target_df.drop_duplicates()"
1007
+ ],
1008
+ "execution_count": 23,
1009
+ "outputs": []
1010
+ },
1011
+ {
1012
+ "cell_type": "code",
1013
+ "metadata": {
1014
+ "colab": {
1015
+ "base_uri": "https://localhost:8080/"
1016
+ },
1017
+ "id": "52H8_u4maYM2",
1018
+ "outputId": "26cb23ca-2ee1-4a68-bb94-3b14d415f652"
1019
+ },
1020
+ "source": [
1021
+ "input_target_df.info()"
1022
+ ],
1023
+ "execution_count": 24,
1024
+ "outputs": [
1025
+ {
1026
+ "output_type": "stream",
1027
+ "name": "stdout",
1028
+ "text": [
1029
+ "<class 'pandas.core.frame.DataFrame'>\n",
1030
+ "Int64Index: 55821 entries, 0 to 77907\n",
1031
+ "Data columns (total 2 columns):\n",
1032
+ " # Column Non-Null Count Dtype \n",
1033
+ "--- ------ -------------- ----- \n",
1034
+ " 0 hindi 55821 non-null object\n",
1035
+ " 1 english 55821 non-null object\n",
1036
+ "dtypes: object(2)\n",
1037
+ "memory usage: 1.3+ MB\n"
1038
+ ]
1039
+ }
1040
+ ]
1041
+ },
1042
+ {
1043
+ "cell_type": "code",
1044
+ "metadata": {
1045
+ "id": "DnQHxhVye07D"
1046
+ },
1047
+ "source": [
1048
+ "# Remove if target has non-english \n",
1049
+ "def isEnglish(s):\n",
1050
+ " try:\n",
1051
+ " s.encode(encoding='utf-8').decode('ascii')\n",
1052
+ " except UnicodeDecodeError:\n",
1053
+ " return False\n",
1054
+ " else:\n",
1055
+ " return True\n",
1056
+ "\n",
1057
+ "input_target_df = input_target_df[input_target_df['english'].apply(isEnglish)]"
1058
+ ],
1059
+ "execution_count": 25,
1060
+ "outputs": []
1061
+ },
1062
+ {
1063
+ "cell_type": "code",
1064
+ "metadata": {
1065
+ "colab": {
1066
+ "base_uri": "https://localhost:8080/"
1067
+ },
1068
+ "id": "sEGVeRyrgJJc",
1069
+ "outputId": "1c0bad41-3570-4283-cc3a-33041f35cab1"
1070
+ },
1071
+ "source": [
1072
+ "input_target_df.info()"
1073
+ ],
1074
+ "execution_count": 26,
1075
+ "outputs": [
1076
+ {
1077
+ "output_type": "stream",
1078
+ "name": "stdout",
1079
+ "text": [
1080
+ "<class 'pandas.core.frame.DataFrame'>\n",
1081
+ "Int64Index: 55768 entries, 0 to 77907\n",
1082
+ "Data columns (total 2 columns):\n",
1083
+ " # Column Non-Null Count Dtype \n",
1084
+ "--- ------ -------------- ----- \n",
1085
+ " 0 hindi 55768 non-null object\n",
1086
+ " 1 english 55768 non-null object\n",
1087
+ "dtypes: object(2)\n",
1088
+ "memory usage: 1.3+ MB\n"
1089
+ ]
1090
+ }
1091
+ ]
1092
+ },
1093
+ {
1094
+ "cell_type": "code",
1095
+ "metadata": {
1096
+ "id": "URH4OE1pq4rM"
1097
+ },
1098
+ "source": [
1099
+ "# append start and end of sequence for target\n",
1100
+ "sos = '^'\n",
1101
+ "eos = '$'\n",
1102
+ "\n",
1103
+ "input_target_df['english'] = sos + input_target_df['english'].astype(str) + eos"
1104
+ ],
1105
+ "execution_count": 27,
1106
+ "outputs": []
1107
+ },
1108
+ {
1109
+ "cell_type": "code",
1110
+ "metadata": {
1111
+ "id": "AahQxw3J5_ax"
1112
+ },
1113
+ "source": [
1114
+ "input_words = input_target_df['hindi'].tolist()\n",
1115
+ "target_words = input_target_df['english'].tolist()"
1116
+ ],
1117
+ "execution_count": 28,
1118
+ "outputs": []
1119
+ },
1120
+ {
1121
+ "cell_type": "code",
1122
+ "metadata": {
1123
+ "colab": {
1124
+ "base_uri": "https://localhost:8080/"
1125
+ },
1126
+ "id": "lpsCJ3kv7LkA",
1127
+ "outputId": "bace413b-6505-4c4e-f4be-ec97964560fa"
1128
+ },
1129
+ "source": [
1130
+ "print(input_words[0])\n",
1131
+ "print(target_words[0])"
1132
+ ],
1133
+ "execution_count": 29,
1134
+ "outputs": [
1135
+ {
1136
+ "output_type": "stream",
1137
+ "name": "stdout",
1138
+ "text": [
1139
+ "प्रयात सुबोध चन्द्र दास\n",
1140
+ "^late subodh chandra das$\n"
1141
+ ]
1142
+ }
1143
+ ]
1144
+ },
1145
+ {
1146
+ "cell_type": "code",
1147
+ "metadata": {
1148
+ "colab": {
1149
+ "base_uri": "https://localhost:8080/"
1150
+ },
1151
+ "id": "X3pGuZOyQ1D2",
1152
+ "outputId": "eee96d86-fcfa-4cb2-f588-b8a60ca16037"
1153
+ },
1154
+ "source": [
1155
+ "print(f\"Total number of input words {len(input_words)}\")\n",
1156
+ "print(f\"Total number of target words {len(target_words)}\")"
1157
+ ],
1158
+ "execution_count": 30,
1159
+ "outputs": [
1160
+ {
1161
+ "output_type": "stream",
1162
+ "name": "stdout",
1163
+ "text": [
1164
+ "Total number of input words 55768\n",
1165
+ "Total number of target words 55768\n"
1166
+ ]
1167
+ }
1168
+ ]
1169
+ },
1170
+ {
1171
+ "cell_type": "code",
1172
+ "metadata": {
1173
+ "id": "U5Trw_fmOLi7"
1174
+ },
1175
+ "source": [
1176
+ "def build_vocab(input_words, target_words):\n",
1177
+ " input_vocab = set()\n",
1178
+ " target_vocab = set()\n",
1179
+ " for input_word, target_word in zip(input_words, target_words):\n",
1180
+ " input_vocab.update(set(input_word))\n",
1181
+ " target_vocab.update(set(target_word))\n",
1182
+ " return input_vocab, target_vocab"
1183
+ ],
1184
+ "execution_count": 31,
1185
+ "outputs": []
1186
+ },
1187
+ {
1188
+ "cell_type": "code",
1189
+ "metadata": {
1190
+ "id": "RlgD8jM0OsHG"
1191
+ },
1192
+ "source": [
1193
+ "input_vocab, target_vocab = build_vocab(input_words, target_words)"
1194
+ ],
1195
+ "execution_count": 32,
1196
+ "outputs": []
1197
+ },
1198
+ {
1199
+ "cell_type": "code",
1200
+ "metadata": {
1201
+ "colab": {
1202
+ "base_uri": "https://localhost:8080/"
1203
+ },
1204
+ "id": "W_wQMLvrOyu_",
1205
+ "outputId": "e75e47d5-a7f4-45d6-80bf-e3212b137f53"
1206
+ },
1207
+ "source": [
1208
+ "print(f\"Total hindi characters {len(input_vocab)}\")\n",
1209
+ "print(f\"Total english characters {len(target_vocab)}\")"
1210
+ ],
1211
+ "execution_count": 33,
1212
+ "outputs": [
1213
+ {
1214
+ "output_type": "stream",
1215
+ "name": "stdout",
1216
+ "text": [
1217
+ "Total hindi characters 186\n",
1218
+ "Total english characters 35\n"
1219
+ ]
1220
+ }
1221
+ ]
1222
+ },
1223
+ {
1224
+ "cell_type": "code",
1225
+ "metadata": {
1226
+ "id": "ztVnKKGsYlFK"
1227
+ },
1228
+ "source": [
1229
+ "input_vocab = sorted(list(input_vocab))\n",
1230
+ "target_vocab = sorted(list(target_vocab))"
1231
+ ],
1232
+ "execution_count": 34,
1233
+ "outputs": []
1234
+ },
1235
+ {
1236
+ "cell_type": "code",
1237
+ "metadata": {
1238
+ "id": "fbJSDwkvXvQp"
1239
+ },
1240
+ "source": [
1241
+ "input_token_index = dict([(char, i) for i, char in enumerate(input_vocab)])\n",
1242
+ "target_token_index = dict([(char, i) for i, char in enumerate(target_vocab)])"
1243
+ ],
1244
+ "execution_count": 35,
1245
+ "outputs": []
1246
+ },
1247
+ {
1248
+ "cell_type": "code",
1249
+ "metadata": {
1250
+ "id": "-dxT9ms4YG1y"
1251
+ },
1252
+ "source": [
1253
+ "num_encoder_tokens = len(input_vocab)\n",
1254
+ "num_decoder_tokens = len(target_vocab)"
1255
+ ],
1256
+ "execution_count": 36,
1257
+ "outputs": []
1258
+ },
1259
+ {
1260
+ "cell_type": "code",
1261
+ "metadata": {
1262
+ "id": "DZguL8LRY8Bl"
1263
+ },
1264
+ "source": [
1265
+ "max_encoder_seq_length = max([len(txt) for txt in input_words])\n",
1266
+ "max_decoder_seq_length = max([len(txt) for txt in target_words])"
1267
+ ],
1268
+ "execution_count": 37,
1269
+ "outputs": []
1270
+ },
1271
+ {
1272
+ "cell_type": "code",
1273
+ "metadata": {
1274
+ "colab": {
1275
+ "base_uri": "https://localhost:8080/"
1276
+ },
1277
+ "id": "HZLsjCHrZGuP",
1278
+ "outputId": "05b74353-43dc-4b42-90cb-49244cd84f3c"
1279
+ },
1280
+ "source": [
1281
+ "print('Number of samples:', len(input_words))\n",
1282
+ "print('Number of unique input tokens:', num_encoder_tokens)\n",
1283
+ "print('Number of unique output tokens:', num_decoder_tokens)\n",
1284
+ "print('Max sequence length for inputs:', max_encoder_seq_length)\n",
1285
+ "print('Max sequence length for outputs:', max_decoder_seq_length)"
1286
+ ],
1287
+ "execution_count": 38,
1288
+ "outputs": [
1289
+ {
1290
+ "output_type": "stream",
1291
+ "name": "stdout",
1292
+ "text": [
1293
+ "Number of samples: 55768\n",
1294
+ "Number of unique input tokens: 186\n",
1295
+ "Number of unique output tokens: 35\n",
1296
+ "Max sequence length for inputs: 47\n",
1297
+ "Max sequence length for outputs: 49\n"
1298
+ ]
1299
+ }
1300
+ ]
1301
+ },
1302
+ {
1303
+ "cell_type": "code",
1304
+ "metadata": {
1305
+ "id": "nbXBdUGOZO3_"
1306
+ },
1307
+ "source": [
1308
+ "encoder_input_data = np.zeros((len(input_words), max_encoder_seq_length, num_encoder_tokens), dtype='float32')\n",
1309
+ "decoder_input_data = np.zeros((len(input_words), max_decoder_seq_length, num_decoder_tokens), dtype='float32')\n",
1310
+ "decoder_target_data = np.zeros( (len(input_words), max_decoder_seq_length, num_decoder_tokens), dtype='float32')"
1311
+ ],
1312
+ "execution_count": 39,
1313
+ "outputs": []
1314
+ },
1315
+ {
1316
+ "cell_type": "code",
1317
+ "metadata": {
1318
+ "colab": {
1319
+ "base_uri": "https://localhost:8080/"
1320
+ },
1321
+ "id": "HO9DgOJOZgpe",
1322
+ "outputId": "4f0769a0-7cc7-4977-d9db-013c6073dede"
1323
+ },
1324
+ "source": [
1325
+ "print(f\"encoder input shape {encoder_input_data.shape}\")\n",
1326
+ "print(f\"decoder input shape {decoder_input_data.shape}\")\n",
1327
+ "print(f\"decoder target shape {decoder_target_data.shape}\")"
1328
+ ],
1329
+ "execution_count": 40,
1330
+ "outputs": [
1331
+ {
1332
+ "output_type": "stream",
1333
+ "name": "stdout",
1334
+ "text": [
1335
+ "encoder input shape (55768, 47, 186)\n",
1336
+ "decoder input shape (55768, 49, 35)\n",
1337
+ "decoder target shape (55768, 49, 35)\n"
1338
+ ]
1339
+ }
1340
+ ]
1341
+ },
1342
+ {
1343
+ "cell_type": "code",
1344
+ "metadata": {
1345
+ "id": "9KGNey6fZ05q"
1346
+ },
1347
+ "source": [
1348
+ "for i, (input_text, target_text) in enumerate(zip(input_words, target_words)):\n",
1349
+ " for t, char in enumerate(input_text):\n",
1350
+ " encoder_input_data[i, t, input_token_index[char]] = 1.0\n",
1351
+ " # for the rest of sentence, mark it as space\n",
1352
+ " #encoder_input_data[i, t + 1 :, input_token_index[\" \"]] = 1.0\n",
1353
+ "\n",
1354
+ " for t, char in enumerate(target_text):\n",
1355
+ " # decoder_target_data is ahead of decoder_input_data by one timestep\n",
1356
+ " decoder_input_data[i, t, target_token_index[char]] = 1.0\n",
1357
+ " if t > 0:\n",
1358
+ " # decoder_target_data will be ahead by one timestep\n",
1359
+ " # and will not include the start character.\n",
1360
+ " decoder_target_data[i, t-1, target_token_index[char]] = 1.0\n",
1361
+ " # for the rest of sentence, mark it as space\n",
1362
+ " #decoder_input_data[i, t + 1 :, target_token_index[\" \"]] = 1.0"
1363
+ ],
1364
+ "execution_count": 41,
1365
+ "outputs": []
1366
+ },
1367
+ {
1368
+ "cell_type": "markdown",
1369
+ "metadata": {
1370
+ "id": "0CZd0uprOC5u"
1371
+ },
1372
+ "source": [
1373
+ "# Define Model"
1374
+ ]
1375
+ },
1376
+ {
1377
+ "cell_type": "code",
1378
+ "metadata": {
1379
+ "id": "0F1B0ezJcehK",
1380
+ "colab": {
1381
+ "base_uri": "https://localhost:8080/"
1382
+ },
1383
+ "outputId": "b3df9826-5bc7-4061-e777-bb38dbbe546f"
1384
+ },
1385
+ "source": [
1386
+ "latent_dim = 256 # Latent dimensionality of the encoding space.\n",
1387
+ "EMBEDDING_SIZE = 100\n",
1388
+ "\n",
1389
+ "# Define an input sequence and process it.\n",
1390
+ "encoder_inputs = Input(shape=(None, num_encoder_tokens))\n",
1391
+ "print(encoder_inputs.shape)\n",
1392
+ "\n",
1393
+ "# Define embedding layer\n",
1394
+ "encoder_embedding = Embedding(num_encoder_tokens, EMBEDDING_SIZE, input_length=max_encoder_seq_length)\n",
1395
+ "encoder_inputs_em = encoder_embedding(encoder_inputs)\n",
1396
+ "print(encoder_inputs_em.shape)\n",
1397
+ "\n",
1398
+ "# since embedding layer will add one more dim, we need to flatten last 2 dims\n",
1399
+ "encoder_reshape = Reshape((-1, encoder_inputs_em.shape[2] * encoder_inputs_em.shape[3]))\n",
1400
+ "encoder_inputs_re = encoder_reshape(encoder_inputs_em)\n",
1401
+ "print(encoder_inputs_re.shape)\n",
1402
+ "\n",
1403
+ "# Note that LSTM takes only 3 dims, (samples, timesteps, features)\n",
1404
+ "encoder = LSTM(latent_dim, return_state=True)\n",
1405
+ "\n",
1406
+ "encoder_outputs, state_h, state_c = encoder(encoder_inputs_re)\n",
1407
+ "# We discard `encoder_outputs` and only keep the states.\n",
1408
+ "encoder_states = [state_h, state_c]"
1409
+ ],
1410
+ "execution_count": 43,
1411
+ "outputs": [
1412
+ {
1413
+ "output_type": "stream",
1414
+ "name": "stdout",
1415
+ "text": [
1416
+ "(None, None, 186)\n",
1417
+ "(None, None, 186, 100)\n",
1418
+ "(None, None, 18600)\n"
1419
+ ]
1420
+ }
1421
+ ]
1422
+ },
1423
+ {
1424
+ "cell_type": "code",
1425
+ "metadata": {
1426
+ "id": "D4g-jGmUeeL4",
1427
+ "colab": {
1428
+ "base_uri": "https://localhost:8080/"
1429
+ },
1430
+ "outputId": "e4791789-9d0d-437f-8233-f9471b909846"
1431
+ },
1432
+ "source": [
1433
+ "# Set up the decoder, using `encoder_states` as initial state.\n",
1434
+ "decoder_inputs = Input(shape=(None, num_decoder_tokens))\n",
1435
+ "print(decoder_inputs.shape)\n",
1436
+ "\n",
1437
+ "# Define embeddling layer\n",
1438
+ "decoder_embedding = Embedding(num_decoder_tokens, latent_dim)\n",
1439
+ "decoder_inputs_em = decoder_embedding(decoder_inputs)\n",
1440
+ "print(decoder_inputs_em.shape)\n",
1441
+ "\n",
1442
+ "# since embedding layer will add one more dim, we need to flatten last 2 dims\n",
1443
+ "decoder_reshape = Reshape((-1, decoder_inputs_em.shape[2] * decoder_inputs_em.shape[3]))\n",
1444
+ "decoder_inputs_re = decoder_reshape(decoder_inputs_em)\n",
1445
+ "print(decoder_inputs_re.shape)\n",
1446
+ "\n",
1447
+ "# We set up our decoder to return full output sequences,\n",
1448
+ "# and to return internal states as well. We don't use the\n",
1449
+ "# return states in the training model, but we will use them in inference.\n",
1450
+ "decoder = LSTM(latent_dim, return_sequences=True, return_state=True)\n",
1451
+ "\n",
1452
+ "decoder_outputs, _, _ = decoder(decoder_inputs_re, initial_state=encoder_states)\n",
1453
+ "print(decoder_outputs.shape)\n",
1454
+ "\n",
1455
+ "decoder_dense = Dense(num_decoder_tokens, activation='softmax')\n",
1456
+ "decoder_outputs = decoder_dense(decoder_outputs)\n",
1457
+ "print(decoder_outputs.shape)"
1458
+ ],
1459
+ "execution_count": 44,
1460
+ "outputs": [
1461
+ {
1462
+ "output_type": "stream",
1463
+ "name": "stdout",
1464
+ "text": [
1465
+ "(None, None, 35)\n",
1466
+ "(None, None, 35, 256)\n",
1467
+ "(None, None, 8960)\n",
1468
+ "(None, None, 256)\n",
1469
+ "(None, None, 35)\n"
1470
+ ]
1471
+ }
1472
+ ]
1473
+ },
1474
+ {
1475
+ "cell_type": "code",
1476
+ "metadata": {
1477
+ "id": "voLTGIiBeyKO"
1478
+ },
1479
+ "source": [
1480
+ "# Define the model that will turn\n",
1481
+ "# `encoder_input_data` & `decoder_input_data` into `decoder_target_data`\n",
1482
+ "model = Model([encoder_inputs, decoder_inputs], decoder_outputs)"
1483
+ ],
1484
+ "execution_count": 45,
1485
+ "outputs": []
1486
+ },
1487
+ {
1488
+ "cell_type": "code",
1489
+ "metadata": {
1490
+ "colab": {
1491
+ "base_uri": "https://localhost:8080/"
1492
+ },
1493
+ "id": "iShaSKTZYbxl",
1494
+ "outputId": "170b8551-2874-490a-9cfb-e64600d19314"
1495
+ },
1496
+ "source": [
1497
+ "model.summary()"
1498
+ ],
1499
+ "execution_count": 46,
1500
+ "outputs": [
1501
+ {
1502
+ "output_type": "stream",
1503
+ "name": "stdout",
1504
+ "text": [
1505
+ "Model: \"model\"\n",
1506
+ "__________________________________________________________________________________________________\n",
1507
+ "Layer (type) Output Shape Param # Connected to \n",
1508
+ "==================================================================================================\n",
1509
+ "input_2 (InputLayer) [(None, None, 186)] 0 \n",
1510
+ "__________________________________________________________________________________________________\n",
1511
+ "input_3 (InputLayer) [(None, None, 35)] 0 \n",
1512
+ "__________________________________________________________________________________________________\n",
1513
+ "embedding_1 (Embedding) (None, None, 186, 10 18600 input_2[0][0] \n",
1514
+ "__________________________________________________________________________________________________\n",
1515
+ "embedding_2 (Embedding) (None, None, 35, 256 8960 input_3[0][0] \n",
1516
+ "__________________________________________________________________________________________________\n",
1517
+ "reshape_1 (Reshape) (None, None, 18600) 0 embedding_1[0][0] \n",
1518
+ "__________________________________________________________________________________________________\n",
1519
+ "reshape_2 (Reshape) (None, None, 8960) 0 embedding_2[0][0] \n",
1520
+ "__________________________________________________________________________________________________\n",
1521
+ "lstm (LSTM) [(None, 256), (None, 19309568 reshape_1[0][0] \n",
1522
+ "__________________________________________________________________________________________________\n",
1523
+ "lstm_1 (LSTM) [(None, None, 256), 9438208 reshape_2[0][0] \n",
1524
+ " lstm[0][1] \n",
1525
+ " lstm[0][2] \n",
1526
+ "__________________________________________________________________________________________________\n",
1527
+ "dense (Dense) (None, None, 35) 8995 lstm_1[0][0] \n",
1528
+ "==================================================================================================\n",
1529
+ "Total params: 28,784,331\n",
1530
+ "Trainable params: 28,784,331\n",
1531
+ "Non-trainable params: 0\n",
1532
+ "__________________________________________________________________________________________________\n"
1533
+ ]
1534
+ }
1535
+ ]
1536
+ },
1537
+ {
1538
+ "cell_type": "code",
1539
+ "metadata": {
1540
+ "colab": {
1541
+ "base_uri": "https://localhost:8080/",
1542
+ "height": 644
1543
+ },
1544
+ "id": "mfGcinDOYqKl",
1545
+ "outputId": "4cedc360-47bc-4cef-db62-de7e94c3bb05"
1546
+ },
1547
+ "source": [
1548
+ "tf.keras.utils.plot_model(model, show_shapes=True, show_layer_names=True)"
1549
+ ],
1550
+ "execution_count": 47,
1551
+ "outputs": [
1552
+ {
1553
+ "output_type": "execute_result",
1554
+ "data": {
1555
+ "image/png": "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RO2KVyIQERERERERkVaYRCAiIiIiIiIirTCJQERERERERERaYRKBiIiIiIiIiLTSKR+sePbsWX2HQNRs+fn5AIBDhw7pORLD0fCe5z6jzoBjGBEREXVkEiGE0HcQrUkikeg7BCIiohbrZMMzERERdQ4Jne5KBH7oImpbs2fPBsBf/YmIiIiIuiI+E4GIiIiIiIiItMIkAhERERERERFphUkEIiIiIiIiItIKkwhEREREREREpBUmEYiIiIiIiIhIK0wiEBEREREREZFWmEQgIiIiIiIiIq0wiUBEREREREREWmESgYiIiIiIiIi0wiQCEREREREREWmFSQQiIiIiIiIi0gqTCERERERERESkFSYRiIiIiIiIiEgrTCIQERERERERkVaYRCAiIiIiIiIirTCJQERERERERERaYRKBiIiIiIiIiLTCJAIRERERERERaYVJBCIiIiIiIiLSCpMIRERERERERKQVJhGIiIiIiIiISCtMIhARERERERGRVphEICIiIiIiIiKtMIlARERERERERFphEoGIiIiIiIiItMIkAhERERERERFphUkEIiIiIiIiItIKkwhEREREREREpBUmEYiIiIiIiIhIK0wiEBEREREREZFWmEQgIiIiIiIiIq0wiUBEREREREREWmESgYiIiIiIiIi0IhFCCH0HQUQd0759+7Bnzx7U19eryq5fvw4AcHFxUZV169YN77//PubMmdPuMRIRERERUbtJYBKBiJ7p8uXLGDp0qFZ1L126hCFDhrRxREREREREpEcJvJ2BiJ5pyJAh6Nev33Prubu7M4FARERERNQFMIlARE169913YWJi8szlJiYmCAwMbMeIiIiIiIhIX3g7AxE16dq1a3B3d0dT/yqysrLg7u7ejlEREREREZEe8HYGImqaq6srhg8fDolEorFMIpFgxIgRTCAQEREREXURTCIQ0XP95je/gZGRkUa5kZERfvOb3+ghIiIiIiIi0gfezkBEz1VYWAh7e3u1qR6Bx1M7FhQUoFevXnqKjIiIiIiI2hFvZyCi5+vZsyfGjh2rdjWCkZERXn/9dSYQiIiIiIi6ECYRiEgr7777rsbDFd999109RUNERERERPrA2xmISCslJSWwtbVFdXU1gMdTOxYWFsLKykrPkRERERERUTvh7QxEpB2lUomJEyfC2NgYxsbGmDx5MhMI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urpqjq/TJ24hWsZ64/z8F+dHv/mpxtMZiBoVHvFI1FD4Q4ueprGuj6CgIOHg4GDqMGpU30mEzMxMYWFhIbZu3VrnPkyhqqpKDB48WGzevNnUoRhFUxjPvXv3hFwuF+vXr9eU6Rs311v94/w0vfmpxiQCUaPCIx6JiOjpDNlMrKkqLS3FN998g8zMTM3GXl5eXoiIiEBERASKiopMHKFhqqqqkJqaisLCQgQEBJg6nDprKuNZvnw5evfujeDgYACGxc31Vv84P01rfoQQyM3NxdGjR3H58mUTR0dET2ISgYiIWrwHDx5gxIgR6NSpE6ZNm6YpX7JkCfz9/REQEGDwpmqmdPjwYezYsQNpaWl6n23fmDWF8WzYsAFnzpzB/v37IZVKARgeN9db/eH8NL352bVrF1xdXTF48GDs27fPxBES0ZMkQghh6iCIWgJ/f38AQEpKiokjocaoMa6P999/Hx9//DHKy8vRvn17rFu3DhMmTDB1WBrJycmYNGkSGuLH2LfffotDhw5h9erV9d4XNT27du1CRkYGFi1apLOJ3vPgejMuzk/jZuz5eZbG+POWqIlJYRKBqIHwhxY9DdeH4RoyiUBERM0Df94S1VkKH2cgIiIiIiIiIr0wiUBEREREREREemESgYiIiIiIiIj0wiQCEREREREREenFwtQBELUkx48f12zoQ/Sk48ePAwDXhwFu3LgBgJ8ZERHp7/jx4+jfv7+pwyBq0phEIGogAwYMMHUI1IjxFxrDubm5NaojJ1uC06dPAwBefPFFE0dCRPR8+vfvz9/JiOqIRzwSERGRXiZOnAjg9+M1iYiIqEXiEY9EREREREREpB8mEYiIiIiIiIhIL0wiEBEREREREZFemEQgIiIiIiIiIr0wiUBEREREREREemESgYiIiIiIiIj0wiQCEREREREREemFSQQiIiIiIiIi0guTCERERERERESkFyYRiIiIiIiIiEgvTCIQERERERERkV6YRCAiIiIiIiIivTCJQERERERERER6YRKBiIiIiIiIiPTCJAIRERERERER6YVJBCIiIiIiIiLSC5MIRERERERERKQXJhGIiIiIiIiISC9MIhARERERERGRXphEICIiIiIiIiK9MIlARERERERERHphEoGIiIiIiIiI9MIkAhERERERERHphUkEIiIiIiIiItILkwhEREREREREpBcmEYiIiIiIiIhIL0wiEBEREREREZFemEQgIiIiIiIiIr0wiUBEREREREREemESgYiIiIiIiIj0wiQCEREREREREemFSQQiIiIiIiIi0ouFqQMgIiKixqekpASPHz/WKisvLwcAPHz4UKvc0tISSqWywWIjIiIi02ESgYiIiHT8/e9/x+zZs2t8z8HBQevfcXFxmDVrVkOERURERCYmEUIIUwdBREREjcvdu3fh4uKCqqqqp9YzNzfHrVu34OTk1ECRERERkQmlcE8EIiIi0uHk5IRhw4bB3Ny81jrm5ub485//zAQCERFRC8IkAhEREdVoypQpeNoNi0IITJkypQEjIiIiIlPj4wxERERUo8LCQjg5OelssFhNJpPh7t27UKlUDRwZERERmQgfZyAiIqKa2djYYPTo0ZBKpTrvWVhYYOzYsUwgEBERtTBMIhAREVGt3nrrLVRWVuqUV1VV4a233jJBRERERGRKfJyBiIiIalVeXg5HR0cUFhZqlVtbW+PevXuwtLQ0UWRERERkAnycgYiIiGonk8ng7+8PmUymKZNKpZg0aRITCERERC0QkwhERET0VJMnT0Z5ebnm3xUVFZg8ebIJIyIiIiJT4eMMRERE9FRqtRrOzs64e/cuAMDR0RG3b9+Gubm5iSMjIiKiBsbHGYiIiOjpzMzMMHnyZMhkMkilUrz11ltMIBAREbVQTCIQERHRM7355psoLy/nowxEREQtnIWpAyAiak6OHTuG69evmzoMIqMTQqBVq1YAgKtXryI7O9u0ARHVg7Zt22LAgAGmDoOIqFHjnghEREbk7++P7du3mzoMIiJ6DhMmTEBKSoqpwyAiasxSeCcCEZGR8ZfQlkEikSApKQkTJ040dSgNJiMjAwDQrVu357re398fAPjfBzVK1euTiIiejkkEIiIi0svzJg+IiIio+eDGikRERERERESkFyYRiIiIiIiIiEgvTCIQERERERERkV6YRCAiIiIiIiIivTCJQERERERERER6YRKBiIjIhPbv3w9bW1vs2bPH1KE0egcPHsSSJUuwY8cOeHh4QCKRQCKR4O2339apO3z4cNjY2MDc3Bze3t44deqUCSLWT3MbDwBERESgW7duUKlUsLS0hJeXFxYtWoSioiKtelFRUZpxP/nq3r27TpsVFRVYtWoVvLy8IJPJYGdnh+7duyM7OxsA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\n",
1556
+ "text/plain": [
1557
+ "<IPython.core.display.Image object>"
1558
+ ]
1559
+ },
1560
+ "metadata": {},
1561
+ "execution_count": 47
1562
+ }
1563
+ ]
1564
+ },
1565
+ {
1566
+ "cell_type": "markdown",
1567
+ "metadata": {
1568
+ "id": "eMp54YzsOKwn"
1569
+ },
1570
+ "source": [
1571
+ "# Train"
1572
+ ]
1573
+ },
1574
+ {
1575
+ "cell_type": "code",
1576
+ "metadata": {
1577
+ "colab": {
1578
+ "base_uri": "https://localhost:8080/"
1579
+ },
1580
+ "id": "CbARhubxe2yA",
1581
+ "outputId": "65d91e9f-0758-4ff3-ca38-18f3133bee25"
1582
+ },
1583
+ "source": [
1584
+ "# Training\n",
1585
+ "batch_size = 64 # Batch size for training.\n",
1586
+ "epochs = 500 # Number of epochs to train for.\n",
1587
+ "initial_learning_rate = 0.001\n",
1588
+ "\n",
1589
+ "# Add callbacks:\n",
1590
+ "# 'EarlyStopping' to stop training when the model is not enhancing anymore\n",
1591
+ "# 'ModelCheckPoint' to always keep the model that has the best val_accuracy\n",
1592
+ "model_save_filename = \"model.h5\"\n",
1593
+ "\n",
1594
+ "model.compile(\n",
1595
+ " optimizer=tf.keras.optimizers.RMSprop(learning_rate=initial_learning_rate), \n",
1596
+ " loss='categorical_crossentropy', \n",
1597
+ " metrics=['accuracy'])\n",
1598
+ "\n",
1599
+ "earlystopping_cb = EarlyStopping(\n",
1600
+ " monitor=\"val_accuracy\",\n",
1601
+ " mode=\"max\",\n",
1602
+ " verbose=1,\n",
1603
+ " patience=20, \n",
1604
+ " restore_best_weights=True)\n",
1605
+ "\n",
1606
+ "mdlcheckpoint_cb = ModelCheckpoint(\n",
1607
+ " model_save_filename, \n",
1608
+ " monitor=\"val_accuracy\", \n",
1609
+ " mode=\"max\",\n",
1610
+ " verbose=1,\n",
1611
+ " save_best_only=True\n",
1612
+ ")\n",
1613
+ "\n",
1614
+ "decay = initial_learning_rate / epochs\n",
1615
+ "def lr_time_based_decay(epoch, lr):\n",
1616
+ " return lr * 1 / (1 + decay * epoch)\n",
1617
+ "lrscheduler_cb = tf.keras.callbacks.LearningRateScheduler(lr_time_based_decay)\n",
1618
+ "\n",
1619
+ "history = model.fit([encoder_input_data, decoder_input_data], decoder_target_data,\n",
1620
+ " batch_size=batch_size, epochs=epochs, validation_split=0.2, \n",
1621
+ " callbacks=[earlystopping_cb, mdlcheckpoint_cb, lrscheduler_cb])"
1622
+ ],
1623
+ "execution_count": 48,
1624
+ "outputs": [
1625
+ {
1626
+ "output_type": "stream",
1627
+ "name": "stdout",
1628
+ "text": [
1629
+ "Epoch 1/500\n",
1630
+ "698/698 [==============================] - 112s 151ms/step - loss: 0.5528 - accuracy: 0.0503 - val_loss: 0.4742 - val_accuracy: 0.0383\n",
1631
+ "\n",
1632
+ "Epoch 00001: val_accuracy improved from -inf to 0.03834, saving model to model.h5\n",
1633
+ "Epoch 2/500\n",
1634
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.5296 - accuracy: 0.0506 - val_loss: 0.4772 - val_accuracy: 0.0388\n",
1635
+ "\n",
1636
+ "Epoch 00002: val_accuracy improved from 0.03834 to 0.03882, saving model to model.h5\n",
1637
+ "Epoch 3/500\n",
1638
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.5269 - accuracy: 0.0544 - val_loss: 0.4726 - val_accuracy: 0.0393\n",
1639
+ "\n",
1640
+ "Epoch 00003: val_accuracy improved from 0.03882 to 0.03933, saving model to model.h5\n",
1641
+ "Epoch 4/500\n",
1642
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.5231 - accuracy: 0.0554 - val_loss: 0.4740 - val_accuracy: 0.0387\n",
1643
+ "\n",
1644
+ "Epoch 00004: val_accuracy did not improve from 0.03933\n",
1645
+ "Epoch 5/500\n",
1646
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.5187 - accuracy: 0.0555 - val_loss: 0.4720 - val_accuracy: 0.0400\n",
1647
+ "\n",
1648
+ "Epoch 00005: val_accuracy improved from 0.03933 to 0.04004, saving model to model.h5\n",
1649
+ "Epoch 6/500\n",
1650
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.5158 - accuracy: 0.0563 - val_loss: 0.4652 - val_accuracy: 0.0427\n",
1651
+ "\n",
1652
+ "Epoch 00006: val_accuracy improved from 0.04004 to 0.04271, saving model to model.h5\n",
1653
+ "Epoch 7/500\n",
1654
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.5121 - accuracy: 0.0575 - val_loss: 0.4594 - val_accuracy: 0.0435\n",
1655
+ "\n",
1656
+ "Epoch 00007: val_accuracy improved from 0.04271 to 0.04351, saving model to model.h5\n",
1657
+ "Epoch 8/500\n",
1658
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.4899 - accuracy: 0.0638 - val_loss: 0.4458 - val_accuracy: 0.0448\n",
1659
+ "\n",
1660
+ "Epoch 00008: val_accuracy improved from 0.04351 to 0.04482, saving model to model.h5\n",
1661
+ "Epoch 9/500\n",
1662
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.4486 - accuracy: 0.0774 - val_loss: 0.3842 - val_accuracy: 0.0653\n",
1663
+ "\n",
1664
+ "Epoch 00009: val_accuracy improved from 0.04482 to 0.06533, saving model to model.h5\n",
1665
+ "Epoch 10/500\n",
1666
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.4037 - accuracy: 0.0917 - val_loss: 0.3360 - val_accuracy: 0.0776\n",
1667
+ "\n",
1668
+ "Epoch 00010: val_accuracy improved from 0.06533 to 0.07759, saving model to model.h5\n",
1669
+ "Epoch 11/500\n",
1670
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.3503 - accuracy: 0.1079 - val_loss: 0.2920 - val_accuracy: 0.0918\n",
1671
+ "\n",
1672
+ "Epoch 00011: val_accuracy improved from 0.07759 to 0.09178, saving model to model.h5\n",
1673
+ "Epoch 12/500\n",
1674
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.3051 - accuracy: 0.1204 - val_loss: 0.2577 - val_accuracy: 0.1013\n",
1675
+ "\n",
1676
+ "Epoch 00012: val_accuracy improved from 0.09178 to 0.10131, saving model to model.h5\n",
1677
+ "Epoch 13/500\n",
1678
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.2781 - accuracy: 0.1285 - val_loss: 0.2570 - val_accuracy: 0.0996\n",
1679
+ "\n",
1680
+ "Epoch 00013: val_accuracy did not improve from 0.10131\n",
1681
+ "Epoch 14/500\n",
1682
+ "698/698 [==============================] - 104s 150ms/step - loss: 0.2578 - accuracy: 0.1343 - val_loss: 0.2221 - val_accuracy: 0.1080\n",
1683
+ "\n",
1684
+ "Epoch 00014: val_accuracy improved from 0.10131 to 0.10803, saving model to model.h5\n",
1685
+ "Epoch 15/500\n",
1686
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.2386 - accuracy: 0.1393 - val_loss: 0.2121 - val_accuracy: 0.1132\n",
1687
+ "\n",
1688
+ "Epoch 00015: val_accuracy improved from 0.10803 to 0.11317, saving model to model.h5\n",
1689
+ "Epoch 16/500\n",
1690
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.2245 - accuracy: 0.1433 - val_loss: 0.2205 - val_accuracy: 0.1077\n",
1691
+ "\n",
1692
+ "Epoch 00016: val_accuracy did not improve from 0.11317\n",
1693
+ "Epoch 17/500\n",
1694
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.2133 - accuracy: 0.1464 - val_loss: 0.2158 - val_accuracy: 0.1094\n",
1695
+ "\n",
1696
+ "Epoch 00017: val_accuracy did not improve from 0.11317\n",
1697
+ "Epoch 18/500\n",
1698
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.2029 - accuracy: 0.1496 - val_loss: 0.2012 - val_accuracy: 0.1142\n",
1699
+ "\n",
1700
+ "Epoch 00018: val_accuracy improved from 0.11317 to 0.11417, saving model to model.h5\n",
1701
+ "Epoch 19/500\n",
1702
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1946 - accuracy: 0.1520 - val_loss: 0.2027 - val_accuracy: 0.1130\n",
1703
+ "\n",
1704
+ "Epoch 00019: val_accuracy did not improve from 0.11417\n",
1705
+ "Epoch 20/500\n",
1706
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1872 - accuracy: 0.1543 - val_loss: 0.1851 - val_accuracy: 0.1192\n",
1707
+ "\n",
1708
+ "Epoch 00020: val_accuracy improved from 0.11417 to 0.11919, saving model to model.h5\n",
1709
+ "Epoch 21/500\n",
1710
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1810 - accuracy: 0.1564 - val_loss: 0.1800 - val_accuracy: 0.1229\n",
1711
+ "\n",
1712
+ "Epoch 00021: val_accuracy improved from 0.11919 to 0.12286, saving model to model.h5\n",
1713
+ "Epoch 22/500\n",
1714
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.1749 - accuracy: 0.1582 - val_loss: 0.1837 - val_accuracy: 0.1213\n",
1715
+ "\n",
1716
+ "Epoch 00022: val_accuracy did not improve from 0.12286\n",
1717
+ "Epoch 23/500\n",
1718
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1698 - accuracy: 0.1597 - val_loss: 0.1796 - val_accuracy: 0.1203\n",
1719
+ "\n",
1720
+ "Epoch 00023: val_accuracy did not improve from 0.12286\n",
1721
+ "Epoch 24/500\n",
1722
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1651 - accuracy: 0.1610 - val_loss: 0.1762 - val_accuracy: 0.1236\n",
1723
+ "\n",
1724
+ "Epoch 00024: val_accuracy improved from 0.12286 to 0.12357, saving model to model.h5\n",
1725
+ "Epoch 25/500\n",
1726
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1605 - accuracy: 0.1625 - val_loss: 0.1763 - val_accuracy: 0.1241\n",
1727
+ "\n",
1728
+ "Epoch 00025: val_accuracy improved from 0.12357 to 0.12410, saving model to model.h5\n",
1729
+ "Epoch 26/500\n",
1730
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1565 - accuracy: 0.1637 - val_loss: 0.1813 - val_accuracy: 0.1211\n",
1731
+ "\n",
1732
+ "Epoch 00026: val_accuracy did not improve from 0.12410\n",
1733
+ "Epoch 27/500\n",
1734
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1528 - accuracy: 0.1647 - val_loss: 0.1682 - val_accuracy: 0.1241\n",
1735
+ "\n",
1736
+ "Epoch 00027: val_accuracy improved from 0.12410 to 0.12411, saving model to model.h5\n",
1737
+ "Epoch 28/500\n",
1738
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1493 - accuracy: 0.1656 - val_loss: 0.1759 - val_accuracy: 0.1218\n",
1739
+ "\n",
1740
+ "Epoch 00028: val_accuracy did not improve from 0.12411\n",
1741
+ "Epoch 29/500\n",
1742
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.1458 - accuracy: 0.1665 - val_loss: 0.1710 - val_accuracy: 0.1240\n",
1743
+ "\n",
1744
+ "Epoch 00029: val_accuracy did not improve from 0.12411\n",
1745
+ "Epoch 30/500\n",
1746
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1428 - accuracy: 0.1673 - val_loss: 0.1634 - val_accuracy: 0.1271\n",
1747
+ "\n",
1748
+ "Epoch 00030: val_accuracy improved from 0.12411 to 0.12710, saving model to model.h5\n",
1749
+ "Epoch 31/500\n",
1750
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1402 - accuracy: 0.1680 - val_loss: 0.1666 - val_accuracy: 0.1249\n",
1751
+ "\n",
1752
+ "Epoch 00031: val_accuracy did not improve from 0.12710\n",
1753
+ "Epoch 32/500\n",
1754
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1380 - accuracy: 0.1686 - val_loss: 0.1708 - val_accuracy: 0.1232\n",
1755
+ "\n",
1756
+ "Epoch 00032: val_accuracy did not improve from 0.12710\n",
1757
+ "Epoch 33/500\n",
1758
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1356 - accuracy: 0.1693 - val_loss: 0.1754 - val_accuracy: 0.1232\n",
1759
+ "\n",
1760
+ "Epoch 00033: val_accuracy did not improve from 0.12710\n",
1761
+ "Epoch 34/500\n",
1762
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1335 - accuracy: 0.1698 - val_loss: 0.1660 - val_accuracy: 0.1259\n",
1763
+ "\n",
1764
+ "Epoch 00034: val_accuracy did not improve from 0.12710\n",
1765
+ "Epoch 35/500\n",
1766
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1314 - accuracy: 0.1704 - val_loss: 0.1600 - val_accuracy: 0.1276\n",
1767
+ "\n",
1768
+ "Epoch 00035: val_accuracy improved from 0.12710 to 0.12761, saving model to model.h5\n",
1769
+ "Epoch 36/500\n",
1770
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1295 - accuracy: 0.1710 - val_loss: 0.1655 - val_accuracy: 0.1261\n",
1771
+ "\n",
1772
+ "Epoch 00036: val_accuracy did not improve from 0.12761\n",
1773
+ "Epoch 37/500\n",
1774
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1278 - accuracy: 0.1714 - val_loss: 0.1650 - val_accuracy: 0.1257\n",
1775
+ "\n",
1776
+ "Epoch 00037: val_accuracy did not improve from 0.12761\n",
1777
+ "Epoch 38/500\n",
1778
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1259 - accuracy: 0.1719 - val_loss: 0.1673 - val_accuracy: 0.1227\n",
1779
+ "\n",
1780
+ "Epoch 00038: val_accuracy did not improve from 0.12761\n",
1781
+ "Epoch 39/500\n",
1782
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1245 - accuracy: 0.1722 - val_loss: 0.1651 - val_accuracy: 0.1258\n",
1783
+ "\n",
1784
+ "Epoch 00039: val_accuracy did not improve from 0.12761\n",
1785
+ "Epoch 40/500\n",
1786
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1231 - accuracy: 0.1727 - val_loss: 0.1601 - val_accuracy: 0.1265\n",
1787
+ "\n",
1788
+ "Epoch 00040: val_accuracy did not improve from 0.12761\n",
1789
+ "Epoch 41/500\n",
1790
+ "698/698 [==============================] - 104s 150ms/step - loss: 0.1214 - accuracy: 0.1730 - val_loss: 0.1636 - val_accuracy: 0.1250\n",
1791
+ "\n",
1792
+ "Epoch 00041: val_accuracy did not improve from 0.12761\n",
1793
+ "Epoch 42/500\n",
1794
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1200 - accuracy: 0.1733 - val_loss: 0.1848 - val_accuracy: 0.1195\n",
1795
+ "\n",
1796
+ "Epoch 00042: val_accuracy did not improve from 0.12761\n",
1797
+ "Epoch 43/500\n",
1798
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1187 - accuracy: 0.1736 - val_loss: 0.1658 - val_accuracy: 0.1245\n",
1799
+ "\n",
1800
+ "Epoch 00043: val_accuracy did not improve from 0.12761\n",
1801
+ "Epoch 44/500\n",
1802
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1175 - accuracy: 0.1739 - val_loss: 0.1616 - val_accuracy: 0.1258\n",
1803
+ "\n",
1804
+ "Epoch 00044: val_accuracy did not improve from 0.12761\n",
1805
+ "Epoch 45/500\n",
1806
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1164 - accuracy: 0.1743 - val_loss: 0.1597 - val_accuracy: 0.1269\n",
1807
+ "\n",
1808
+ "Epoch 00045: val_accuracy did not improve from 0.12761\n",
1809
+ "Epoch 46/500\n",
1810
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1152 - accuracy: 0.1745 - val_loss: 0.1629 - val_accuracy: 0.1261\n",
1811
+ "\n",
1812
+ "Epoch 00046: val_accuracy did not improve from 0.12761\n",
1813
+ "Epoch 47/500\n",
1814
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.1141 - accuracy: 0.1748 - val_loss: 0.1691 - val_accuracy: 0.1223\n",
1815
+ "\n",
1816
+ "Epoch 00047: val_accuracy did not improve from 0.12761\n",
1817
+ "Epoch 48/500\n",
1818
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.1131 - accuracy: 0.1751 - val_loss: 0.1628 - val_accuracy: 0.1260\n",
1819
+ "\n",
1820
+ "Epoch 00048: val_accuracy did not improve from 0.12761\n",
1821
+ "Epoch 49/500\n",
1822
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.1123 - accuracy: 0.1752 - val_loss: 0.1636 - val_accuracy: 0.1246\n",
1823
+ "\n",
1824
+ "Epoch 00049: val_accuracy did not improve from 0.12761\n",
1825
+ "Epoch 50/500\n",
1826
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1112 - accuracy: 0.1755 - val_loss: 0.1594 - val_accuracy: 0.1263\n",
1827
+ "\n",
1828
+ "Epoch 00050: val_accuracy did not improve from 0.12761\n",
1829
+ "Epoch 51/500\n",
1830
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1104 - accuracy: 0.1757 - val_loss: 0.1639 - val_accuracy: 0.1249\n",
1831
+ "\n",
1832
+ "Epoch 00051: val_accuracy did not improve from 0.12761\n",
1833
+ "Epoch 52/500\n",
1834
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1096 - accuracy: 0.1758 - val_loss: 0.1611 - val_accuracy: 0.1256\n",
1835
+ "\n",
1836
+ "Epoch 00052: val_accuracy did not improve from 0.12761\n",
1837
+ "Epoch 53/500\n",
1838
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1088 - accuracy: 0.1761 - val_loss: 0.1641 - val_accuracy: 0.1244\n",
1839
+ "\n",
1840
+ "Epoch 00053: val_accuracy did not improve from 0.12761\n",
1841
+ "Epoch 54/500\n",
1842
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1082 - accuracy: 0.1762 - val_loss: 0.1556 - val_accuracy: 0.1278\n",
1843
+ "\n",
1844
+ "Epoch 00054: val_accuracy improved from 0.12761 to 0.12782, saving model to model.h5\n",
1845
+ "Epoch 55/500\n",
1846
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1076 - accuracy: 0.1764 - val_loss: 0.1636 - val_accuracy: 0.1247\n",
1847
+ "\n",
1848
+ "Epoch 00055: val_accuracy did not improve from 0.12782\n",
1849
+ "Epoch 56/500\n",
1850
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.1068 - accuracy: 0.1766 - val_loss: 0.1670 - val_accuracy: 0.1245\n",
1851
+ "\n",
1852
+ "Epoch 00056: val_accuracy did not improve from 0.12782\n",
1853
+ "Epoch 57/500\n",
1854
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1060 - accuracy: 0.1768 - val_loss: 0.1624 - val_accuracy: 0.1252\n",
1855
+ "\n",
1856
+ "Epoch 00057: val_accuracy did not improve from 0.12782\n",
1857
+ "Epoch 58/500\n",
1858
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1051 - accuracy: 0.1771 - val_loss: 0.1649 - val_accuracy: 0.1245\n",
1859
+ "\n",
1860
+ "Epoch 00058: val_accuracy did not improve from 0.12782\n",
1861
+ "Epoch 59/500\n",
1862
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.1046 - accuracy: 0.1771 - val_loss: 0.1627 - val_accuracy: 0.1260\n",
1863
+ "\n",
1864
+ "Epoch 00059: val_accuracy did not improve from 0.12782\n",
1865
+ "Epoch 60/500\n",
1866
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1039 - accuracy: 0.1772 - val_loss: 0.1600 - val_accuracy: 0.1260\n",
1867
+ "\n",
1868
+ "Epoch 00060: val_accuracy did not improve from 0.12782\n",
1869
+ "Epoch 61/500\n",
1870
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1032 - accuracy: 0.1774 - val_loss: 0.1726 - val_accuracy: 0.1223\n",
1871
+ "\n",
1872
+ "Epoch 00061: val_accuracy did not improve from 0.12782\n",
1873
+ "Epoch 62/500\n",
1874
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1027 - accuracy: 0.1776 - val_loss: 0.1647 - val_accuracy: 0.1238\n",
1875
+ "\n",
1876
+ "Epoch 00062: val_accuracy did not improve from 0.12782\n",
1877
+ "Epoch 63/500\n",
1878
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.1023 - accuracy: 0.1776 - val_loss: 0.1633 - val_accuracy: 0.1238\n",
1879
+ "\n",
1880
+ "Epoch 00063: val_accuracy did not improve from 0.12782\n",
1881
+ "Epoch 64/500\n",
1882
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.1017 - accuracy: 0.1777 - val_loss: 0.1598 - val_accuracy: 0.1265\n",
1883
+ "\n",
1884
+ "Epoch 00064: val_accuracy did not improve from 0.12782\n",
1885
+ "Epoch 65/500\n",
1886
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1013 - accuracy: 0.1777 - val_loss: 0.1743 - val_accuracy: 0.1207\n",
1887
+ "\n",
1888
+ "Epoch 00065: val_accuracy did not improve from 0.12782\n",
1889
+ "Epoch 66/500\n",
1890
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.1007 - accuracy: 0.1780 - val_loss: 0.1598 - val_accuracy: 0.1268\n",
1891
+ "\n",
1892
+ "Epoch 00066: val_accuracy did not improve from 0.12782\n",
1893
+ "Epoch 67/500\n",
1894
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.1003 - accuracy: 0.1780 - val_loss: 0.1585 - val_accuracy: 0.1263\n",
1895
+ "\n",
1896
+ "Epoch 00067: val_accuracy did not improve from 0.12782\n",
1897
+ "Epoch 68/500\n",
1898
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0997 - accuracy: 0.1782 - val_loss: 0.1587 - val_accuracy: 0.1270\n",
1899
+ "\n",
1900
+ "Epoch 00068: val_accuracy did not improve from 0.12782\n",
1901
+ "Epoch 69/500\n",
1902
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0991 - accuracy: 0.1783 - val_loss: 0.1621 - val_accuracy: 0.1252\n",
1903
+ "\n",
1904
+ "Epoch 00069: val_accuracy did not improve from 0.12782\n",
1905
+ "Epoch 70/500\n",
1906
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0986 - accuracy: 0.1784 - val_loss: 0.1614 - val_accuracy: 0.1257\n",
1907
+ "\n",
1908
+ "Epoch 00070: val_accuracy did not improve from 0.12782\n",
1909
+ "Epoch 71/500\n",
1910
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0982 - accuracy: 0.1784 - val_loss: 0.1631 - val_accuracy: 0.1246\n",
1911
+ "\n",
1912
+ "Epoch 00071: val_accuracy did not improve from 0.12782\n",
1913
+ "Epoch 72/500\n",
1914
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0978 - accuracy: 0.1785 - val_loss: 0.1637 - val_accuracy: 0.1242\n",
1915
+ "\n",
1916
+ "Epoch 00072: val_accuracy did not improve from 0.12782\n",
1917
+ "Epoch 73/500\n",
1918
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0975 - accuracy: 0.1786 - val_loss: 0.1627 - val_accuracy: 0.1245\n",
1919
+ "\n",
1920
+ "Epoch 00073: val_accuracy did not improve from 0.12782\n",
1921
+ "Epoch 74/500\n",
1922
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0972 - accuracy: 0.1787 - val_loss: 0.1609 - val_accuracy: 0.1252\n",
1923
+ "\n",
1924
+ "Epoch 00074: val_accuracy did not improve from 0.12782\n",
1925
+ "Epoch 75/500\n",
1926
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0967 - accuracy: 0.1788 - val_loss: 0.1619 - val_accuracy: 0.1248\n",
1927
+ "\n",
1928
+ "Epoch 00075: val_accuracy did not improve from 0.12782\n",
1929
+ "Epoch 76/500\n",
1930
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0963 - accuracy: 0.1790 - val_loss: 0.1590 - val_accuracy: 0.1254\n",
1931
+ "\n",
1932
+ "Epoch 00076: val_accuracy did not improve from 0.12782\n",
1933
+ "Epoch 77/500\n",
1934
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.0961 - accuracy: 0.1790 - val_loss: 0.1611 - val_accuracy: 0.1258\n",
1935
+ "\n",
1936
+ "Epoch 00077: val_accuracy did not improve from 0.12782\n",
1937
+ "Epoch 78/500\n",
1938
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.0957 - accuracy: 0.1790 - val_loss: 0.1630 - val_accuracy: 0.1245\n",
1939
+ "\n",
1940
+ "Epoch 00078: val_accuracy did not improve from 0.12782\n",
1941
+ "Epoch 79/500\n",
1942
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0954 - accuracy: 0.1791 - val_loss: 0.1645 - val_accuracy: 0.1242\n",
1943
+ "\n",
1944
+ "Epoch 00079: val_accuracy did not improve from 0.12782\n",
1945
+ "Epoch 80/500\n",
1946
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.0949 - accuracy: 0.1793 - val_loss: 0.1671 - val_accuracy: 0.1222\n",
1947
+ "\n",
1948
+ "Epoch 00080: val_accuracy did not improve from 0.12782\n",
1949
+ "Epoch 81/500\n",
1950
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.0946 - accuracy: 0.1793 - val_loss: 0.1626 - val_accuracy: 0.1245\n",
1951
+ "\n",
1952
+ "Epoch 00081: val_accuracy did not improve from 0.12782\n",
1953
+ "Epoch 82/500\n",
1954
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0944 - accuracy: 0.1793 - val_loss: 0.1606 - val_accuracy: 0.1250\n",
1955
+ "\n",
1956
+ "Epoch 00082: val_accuracy did not improve from 0.12782\n",
1957
+ "Epoch 83/500\n",
1958
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0942 - accuracy: 0.1794 - val_loss: 0.1610 - val_accuracy: 0.1249\n",
1959
+ "\n",
1960
+ "Epoch 00083: val_accuracy did not improve from 0.12782\n",
1961
+ "Epoch 84/500\n",
1962
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0937 - accuracy: 0.1795 - val_loss: 0.1732 - val_accuracy: 0.1209\n",
1963
+ "\n",
1964
+ "Epoch 00084: val_accuracy did not improve from 0.12782\n",
1965
+ "Epoch 85/500\n",
1966
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0934 - accuracy: 0.1797 - val_loss: 0.1616 - val_accuracy: 0.1245\n",
1967
+ "\n",
1968
+ "Epoch 00085: val_accuracy did not improve from 0.12782\n",
1969
+ "Epoch 86/500\n",
1970
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0932 - accuracy: 0.1796 - val_loss: 0.1639 - val_accuracy: 0.1234\n",
1971
+ "\n",
1972
+ "Epoch 00086: val_accuracy did not improve from 0.12782\n",
1973
+ "Epoch 87/500\n",
1974
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.0930 - accuracy: 0.1797 - val_loss: 0.1618 - val_accuracy: 0.1251\n",
1975
+ "\n",
1976
+ "Epoch 00087: val_accuracy did not improve from 0.12782\n",
1977
+ "Epoch 88/500\n",
1978
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0926 - accuracy: 0.1797 - val_loss: 0.1649 - val_accuracy: 0.1239\n",
1979
+ "\n",
1980
+ "Epoch 00088: val_accuracy did not improve from 0.12782\n",
1981
+ "Epoch 89/500\n",
1982
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0924 - accuracy: 0.1798 - val_loss: 0.1641 - val_accuracy: 0.1244\n",
1983
+ "\n",
1984
+ "Epoch 00089: val_accuracy did not improve from 0.12782\n",
1985
+ "Epoch 90/500\n",
1986
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.0922 - accuracy: 0.1799 - val_loss: 0.1616 - val_accuracy: 0.1254\n",
1987
+ "\n",
1988
+ "Epoch 00090: val_accuracy did not improve from 0.12782\n",
1989
+ "Epoch 91/500\n",
1990
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0918 - accuracy: 0.1799 - val_loss: 0.1640 - val_accuracy: 0.1245\n",
1991
+ "\n",
1992
+ "Epoch 00091: val_accuracy did not improve from 0.12782\n",
1993
+ "Epoch 92/500\n",
1994
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.0917 - accuracy: 0.1799 - val_loss: 0.1653 - val_accuracy: 0.1239\n",
1995
+ "\n",
1996
+ "Epoch 00092: val_accuracy did not improve from 0.12782\n",
1997
+ "Epoch 93/500\n",
1998
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0916 - accuracy: 0.1799 - val_loss: 0.1638 - val_accuracy: 0.1241\n",
1999
+ "\n",
2000
+ "Epoch 00093: val_accuracy did not improve from 0.12782\n",
2001
+ "Epoch 94/500\n",
2002
+ "698/698 [==============================] - 103s 148ms/step - loss: 0.0912 - accuracy: 0.1800 - val_loss: 0.1629 - val_accuracy: 0.1249\n",
2003
+ "\n",
2004
+ "Epoch 00094: val_accuracy did not improve from 0.12782\n",
2005
+ "Epoch 95/500\n",
2006
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0909 - accuracy: 0.1801 - val_loss: 0.1698 - val_accuracy: 0.1230\n",
2007
+ "\n",
2008
+ "Epoch 00095: val_accuracy did not improve from 0.12782\n",
2009
+ "Epoch 96/500\n",
2010
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.0909 - accuracy: 0.1800 - val_loss: 0.1704 - val_accuracy: 0.1211\n",
2011
+ "\n",
2012
+ "Epoch 00096: val_accuracy did not improve from 0.12782\n",
2013
+ "Epoch 97/500\n",
2014
+ "698/698 [==============================] - 104s 148ms/step - loss: 0.0904 - accuracy: 0.1802 - val_loss: 0.1674 - val_accuracy: 0.1228\n",
2015
+ "\n",
2016
+ "Epoch 00097: val_accuracy did not improve from 0.12782\n",
2017
+ "Epoch 98/500\n",
2018
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0904 - accuracy: 0.1801 - val_loss: 0.1652 - val_accuracy: 0.1236\n",
2019
+ "\n",
2020
+ "Epoch 00098: val_accuracy did not improve from 0.12782\n",
2021
+ "Epoch 99/500\n",
2022
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0901 - accuracy: 0.1802 - val_loss: 0.1666 - val_accuracy: 0.1233\n",
2023
+ "\n",
2024
+ "Epoch 00099: val_accuracy did not improve from 0.12782\n",
2025
+ "Epoch 100/500\n",
2026
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0897 - accuracy: 0.1803 - val_loss: 0.1600 - val_accuracy: 0.1250\n",
2027
+ "\n",
2028
+ "Epoch 00100: val_accuracy did not improve from 0.12782\n",
2029
+ "Epoch 101/500\n",
2030
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0895 - accuracy: 0.1803 - val_loss: 0.1690 - val_accuracy: 0.1231\n",
2031
+ "\n",
2032
+ "Epoch 00101: val_accuracy did not improve from 0.12782\n",
2033
+ "Epoch 102/500\n",
2034
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0895 - accuracy: 0.1803 - val_loss: 0.1609 - val_accuracy: 0.1252\n",
2035
+ "\n",
2036
+ "Epoch 00102: val_accuracy did not improve from 0.12782\n",
2037
+ "Epoch 103/500\n",
2038
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0891 - accuracy: 0.1804 - val_loss: 0.1627 - val_accuracy: 0.1246\n",
2039
+ "\n",
2040
+ "Epoch 00103: val_accuracy did not improve from 0.12782\n",
2041
+ "Epoch 104/500\n",
2042
+ "698/698 [==============================] - 104s 149ms/step - loss: 0.0891 - accuracy: 0.1805 - val_loss: 0.1614 - val_accuracy: 0.1253\n",
2043
+ "Restoring model weights from the end of the best epoch.\n",
2044
+ "\n",
2045
+ "Epoch 00104: val_accuracy did not improve from 0.12782\n",
2046
+ "Epoch 00104: early stopping\n"
2047
+ ]
2048
+ }
2049
+ ]
2050
+ },
2051
+ {
2052
+ "cell_type": "code",
2053
+ "metadata": {
2054
+ "colab": {
2055
+ "base_uri": "https://localhost:8080/"
2056
+ },
2057
+ "id": "OAvJi9RndsTf",
2058
+ "outputId": "8c8d6633-a8d0-4a04-d354-fd9ada0fa750"
2059
+ },
2060
+ "source": [
2061
+ "# list all data in history\n",
2062
+ "print(history.history.keys())"
2063
+ ],
2064
+ "execution_count": 49,
2065
+ "outputs": [
2066
+ {
2067
+ "output_type": "stream",
2068
+ "name": "stdout",
2069
+ "text": [
2070
+ "dict_keys(['loss', 'accuracy', 'val_loss', 'val_accuracy', 'lr'])\n"
2071
+ ]
2072
+ }
2073
+ ]
2074
+ },
2075
+ {
2076
+ "cell_type": "code",
2077
+ "metadata": {
2078
+ "colab": {
2079
+ "base_uri": "https://localhost:8080/",
2080
+ "height": 295
2081
+ },
2082
+ "id": "CRUKMJidtBC2",
2083
+ "outputId": "fd24b2da-b6b3-40f5-b9f3-cb91eefb725a"
2084
+ },
2085
+ "source": [
2086
+ "# summarize history for accuracy\n",
2087
+ "plt.plot(history.history['accuracy'])\n",
2088
+ "plt.plot(history.history['val_accuracy'])\n",
2089
+ "plt.title('model accuracy')\n",
2090
+ "plt.ylabel('accuracy')\n",
2091
+ "plt.xlabel('epoch')\n",
2092
+ "plt.legend(['train', 'validation'], loc='upper left')\n",
2093
+ "plt.show()"
2094
+ ],
2095
+ "execution_count": 50,
2096
+ "outputs": [
2097
+ {
2098
+ "output_type": "display_data",
2099
+ "data": {
2100
+ "image/png": "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\n",
2101
+ "text/plain": [
2102
+ "<Figure size 432x288 with 1 Axes>"
2103
+ ]
2104
+ },
2105
+ "metadata": {
2106
+ "needs_background": "light"
2107
+ }
2108
+ }
2109
+ ]
2110
+ },
2111
+ {
2112
+ "cell_type": "code",
2113
+ "metadata": {
2114
+ "colab": {
2115
+ "base_uri": "https://localhost:8080/",
2116
+ "height": 295
2117
+ },
2118
+ "id": "arLbJGpHa-JC",
2119
+ "outputId": "6f1117f7-01e7-4859-b8ba-04eece73ce32"
2120
+ },
2121
+ "source": [
2122
+ "# summarize history for loss\n",
2123
+ "plt.plot(history.history['loss'])\n",
2124
+ "plt.plot(history.history['val_loss'])\n",
2125
+ "plt.title('model loss')\n",
2126
+ "plt.ylabel('loss')\n",
2127
+ "plt.xlabel('epoch')\n",
2128
+ "plt.legend(['train', 'validation'], loc='upper left')\n",
2129
+ "plt.show()"
2130
+ ],
2131
+ "execution_count": 51,
2132
+ "outputs": [
2133
+ {
2134
+ "output_type": "display_data",
2135
+ "data": {
2136
+ "image/png": "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\n",
2137
+ "text/plain": [
2138
+ "<Figure size 432x288 with 1 Axes>"
2139
+ ]
2140
+ },
2141
+ "metadata": {
2142
+ "needs_background": "light"
2143
+ }
2144
+ }
2145
+ ]
2146
+ },
2147
+ {
2148
+ "cell_type": "code",
2149
+ "metadata": {
2150
+ "colab": {
2151
+ "base_uri": "https://localhost:8080/"
2152
+ },
2153
+ "id": "Rmx3_vQbfh7J",
2154
+ "outputId": "1b6ddd66-d7dc-4b4c-9adc-1159b31fc2c8"
2155
+ },
2156
+ "source": [
2157
+ "%ls -ltr"
2158
+ ],
2159
+ "execution_count": 52,
2160
+ "outputs": [
2161
+ {
2162
+ "output_type": "stream",
2163
+ "name": "stdout",
2164
+ "text": [
2165
+ "total 241808\n",
2166
+ "-rw------- 1 root root 3898148 Sep 14 19:57 affidavits.csv\n",
2167
+ "-rw------- 1 root root 813709 Sep 14 22:38 players_with_hindi_names.json\n",
2168
+ "-rw------- 1 root root 5006688 Sep 17 01:54 s2s.h5\n",
2169
+ "-rw------- 1 root root 6128992 Sep 19 21:17 model_v1.h5\n",
2170
+ "-rw------- 1 root root 1326377 Sep 20 22:52 hi.translit.sampled.train.tsv\n",
2171
+ "-rw------- 1 root root 33396 Sep 21 19:15 model_plot_dec.png\n",
2172
+ "-rw------- 1 root root 71081 Sep 24 15:05 model.png\n",
2173
+ "-rw------- 1 root root 230330576 Sep 24 16:42 model.h5\n"
2174
+ ]
2175
+ }
2176
+ ]
2177
+ },
2178
+ {
2179
+ "cell_type": "code",
2180
+ "metadata": {
2181
+ "colab": {
2182
+ "base_uri": "https://localhost:8080/"
2183
+ },
2184
+ "id": "vm5myRi5tOKl",
2185
+ "outputId": "460a12c2-77c7-412d-d4b0-595189c5c835"
2186
+ },
2187
+ "source": [
2188
+ "!du -sh model.h5"
2189
+ ],
2190
+ "execution_count": 53,
2191
+ "outputs": [
2192
+ {
2193
+ "output_type": "stream",
2194
+ "name": "stdout",
2195
+ "text": [
2196
+ "220M\tmodel.h5\n"
2197
+ ]
2198
+ }
2199
+ ]
2200
+ },
2201
+ {
2202
+ "cell_type": "markdown",
2203
+ "metadata": {
2204
+ "id": "qFGXM_d7OOm-"
2205
+ },
2206
+ "source": [
2207
+ "# Inference"
2208
+ ]
2209
+ },
2210
+ {
2211
+ "cell_type": "code",
2212
+ "metadata": {
2213
+ "id": "ICjit4jSOU4O"
2214
+ },
2215
+ "source": [
2216
+ "# Restore the model and construct the encoder and decoder.\n",
2217
+ "model = load_model(model_save_filename)\n",
2218
+ "# model = load_model(\"model_v1.h5\")"
2219
+ ],
2220
+ "execution_count": 54,
2221
+ "outputs": []
2222
+ },
2223
+ {
2224
+ "cell_type": "code",
2225
+ "metadata": {
2226
+ "colab": {
2227
+ "base_uri": "https://localhost:8080/"
2228
+ },
2229
+ "id": "sZ0dTUtE_3_y",
2230
+ "outputId": "fda6ac12-6a87-4bb7-b83e-6cfe676e7055"
2231
+ },
2232
+ "source": [
2233
+ "model.layers[-1]"
2234
+ ],
2235
+ "execution_count": 71,
2236
+ "outputs": [
2237
+ {
2238
+ "output_type": "execute_result",
2239
+ "data": {
2240
+ "text/plain": [
2241
+ "<keras.layers.core.Dense at 0x7f3166067990>"
2242
+ ]
2243
+ },
2244
+ "metadata": {},
2245
+ "execution_count": 71
2246
+ }
2247
+ ]
2248
+ },
2249
+ {
2250
+ "cell_type": "code",
2251
+ "metadata": {
2252
+ "id": "7ZowNfcXmWlL",
2253
+ "colab": {
2254
+ "base_uri": "https://localhost:8080/"
2255
+ },
2256
+ "outputId": "23a5df65-a4f5-4383-f920-41ef8bb011d3"
2257
+ },
2258
+ "source": [
2259
+ "# Predictions\n",
2260
+ "encoder_inputs = model.input[0] # input_1\n",
2261
+ "encoder_outputs, state_h_enc, state_c_enc = model.layers[6].output # lstm_1\n",
2262
+ "encoder_states = [state_h_enc, state_c_enc]\n",
2263
+ "\n",
2264
+ "encoder_model = Model(encoder_inputs, encoder_states)\n",
2265
+ "\n",
2266
+ "decoder_inputs = model.input[1] # input_2\n",
2267
+ "decoder_inputs_em = decoder_embedding(decoder_inputs)\n",
2268
+ "\n",
2269
+ "# since embedding layer will add one more dim, we need to flatten last 2 dims\n",
2270
+ "decoder_reshape = Reshape((-1, decoder_inputs_em.shape[2] * decoder_inputs_em.shape[3]))\n",
2271
+ "decoder_inputs_re = decoder_reshape(decoder_inputs_em)\n",
2272
+ "print(decoder_inputs_re.shape)\n",
2273
+ "\n",
2274
+ "decoder_state_input_h = Input(shape=(latent_dim,))\n",
2275
+ "decoder_state_input_c = Input(shape=(latent_dim,))\n",
2276
+ "decoder_states_inputs = [decoder_state_input_h, decoder_state_input_c]\n",
2277
+ "\n",
2278
+ "decoder_lstm = model.layers[7] # lstm_2\n",
2279
+ "decoder_outputs, state_h_dec, state_c_dec = decoder_lstm(\n",
2280
+ " decoder_inputs_re, initial_state=decoder_states_inputs\n",
2281
+ ")\n",
2282
+ "\n",
2283
+ "decoder_states = [state_h_dec, state_c_dec]\n",
2284
+ "\n",
2285
+ "decoder_dense = model.layers[-1]\n",
2286
+ "decoder_outputs = decoder_dense(decoder_outputs)\n",
2287
+ "\n",
2288
+ "decoder_model = Model(\n",
2289
+ " [decoder_inputs] + decoder_states_inputs,\n",
2290
+ " [decoder_outputs] + decoder_states\n",
2291
+ ")"
2292
+ ],
2293
+ "execution_count": 72,
2294
+ "outputs": [
2295
+ {
2296
+ "output_type": "stream",
2297
+ "name": "stdout",
2298
+ "text": [
2299
+ "(None, None, 8960)\n"
2300
+ ]
2301
+ }
2302
+ ]
2303
+ },
2304
+ {
2305
+ "cell_type": "code",
2306
+ "metadata": {
2307
+ "id": "P-waZOKNPJaS"
2308
+ },
2309
+ "source": [
2310
+ "# Reverse-lookup token index to decode sequences back to\n",
2311
+ "# something readable.\n",
2312
+ "reverse_input_char_index = dict((i, char) for char, i in input_token_index.items())\n",
2313
+ "reverse_target_char_index = dict((i, char) for char, i in target_token_index.items())"
2314
+ ],
2315
+ "execution_count": 73,
2316
+ "outputs": []
2317
+ },
2318
+ {
2319
+ "cell_type": "code",
2320
+ "metadata": {
2321
+ "colab": {
2322
+ "base_uri": "https://localhost:8080/",
2323
+ "height": 470
2324
+ },
2325
+ "id": "90myy-NNvctl",
2326
+ "outputId": "38356718-4222-4a5c-c61d-fa21a4c56562"
2327
+ },
2328
+ "source": [
2329
+ "tf.keras.utils.plot_model(decoder_model, to_file='model_plot_dec.png', show_shapes=True, show_layer_names=True)"
2330
+ ],
2331
+ "execution_count": 74,
2332
+ "outputs": [
2333
+ {
2334
+ "output_type": "execute_result",
2335
+ "data": {
2336
+ "image/png": "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LsDGxgaenp5PnZ+IiIiIiIjUiQRBELQdhCZEIhFyc3MREhKi7VCIeiU4OBgAkJ+fr+VIVEVERCA/Px/37t3Tdihq8vLyEBoaCk3+XEVERODrr79W25VYVlaGSZMmITMzE4sWLervUAdcV1cXXnvtNYSHh+P999/Xdjh9ps187t27B1tbWyQkJCgLot2ioqKQlZWFu3fvarz8hYEAACAASURBVDTmUP19ExERERER9bN87lQkIiVNXmAyHLS1teGbb75BaWmp8oUcTk5O2Lp1K7Zu3Yrm5mYtR6iZzs5OFBQUoKmpCWFhYdoOp8+0nU9cXBxefvllREZGAgAEQcCtW7dw5swZlJWVDXo8REREREREwwmLikQ0Yt2/fx+zZs2Cs7Ozyi64mJgYBAcHIywsTOOXtmhTcXExDhw4gKKiIkilUm2H02fazGfHjh24fPkyjhw5An19fQBAYWEhbGxs4Ovri8OHDw9qPERERERERMMNi4pEhA0bNiAzMxMNDQ2YOHEi9u/fr+2Q+uzTTz+FIAjKT1ZWlsrxxMREREZG4ve//72WItTczJkzsW/fPlhZWWk7lH6hrXwKCwvx8OFDFBcXw8zMTNkeGBio8p3R9NZnIiIiIiKi0URP2wEQkfYlJSUhKSlJ22EMOj8/P/j5+Wk7DBpkc+fOxdy5c7UdBhERERER0bDGnYpERERERERERESkERYViYiIiIiIiIiISCMsKhIREREREREREZFGWFQkIiIiIiIiIiIijQzLF7WcPXtW2yEQ9Vp1dTUAIC8vT8uRDB/dv3leMxrqqqurYWtrq+0wiIiIiIiIBpxIEARB20FoQiQSaTsEIiKip5o/fz7y8/O1HQYREREREdFAyh92OxWHWQ2UaEjLy8tDaGgof1dEREREREREpBE+U5GIiIiIiIiIiIg0wqIiERERERERERERaYRFRSIiIiIiIiIiItIIi4pERERERERERESkERYViYiIiIiIiIiISCMsKhIREREREREREZFGWFQkIiIiIiIiIiIijbCoSERERERERERERBphUZGIiIiIiIiIiIg0wqIiERERERERERERaYRFRSIiIiIiIiIiItIIi4pERERERERERESkERYViYiIiIiIiIiISCMsKhIREREREREREZFGWFQkIiIiIiIiIiIijbCoSERERERERERERBphUZGIiIiIiIiIiIg0wqIiERERERERERERaYRFRSIiIiIiIiIiItIIi4pERERERERERESkERYViYiIiIiIiIiISCMsKhIREREREREREZFGWFQkIiIiIiIiIiIijbCoSERERERERERERBphUZGIiIiIiIiIiIg0wqIiERERERERERERaYRFRSIiIiIiIiIiItIIi4pERERERERERESkERYViYiIiIiIiIiISCMsKhIREREREREREZFGWFQkIiIiIiIiIiIijbCoSERERERERERERBphUZGIiIiIiIiIiIg0oqftAIhocFRXV2Px4sXo7OxUtj148ADGxsZ47bXXVPq6uLjgf/7nfwY5QiIiIiIiIiIaLlhUJBolbG1tcfPmTZSXl6sd++tf/6ryz//2b/82WGERERERERER0TDE25+JRpH33nsP+vr6z+0XFhY2CNEQERERERER0XDFoiLRKPLOO++go6PjmX1efPFFuLm5DVJERERERERERDQcsahINIo4OjrC09MTIpHoicf19fWxePHiQY6KiIiIiIiIiIYbFhWJRpn33nsPurq6TzzW0dGB4ODgQY6IiIiIiIiIiIYbFhWJRpkFCxagq6tLrV1HRwdeXl6YMGHC4AdFRERERERERMMKi4pEo4y1tTWmT58OHR3Vn7+Ojg7ee+89LUVFRERERERERMMJi4pEo9C7776r1iYIAt5++20tRENEREREREREww2LikSj0Pz581Weq6irq4s33ngDlpaWWoyKiIiIiIiIiIYLFhWJRiEzMzO8+eabysKiIAhYtGiRlqMiIiIiIiIiouGCRUWiUWrRokXKF7bo6+sjMDBQyxERERERERER0XDBoiLRKDVnzhwYGhoCAAICAmBkZKTliIiIiIiIiIhouGBRkWiUkslkyt2JvPWZiIiIiIiIiDQhEgRB+HlDXl4eQkNDtRUPERERDaBf/GufiIiIiIioN/L1nnYkNzd3MAMhoic4e/YsUlNTB+z32NnZidzcXCxcuHBAxteW0NBQREVFwdvbW9uhEA0Z3X9PiIiIiIiI+sNTi4ohISGDGQcRPUVqauqA/h7nzZsHsVg8YONrQ2hoKLy9vfl3jOgXWFQkIiIiIqL+wmcqEo1yI62gSEREREREREQDj0VFIiIiIiIiIiIi0giLikRERERERERERKQRFhWJiIiIiIiIiIhIIywqEhER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Hx8fmTFjhhQUFOj0a868mZmZAqDRn7i4OL3nFRHJy8uT5557Ttzc3MTOzk4eeeQRSUlJaTCGUaNGibe3t9TW1ja5f+7F/E5ERERERAa0QyEicneRcceOHZg8eTLuaSYiE2iv/x9nzpyJnTt3oqioyNShNEihUCApKQnPPvtss/r/8ssv6N27NxITEzF16lQjR2d4tbW1eOyxxzBt2jS8/PLLpg6n1Uy1no6wH4uKiuDj44PY2FjMmzdPr23b6/GEiIiIiIg6pJ28/JmIWkSfB5u0d8HBwVi+fDmWL1+OsrIyU4ejl5qaGiQnJ6O0tBSRkZGmDqfVTLWejrIfly1bhv79+yM6OtrUoRARERERkYVjUZGICMDChQsxadIkREZG6v3QFlNKS0vD7t27kZKSAgcHB1OH02qmWk9H2I9r167FiRMncODAASiVSlOHQ0REREREFo5FRSLSy6JFi5CYmIhbt24hICAAu3btMnVIBrNy5UpER0fj/fffN3UozfbEE0/g888/h6enp6lDMQhTrae978e9e/fi9u3bSEtLg5ubm6nDISIiIiIigo2pAyCijmXVqlVYtWqVqcMwmuHDh2P48OGmDoNIx9ixYzF27FhTh0FERERERKTFMxWJiIiIiIiIiIhILywqEhERERERERERkV5YVCQiIiIiIiIiIiK9sKhIREREREREREREemn0QS2TJk1qyziIqAH5+fkA+P+xJT766CPs3LnT1GEQtRt1xxMiIiIiIiJDUIiI3N1w9OhRrF271lTxEFEbunLlCjIyMvDUU0+ZOhQiaiMsthMRERERkQHsrFdUJCLLsWPHDkyePBk8DBARERERERGRHnbynopERERERERERESkFxYViYiIiIiIiIiISC8sKhIREREREREREZFeWFQkIiIiIiIiIiIivbCoSERERERERERERHphUZGIiIiIiIiIiIj0wqIiERERERERERER6YVFRSIiIiIiIiIiItILi4pERERERERERESkFxYViYiIiIiIiIiISC8sKhIREREREREREZFeWFQkIiIiIiIiIiIivbCoSERERERERERERHphUZGIiIiIiIiIiIj0wqIiERERERERERER6YVFRSIiIiIiIiIiItILi4pERERERERERESkFxYViYiIiIiIiIiISC8sKhIREREREREREZFeWFQkIiIiIiIiIiIivbCoSERERERERERERHphUZGIiIiIiIiIiIj0wqIiERERERERERER6YVFRSIiIiIiIiIiItILi4pERERERERERESkFxYViYiIiIiIiIiISC8sKhIREREREREREZFeWFQkIiIiIiIiIiIivbCoSERERERERERERHphUZGIiIiIiIiIiIj0wqIiERERERERERER6YVFRSIiIiIiIiIiItKLjakDIKK2odFoUFZWptNWXl4OALh586ZOu0KhgKura5vFRkREREREREQdC4uKRBbixo0b8Pb2Rk1NTb3X3N3ddf49bNgwHDp0qK1CIyIiIiIiIqIOhpc/E1mIrl274ne/+x2srJr+b69QKPDcc8+1UVRERERERERE1BGxqEhkQV544YX79rG2tsb48ePbIBoiIiIiIiIi6qhYVCSyIBMmTICNTeN3PbC2tsbIkSPRqVOnNoyKiIiIiIiIiDoaFhWJLIharcZTTz3VaGFRRDB16tQ2joqIiIiIiIiIOhoWFYkszNSpUxt8WAsA2Nra4plnnmnjiIiIiIiIiIioo2FRkcjCPPPMM3BwcKjXrlQqERERAUdHRxNERUREREREREQdCYuKRBZGpVJh/PjxUCqVOu0ajQbPP/+8iaIiIiIiIiIioo6ERUUiCzRlyhRoNBqdNrVajd///vcmioiIiIiIiIiIOhIWFYks0JNPPgl3d3ftv5VKJZ577jnY2tqaMCoiIiIiIiIi6ihYVCSyQDY2Nnjuuee0l0BrNBpMmTLFxFERERERERERUUfBoiKRhXruuee0l0B37doVQ4YMMXFERERERERERNRRsKhIZKHCwsLg7e0NAHjxxRdhZcXDARERERERERE1j42pA9ixY4epQyCyWAMHDsSlS5fQqVMn/l8kMhFfX1+EhoYaZeyjR48iLy/PKGMTEVH7FRYWBh8fH6OMzc+MRESW6dlnn63XphARMUEs/wtAoTDl9ERERCY1ceJE7Ny50yhjT5o0Cbt27TLK2ERE1H4lJSU1+OXPEPj9jYjIMjVQPtxp8jMVAeMmPSJDmzRpEgAYrQjQ1nbt2oWJEycadY4dO3Zg8uTJDR2EiCxa3fHEmIxZtCQyNuaPllEoFPx8bcHaoujH3y/qyMzt+1xbYD62bHXvf0N4EzUiC2fsgiIRERERERERmR8WFYmIiIiIiIiIiEgvLCoSERER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RS20YT75+flCJpOJNWvWKNoaGjfXW9NjfrQvP7VYVCSiViSe25+JiIhIJ6jyYAJtVl5ejqNHj+LGjRuKBwV4enpi+fLlWL58OUpKSjQcoWpqamqwf/9+FBcXIzQ0VNPhvDRtmc/SpUvRs2dPhIeHA1Atbq63psf8aFd+hBDIzc1FUlISbt68qeHoiIiaD4uKRERERFqkoKAAw4YNQ6dOnfDhhx8q2hcsWIBx48YhNDRU5Yc0aNKJEyewd+9eJCQkwMTERNPhvDRtmM/atWtx+fJlfPfdd5BKpQBUj5vrrekwP9qXnwMHDsDJyQkDBw7Et99+q+EIiYiaj0QIITQdBBERtRzx8fEICQkBvx6oPi1xfSxcuBCff/45Kisr4erqitWrV+NPf/qTpsNSIpFIEBcXh/Hjxzf5ub7//nscO3YMK1eubPJzkfY5cOAA0tLS8Mknn9R5KEdjcL2pF/PTsqk7P8/TEr9viYj+YDeLikREpIS/xNLzcH00TnMWFYmISPvx+5aItMBubn8mIiIiIiIiIiIilbCoSERERERERERERCphUZGIiIiIiIiIiIhUwqIiERERERERERERqcRA0wEQEVHLFB8fr+kQqAU6e/YsAK6Pxqj97IiIiF6E3xlEpA349GciIlJS+7RBIiIiItIs/rlORC3YbhYViYiIiEin1P7jCH/NJSIiImoyu3lPRSIiIiIiIiIiIlIJi4pERERERERERESkEhYViYiIiIiIiIiISCUsKhIREREREREREZFKWFQkIiIiIiIiIiIilbCoSERERERERERERCphUZGIiIiIiIiIiIhUwqIiERERERERERERqYRFRSIiIiIiIiIiIlIJi4pERERERERERESkEhYViYiIiIiIiIiISCUsKhIREREREREREZFKWFQkIiIiIiIiIiIilbCoSERERERERERERCphUZGIiIiIiIiIiIhUwqIiERERERERERERqYRFRSIiIiIiIiIiIlIJi4pERERERERERESkEhYViYiIiIiIiIiISCUsKhIREREREREREZFKWFQkIiIiIiIiIiIilbCoSERERERERERERCphUZGIiIiIiIiIiIhUwqIiERERERERERERqYRFRSIiIiIiIiIiIlIJi4pERERERERERESkEhYViYiIiIiIiIiISCUsKhIREREREREREZFKWFQkIiIiIiIiIiIilbCoSERERERERERERCphUZGIiIiIiIiIiIhUwqIiERERERERERERqYRFRSIiIiIiIiIiIlKJgaYDICIiIiJqrJycHEyaNAk1NTWKtkePHsHc3Byvv/66Ut/OnTvjH//4RzNHSERERKSbWFQkIiIiIq3l7OyMzMxMpKen13nv5MmTSv/92muvNVdYRERERDqP25+JiIiISKu9//77kEqlL+wXGhraDNEQERERtQ4sKhIRERGRVnv33XdRXV393D7e3t7w8vJqpoiIiIiIdB+LikRERESk1Tw8PNC9e3dIJJJ635dKpZg0aVIzR0VERESk21hUJCIiIiKt9/7770NfX7/e96qrqzFu3LhmjoiIiIhIt7GoSERERERab8KECZDL5XXa9fT00L9/f7i6ujZ/UEREREQ6jEVFIiIiItJ6jo6O8Pf3h56e8q+3enp6eP/99zUUFREREZHuYlGRiIiIiHTCe++9V6dNCIG3335bA9EQERER6TYWFYmIiIhIJ/zpT39Suq+ivr4+AgMDYWdnp8GoiIiIiHQTi4pEREREpBOsra0xZMgQRWFRCIGJEydqOCoiIiIi3cSiIhERERHpjIkTJyoe2CKVSjFmzBgNR0RERESkm1hUJCIiIiKdMWrUKBgZGQEARo4cCTMzMw1HRERERKSbWFQkIiIiIp1hamqquDqRW5+JiIiImo5ECCE0HQQRERE1r/j4eISEhGg6DCIiaiT+GUdERBq220DTERAREZHmxMXFaToEamLr1q0DAMycOVPDkTSfmpoaxMXF4Z133mnU8WfPnkVMTAz//0EtUu36JCIi0jQWFYmIiFqx8ePHazoEamK7d+8G0PpyHRwcDJlM1ujjY2JiWt1nRtqDRUUiImoJeE9FIiIiItI5L1NQJCIiIqIXY1GRiIiIiIiIiIiIVMKiIhEREREREREREamERUUiIiIiIiIiIiJSCYuKREREREREREREpBIWFYmIiIjohb777jtYWlri0KFDmg6lxUtMTMSCBQuwd+9euLu7QyKRQCKR4L333qvTd+jQoTA3N4e+vj68vb1x6dIlDUTcMLo2HwBYvnw5vLy8YGFhASMjI3h6euKTTz5BSUmJUr+oqCjFvJ9+devWrc6YVVVVWLFiBTw9PWFoaAgrKyt069YNGRkZAICDBw9i1apVqKmpaY4pEhERNRkW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\n",
2337
+ "text/plain": [
2338
+ "<IPython.core.display.Image object>"
2339
+ ]
2340
+ },
2341
+ "metadata": {},
2342
+ "execution_count": 74
2343
+ }
2344
+ ]
2345
+ },
2346
+ {
2347
+ "cell_type": "code",
2348
+ "metadata": {
2349
+ "id": "CP-O29K3zeut"
2350
+ },
2351
+ "source": [
2352
+ "def predict_target(input_string):\n",
2353
+ " # convert for encoding \n",
2354
+ " input_data = np.zeros((1, max_encoder_seq_length, num_encoder_tokens), dtype='float32')\n",
2355
+ " for t, char in enumerate(input_string):\n",
2356
+ " input_data[0, t, input_token_index[char]] = 1.\n",
2357
+ "\n",
2358
+ " # Encode the input as state vectors.\n",
2359
+ " states_value = encoder_model(input_data)\n",
2360
+ "\n",
2361
+ " # Generate empty target sequence of length 1.\n",
2362
+ " target_seq = np.zeros((1, 1, num_decoder_tokens), dtype='float32')\n",
2363
+ " # Populate the first character of target sequence with the start character.\n",
2364
+ " target_seq[0, 0, target_token_index['^']] = 1.0\n",
2365
+ "\n",
2366
+ " stop_condition = False\n",
2367
+ " decoded_sentence = \"\"\n",
2368
+ "\n",
2369
+ " while True:\n",
2370
+ " output_tokens, d_h, d_c = decoder_model.predict([target_seq] + states_value)\n",
2371
+ " # Sample a token\n",
2372
+ " sampled_token_index = np.argmax(output_tokens[0, -1, :])\n",
2373
+ " sampled_char = reverse_target_char_index[sampled_token_index]\n",
2374
+ "\n",
2375
+ " # Exit condition: either hit max length\n",
2376
+ " # or find stop character.\n",
2377
+ " if sampled_char == \"$\" or len(decoded_sentence) > max_decoder_seq_length:\n",
2378
+ " break\n",
2379
+ " \n",
2380
+ " decoded_sentence += sampled_char\n",
2381
+ "\n",
2382
+ " # Update the target sequence (of length 1).\n",
2383
+ " target_seq = np.zeros((1, 1, num_decoder_tokens))\n",
2384
+ " target_seq[0, 0, sampled_token_index] = 1.0\n",
2385
+ "\n",
2386
+ " # Update states\n",
2387
+ " states_value = [d_h, d_c]\n",
2388
+ " return decoded_sentence"
2389
+ ],
2390
+ "execution_count": 75,
2391
+ "outputs": []
2392
+ },
2393
+ {
2394
+ "cell_type": "code",
2395
+ "metadata": {
2396
+ "id": "0O9eWBgtvGeM",
2397
+ "colab": {
2398
+ "base_uri": "https://localhost:8080/",
2399
+ "height": 35
2400
+ },
2401
+ "outputId": "1d910d26-b1d5-42ec-9821-315303fa19fc"
2402
+ },
2403
+ "source": [
2404
+ "test_input = 'राजशेखर'\n",
2405
+ "predicted_string = predict_target(test_input)\n",
2406
+ "predicted_string"
2407
+ ],
2408
+ "execution_count": 76,
2409
+ "outputs": [
2410
+ {
2411
+ "output_type": "execute_result",
2412
+ "data": {
2413
+ "application/vnd.google.colaboratory.intrinsic+json": {
2414
+ "type": "string"
2415
+ },
2416
+ "text/plain": [
2417
+ "'rajasekhar'"
2418
+ ]
2419
+ },
2420
+ "metadata": {},
2421
+ "execution_count": 76
2422
+ }
2423
+ ]
2424
+ },
2425
+ {
2426
+ "cell_type": "code",
2427
+ "metadata": {
2428
+ "colab": {
2429
+ "base_uri": "https://localhost:8080/",
2430
+ "height": 35
2431
+ },
2432
+ "id": "Uy2yjJXZ0MdK",
2433
+ "outputId": "0e9bedd2-7365-4d6c-9c67-eab5d0d4e56f"
2434
+ },
2435
+ "source": [
2436
+ "test_input = 'गौरव'\n",
2437
+ "predicted_string = predict_target(test_input)\n",
2438
+ "predicted_string"
2439
+ ],
2440
+ "execution_count": 79,
2441
+ "outputs": [
2442
+ {
2443
+ "output_type": "execute_result",
2444
+ "data": {
2445
+ "application/vnd.google.colaboratory.intrinsic+json": {
2446
+ "type": "string"
2447
+ },
2448
+ "text/plain": [
2449
+ "'gaurav'"
2450
+ ]
2451
+ },
2452
+ "metadata": {},
2453
+ "execution_count": 79
2454
+ }
2455
+ ]
2456
+ },
2457
+ {
2458
+ "cell_type": "code",
2459
+ "metadata": {
2460
+ "colab": {
2461
+ "base_uri": "https://localhost:8080/",
2462
+ "height": 35
2463
+ },
2464
+ "id": "q8W7E0Kzka0e",
2465
+ "outputId": "bacc696d-b934-46ea-d7f4-74e063c07836"
2466
+ },
2467
+ "source": [
2468
+ "test_input = 'सूद'\n",
2469
+ "predicted_string = predict_target(test_input)\n",
2470
+ "predicted_string"
2471
+ ],
2472
+ "execution_count": 78,
2473
+ "outputs": [
2474
+ {
2475
+ "output_type": "execute_result",
2476
+ "data": {
2477
+ "application/vnd.google.colaboratory.intrinsic+json": {
2478
+ "type": "string"
2479
+ },
2480
+ "text/plain": [
2481
+ "'sod'"
2482
+ ]
2483
+ },
2484
+ "metadata": {},
2485
+ "execution_count": 78
2486
+ }
2487
+ ]
2488
+ },
2489
+ {
2490
+ "cell_type": "code",
2491
+ "metadata": {
2492
+ "id": "NeUfRfSlyGX4"
2493
+ },
2494
+ "source": [
2495
+ ""
2496
+ ],
2497
+ "execution_count": null,
2498
+ "outputs": []
2499
+ }
2500
+ ]
2501
+ }