1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
|
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%load_ext autoreload\n",
"%autoreload 2\n",
"\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from PIL import Image\n",
"from importlib.util import find_spec\n",
"if find_spec(\"text_recognizer\") is None:\n",
" import sys\n",
" sys.path.append('..')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"from text_recognizer.datasets.emnist_dataset import fetch_data_loader, fetch_emnist_dataset, load_emnist_mapping"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"dataset = fetch_emnist_dataset(\"byclass\", True, True)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"dl = fetch_data_loader(\"byclass\", True, True, shuffle=True, batch_size=9)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [],
"source": [
"classes = load_emnist_mapping()"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [],
"source": [
"def display_dl_images(dl, batch_size, classes):\n",
" fig = plt.figure(figsize=(9, 9))\n",
" batch = next(iter(dl))\n",
" for i in range(batch_size):\n",
" x, y = batch[0][i], batch[1][i]\n",
" ax = fig.add_subplot(3, 3, i + 1)\n",
" x = x.squeeze(0).numpy()\n",
" ax.imshow(x, cmap='gray')\n",
" ax.set_xticks([])\n",
" ax.set_yticks([])\n",
" ax.set_title(classes[int(y)])"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"def display_images(dataset, classes, shift=0):\n",
" fig = plt.figure(figsize=(9, 9))\n",
" for i in range(9):\n",
" x, y = dataset[i + shift]\n",
" ax = fig.add_subplot(3, 3, i + 1)\n",
" x = x.squeeze(0).numpy()\n",
" ax.imshow(x, cmap='gray')\n",
" ax.set_xticks([])\n",
" ax.set_yticks([])\n",
" ax.set_title(classes[int(y)])"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"classes = load_emnist_mapping()"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x648 with 9 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display_images(dataset, classes)"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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9v3vf99lt9xyi8tUMxypk5eX5zLV2jbT30i45557XHbeeee5rF+/fi5T357Zu3evy5YvXy7X8/jjj7ts69atLjt27Jh8PqqGw4cPu2zatGmxn//000+7LDs722UdOnRw2bXXXusydV0n+nth2bJlLtu8ebN8bCbjDgEAAGAgAAAADAQAAMAYCAAAgKVpqVAVCH/1q1+5rFmzZi578cUXXTZ16tTYr63KUlOmTHGZOq9bFVJeffVVl6lS4Z49e+R61NbFqgyjtpx9+OGHXabOFK9Z018GqmhoZrZ27VqZo2KpLWPVtWpmtmPHDpcVFxe7LO622oraAjvRduBLly512dGjR8v82qg6CgsLZf7KK6+4rEuXLi4bM2aMy5o2beoy9ZmpPlsTbZWtCoRFRUXysZmMOwQAAICBAAAAMBAAAABjIAAAAJampUJ1JnXr1q1dpgogauer0uwopcpSDz30UOznf12yu6+pX6MqL86ePdtlqjQzbtw4l1144YUuU2fTm5ndfPPNsdaIiqeuVTNd/CwoKHCZKuXGLVqpkuL+/fvlelRhlmsG30QV9p588kmXtWnTxmUjR450mSqBK6p8aGZ22WWXuWzXrl0uU7vDJtr9MB1xhwAAADAQAAAABgIAAGAMBAAAwNKgVKhKTLfffrvL1FGtW7Zscdm8efNcpo4gLo1MOJZV/RpnzJjhss8//9xlb7/9tstUacyMMlg6SXRdq93fyvsabty4sct69uwpH6uO5l63bp3LuLbwTXbu3OkyVeLr27evyzp16uSy0lxv7du3d5k6UlkdSU6pEAAAZBQGAgAAwEAAAAAYCAAAgKVBqbBWrVou+853vuMytdPUv/71L5dRTPpmeXl5Ljty5IjL1BHUZqU7MhTlR/2+q7KemVmfPn1cpkqAStwCrro+Bg0aJB975513uuzuu+922bZt21x2+PDhWOtB1af+Djj77LNdlpOT4zJVkt66davLWrZsGfu1M6ksGBd3CAAAAAMBAABgIAAAAMZAAAAALA1Khbm5uS7r1atXrOc+++yzLkt0JCyOU+U0pD91JLgqVJmZnX/++S5r0KCBy1SZVB2TrK4Z9b5NdMTsOeec4zK1m9yyZctc9umnn7rs6NGjLqPYWvWpwt/YsWNdpq7NVatWuezHP/6xy2644Qb52meddZbL1A6vmV405A4BAABgIAAA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\n",
"text/plain": [
"<Figure size 648x648 with 9 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display_dl_images(dl, 9, classes)"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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l11WXV0tnw8kopoA404LVI2CF154oXzs2LFjXfad73zHZX369HHZ7NmzXbZ8+XKX0VQIAABSAgUBAACgIAAAABQEAADAKAgAAIBxlwGQtgoKCmT+wx/+0GXnnnuuyz777DOXLViwwGWq+1l1cquxx2b6DocPPvjAZRs3bpTPR8uj7gDo3bu3y9So4OHDh8c6Rm5urssmTZokH9u3b1+XJbrL50T9+/d3WceOHV1WXl4e6/UaE1cIAAAABQEAAKAgAAAARkEAAACMpkIgLbRv395lP/nJT+RjBw4c6LKVK1e67K677nLZRx995LIoilymmgoXLlwo13PHHXe47JxzznHZ1q1bXcY44+YjhOCy7t27y8dOmDDBZdOnT3dZfn6+yzp37lyH1R0Xt1EwETXSe+fOnS7LyclxGU2FAAAgJVAQAAAACgIAAEBBAAAAjKZCIOV069bNZb/4xS9cppoHzcx+/vOfx8qqqqpcphq/1KS16667zmVqkpyZ2X333eey73//+y5jemF6UueMava7/vrrXTZt2jT5mur5rVu3jrWeuJM11bpVA20iNTU1LisqKnLZ888/7zLVQJsKuEIAAAAoCAAAAAUBAAAwCgIAAGA0FQIpRzVUjR071mXr16+Xz3/55ZddduDAAZeppiq1nayaaHjFFVe4bPPmzXI9qiHyxRdfdNmePXvk85Ha1Pn60EMPuUxtj52dnR37OKqJT51zW7ZscdmYMWNcphoNE9m7d6/Lli1b5rJ169a5bPfu3S47cuRI7GM3Ja4QAAAACgIAAEBBAAAAjIIAAABYAzQVZmZmuqygoMBlQ4cOlc9X09KeffZZl6ktJIF0165dO5dNnDjRZb169XLZww8/LF9TTfdT0w9VM9hvf/tbl6lJhaopKlGTlpoct2bNGpfVZkocUseVV17psvo2EKqtgJ977jmXLVq0yGVt27Z12eDBg12WaOtlRTW8/uu//qvLSktLXaaaClMVVwgAAAAFAQAAoCAAAABGQQAAAKwBmgrVlqdPPfWUyzp06BD7NW+55RaXTZgwwWWff/557NcEUpFqtFINUKpR6oEHHpCvec8997isY8eOLsvKynLZr3/9a5f96U9/ctkFF1zgsvHjx8v1KDQQpic13VI1jKvzVVENp2ZmS5cuddnPfvYzl+3YscNl/fr1c5maXlibpkL1/jn77LNdtnbtWpel6lRChSsEAACAggAAAFAQAAAAoyAAAADWAE2FZWVlLps6darLRo8eLZ8/ZcoUlw0bNsxlhYWFLjv33HNdpiZcKRkZ+kvv27evyyZNmuSy3Nxcl6kGmVdeecVlRUVFLqPJqmVS26qqSZ3q/aOap8zMKioqXKa2iVXn5iOPPOKyvLw8l919990u279/v1zPV199JXOkH/U5pT5z436eJXqcOl+rq6tdlpOT47Jt27a57L333nPZ8OHDY6zwuO3bt8c6zuHDh2O/ZiriCgEAAKAgAAAAFAQAAMAoCAAAgFEQAAAAa4C7DFSX6B/+8IdYmZnZL37xC5ctW7bMZWo8ZkFBgcvmzZvnMjVS9d5775XrOeOMM1ym9qyP66677nLZP/7jP7rshRdekM8/evRonY+N1Kd+vn/84x9dpu5gGTVqlHzN4uJil61atcplX375pctUJ/eIESNcpu7Gefrpp+V61HhZNB9Llixxmboz69RTT3VZ69at5Wuqz0h1R9onn3zisnfeecdlXbt2dZkaw5zoLgE1SlkdO53GFCtcIQAAABQEAACAggAAABgFAQAAsAZoKqyvqqoql82fP99laszkj370I5f17t3bZT/4wQ9clmgvbNUkeejQIZdt3brVZZ06dXJZt27dXDZz5kyXJRr7+uqrr8r8RKo5p0OHDi5T3++amppYx0DTUOebOg/inhu1oUZ6q/eeOtcTncPp3miFv27hwoUue/DBB12mGqwHDhwoX7Nt27YuU42sJ598ssvGjh3rMnUOqs/MRJ+FapSy+ixNd1whAAAAFAQAAICCAAAAGAUBAACwFGgqVNTUvhkzZrhs2LBhLlMTDdVEKjXNysxs9uzZLvv4449dppoK8/PzXVZYWOgyNbHr17/+tVzP2rVrZX4i9f25+OKLXaYaYZ5//nmX/exnP5PHUZPsALRcarqfmhhbUlLiMjV9MFE+YMAAl2VlZblMNSSqTMnNzZW5amBXn+P333+/y3bu3Bnr2KmAKwQAAICCAAAAUBAAAACjIAAAAJaiTYUNveXvs88+6zLVJGJmVl5eXufjbNiwwWVXXXWVy9T2tj169JCvuXz58ljHVtt7qi1z1XQu1QjzxhtvyOOsWLHCZWq6I1oedb6hZVLNx2vWrHHZ+vXr5fPVtFq1jf0555zjMtVsrmRmZrosLy9PPlZ9Pk+cONFlqolcfS2piisEAACAggAAAFAQAAAAoyAAAACWok2F9VFUVOSym2++2WUHDx5siuXY6tWrXXbrrbe6TE1nNNPbNKvmrY0bN7ps2rRpLlMNlv3793fZr371K7meq6++Otax0bypc7C4uDj2YwEzPeXQTDcgqqmtc+bMcVnHjh1jHVtt4f3AAw/Ix373u991WefOnV2mJuXSVAgAANIKBQEAAKAgAAAAFAQAAMDSvKmwpqbGZW+//bbLmqqBMK6VK1e67NChQ/Kx2dnZLtu1a5fLZs2a5bI//elPLluyZInLVFOh2srZzGzEiBEuo6mw+VDT29SWsKpRUDXQJnosUFvq8159FqpMUef6qlWr5GMnTJjgshCCy1q1Su/fsdN79QAAoEFQEAAAAAoCAABAQQAAACxFmworKipctmnTJpcdOHDAZYsXL26UNTUk9bU88cQT8rH/8i//4rJnnnnGZb///e9dpraRvvvuu112+eWXu0xN4TIzO//88122YMECl7ElcnoaOHCgyy6++GKX7d+/32WVlZWNsiagMcSdNGimmwWbY7MsVwgAAAAFAQAAoCAAAABGQQAAAIyCAAAAWIreZVBeXu6yc88912XqLoNE+2unEtWBP3v2bPlY1bk9d+5clyUafXyiPXv2uKysrMxl3bt3l8+/6qqrXPbQQw+5TN0pgtSiOqd/9KMfuUzdeVBSUuKyvXv3NszCgAaWlZXlMjWO+LzzzpPPV+8VdRdXut95wBUCAABAQQAAACgIAACAURAAAABL0aZCZffu3cleQqMqLS2V+axZsxr0OGpP8WuuucZliUYp//a3v3UZDYTpSTVajRs3zmVqTPHDDz/sMnVuofnLyGiaf0binl+tW7d22RlnnOGy22+/3WWJmqkV1URbXFwc+/mpiCsEAACAggAAAFAQAAAAoyAAAACWRk2FaDyff/65yy677DL5WDWdC+mpZ8+esbJ169a5bOXKlY2yJqS2tm3buuyWW25xWW5ubr2Ooya0zps3z2Vbt251WUFBgctuuOEGlw0aNMhlIQS5nurqapcVFha67P3335fPTxdcIQAAABQEAACAggAAABgFAQAAMJoKkQDNg81fmzZtXKa2eX333Xdd9uWXXzbKmpA61MS/Sy+91GUzZ850mZqCWRvl5eUuO3jwoMvUlFQ1RTM/P99l6utL9LmnGmsfffRRl+3atUs+P11whQAAAFAQAAAACgIAAGAUBAAAwGgqBFosNZUtiiKXqe2Pjxw50ihrQuro06ePy2bMmOGy7OxslyWa+Hcidb6ZmfXq1ctls2fPjnUc1RirmgW3b9/usieffFKuR20Hv3PnTpcl+nrSBVcIAAAABQEAAKAgAAAARkEAAACMpkKgRVCNVkOHDo31uGPHjjXKmpDaqqqqXFZcXOyyUaNGuUxNAawN1SwY9zVVs9/SpUtd9sILL7hs8eLF8jXV5MTmiCsEAACAggAAAFAQAAAAoyAAAABGUyHQIqhmwSFDhrissrLSZUgC6JUAABGjSURBVKqRjEbD5m/37t0uU1sd5+TkuGz06NEuy8vLc1lmZmbs9agpgFu2bHHZ3Xff7TLVVKi+vpa+7TtXCAAAAAUBAACgIAAAAEZBAAAAjIIAAAAYdxkALUJNTY3L5syZ47I9e/a47L333nMZdxk0f6qrv7S01GXTp093WZ8+fVx2wQUXuCw3Nzf2etQ5t2rVKpe98cYbLmvpdw/ExRUCAABAQQAAACgIAACAURAAAAAzC6pxJOGDQ4j/YMBbEUXRt5K5AM7hv07tOU9D1v/AOVxHGRkN38OuGg1peP3/SngOc4UAAABQEAAAAAoCAABgFAQAAMCYVAjgG2ggRGNR0zKRWrhCAAAAKAgAAAAFAQAAMAoCAABgtW8qLDezssZYCFqE/GQvwDiHUT+cw0h3Cc/hWo0uBgAAzRN/MgAAABQEAACAggAAABgFAQAAMAoCAABgFAQAAMAoCAAAgFEQAAAAoyAAAABGQQAAAIyCAAAAGAUBAAAwCoIGEULoEkKYH0I4EEIoCyF8P9lrAuIKIdwaQvhzCKE6hPBUstcDIDlqu/0xtNlm9pWZ9TSzkWb2eghhdRRFJcldFhDLl2Y2y8wuNbN2SV4LgCThCkE9hRCyzexKM3sgiqKqKIqWmdmrZjYtuSsD4omiaF4URQvMbHey1wLURQihNIRwbwhhbQhhbwjhdyGEtsleV7qhIKi/082sJoqi9d/IVpvZkCStBwBaomvt+FWuU+345/L9yV1O+qEgqL8cM9t3QlZpZh2SsBYAaKkei6JoSxRFe8zsp2Z2TbIXlG4oCOqvysxyT8hyzWx/EtYCAC3Vlm/8d5mZnZSshaQrCoL6W29mGSGEAd/IRpgZDYUA0HT6fOO/+9rxZlnUAgVBPUVRdMDM5pnZzBBCdgjhPDObZGbPJHdlQDwhhIyvG7Bam1nrEELbEAJ3ICHdTA8hnBxC6GJmM8zsxWQvKN1QEDSMf7Ljt2vtNLPnzewWbjlEGrnfzA6Z2T1mNvXr/6YhC+nmOTN7y8w2mtnndvxWWtRCiKIo2WsAAKDOQgilZnZTFEVvJ3st6YwrBAAAgIIAAADwJwMAAGBcIQAAAFbLzY1CCFxOQH2UR1HUPZkL4BxGPXEOI90lPIe5QoCmVJbsBQD1xDmMdJfwHKYgAAAAFAQAAICCAAAAWC2bCgEAaGytWvnfVVV27NixWBni4QoBAACgIAAAABQEAADAKAgAAIDRVAi0CJmZmS476aSTXBZCcNm2bdtcVl1d3TALQ4vWrVs3mY8ZM8ZlQ4YMcVlJSYnLioqKXFZZWemyvXv3uqympkaup6XgCgEAAKAgAAAAFAQAAMAoCAAAgNFUmDLUFK5EVONXly5dXNaxY8dYr6caaVQjmRnNZOmqd+/eLnv88cddps6ZX/7yly6bN2+eyzg38BdZWVkuU+fgI488Ip9/0UUXuWzPnj0ua9++vcs6d+7ssoqKCpeVlflN/773ve/J9ezYsUPmzQ1XCAAAAAUBAACgIAAAAEZBAAAAjIIAAAAYdxk0OnVHQH5+vsvUWE4zs4MHD7pM3ZFw4403umzEiBEua926tcv27dvnsoceekiu5/XXX3cZ+4+nvowM/1Y/5ZRTXKbOzbvuustlamTsmjVr6rg6pDP1mXLppZe6bMaMGS5Tnf5m+vNn8eLFLlOfm/fee6/L1F1YI0eOdNmtt94q1/Ob3/zGZaWlpfKx6YwrBAAAgIIAAABQEAAAAKMgAAAARlNho2vbtq3LzjnnHJddeOGF8vmq6Wb//v0u69evn8s6derkstzcXJfl5eW57PTTT5frKSwsdBlNhc2HalhV54IaLbt27Vr5mi19j/nmrmvXri6bNm2ay1STs2o0NDNbsmSJy7766iuXFRUVueyDDz5wmfrMvf322132wx/+UK5Heeyxx1y2c+dOl0VRFPs1k40rBAAAgIIAAABQEAAAAKMgAAAARlNhg1J7c0+ZMsVlP/7xj13Wq1cv+ZqffPKJyx5++GGXqQlbZ555pssKCgpcpqaKqSYcM7M5c+a4bNeuXfKxaB7UlMOcnJwkrASp6Nprr3XZ5Zdf7rI2bdq4bNasWfI1r776apepyYDV1dUuW79+fazspZdectktt9wi1zNhwoRYmZoYu3r1avmaqYgrBAAAgIIAAABQEAAAAKMgAAAARlNhLJmZmS4bOHCgy6666iqXqYldqoFw+/bt8tjz5s1z2dKlS122d+9el6ntbY8cOeIyNZ1u8ODBcj0dO3Z0GU2FzZvawludM2j+1Llw8sknx3qcmrD6xRdfyOMcPny4DqurHbW1/OzZs+VjO3To4LJ//ud/dtkdd9zhsptuusllqhkyFfCuBgAAFAQAAICCAAAAGAUBAAAwmgqd1q1bu0w12KmtL0ePHu0ytTWwahR888035Xrmz5/vMtUM065dO5edddZZLhs+fLg8zokSbWVbWVkZ6/kAmh+11fGkSZNcVl5e7rJVq1a5bMeOHfI4anrqH/7wB5ft2bNHPr+u1BbLZmYrVqxwmdrqWH0vHnzwQZdt3LixDqtrfFwhAAAAFAQAAICCAAAAGAUBAACwFtxUqKYPmulJfGob4dNOO81lanqb2nZTNRB++OGHcj2HDh2S+YnUdrT9+/d3WW5ursuiKHKZ2mrUzKyqqirWepBa1Hmt3gNqwpw6P9AyderUyWW9e/d2mfqMU1MJ1XbsZmbbtm2rw+rqTzWBm5m98cYbLsvKynKZmnT4wAMPuOzOO+90mWrEbGpcIQAAABQEAACAggAAABgFAQAAsBbSVKgapRJt76uaXKZPn+4y1cT38ssvu+zf//3fXfbJJ5+4LNGErLgNXX369HHZyJEjXaaagtSxt27dKo+jtk9GasnI8G/rsWPHuqxnz54uU5M6a2pqGmZhSHuqOVVNC3zxxRddpj5zs7Oz5XE+/fRTlyVzSurRo0ddVlRU5LKKigqXffvb33aZ+hymqRAAAKQECgIAAEBBAAAAKAgAAIBREAAAAGuGdxmoOwpOOeUUl91xxx3y+WeddZbLDh486LInn3zSZU8//bTLysrKXFbfUbDt27d32cSJE1120kknuUx1kZeUlLhs0aJF8th0nKcndVeMuhsB+Iu4d6uocebFxcUuGzhwoMvUXQtmZoMGDXKZ+mxPJnXngaJGNqt/U1IBVwgAAAAFAQAAoCAAAABGQQAAACzNmwrVfu5qPKZqIBw3bpx8TTUy87HHHnPZW2+95bLGaBRRTYDjx4932dSpU12mvj9qPOajjz7qMvV9QPpq1crX/qnWpIXUos4PNXJXOXbsWJ2PYabP12RSn8NxR8OrccaJRtUnW2p91wEAQFJQEAAAAAoCAABAQQAAACyNmgpVU4dqIFQNgKr5Y926dfI4b775psveeOMNlzV0U0ii5pr+/fu77IYbbnBZfn6+y1QD4bJly1xWWFjosurqarkeAC2DapAbMmRIElaSfF26dHHZ3/zN37hMfc9eeukll+3du7dhFtbAuEIAAAAoCAAAAAUBAAAwCgIAAGAp2lSoJuypbTLPPPNMl5166qkuO3DggMtWrVolj60m9DXFlr9t2rSRudqOediwYS5Ta9ywYYPLVq5c6bJ9+/bFWSLShGpQrc/ktyNHjriMc6b5y87Odlnfvn1jPVdtnawaw9NFnz59XDZ69GiXqfdeUVGRy+JundzUuEIAAAAoCAAAAAUBAAAwCgIAAGAp2lTYu3dvl02aNMlld999d6zXu//++1326quvysdWVla6LO5WnopqMunRo4fLBgwYIJ9/5513ukw1uKhpig8++KDLtm7d6rLDhw/LYyM9xZ0wF7fRcMeOHS5bsmSJy5qi+RZNJ+7P/frrr3fZP/zDP7hs6NChsY+drO26c3JyZD5x4kSX5eXluUxNeE2nqa9cIQAAABQEAACAggAAABgFAQAAsBRoKmzXrp3Lxo0b57ILL7zQZarx5PHHH3fZggULXKa2Bq4vNYlLbV88Y8YMl40aNUq+5qBBg1xWVlbmst/97ncuKy4udlmqTshCw4k7YS5uU6GaVKiab9G8qJ/7/v37Xda1a1eXTZ8+vV7HnjZtmsvat2/vsuXLl7tMTQZUk24LCgpiHddMN7qr94BqdFef16mKKwQAAICCAAAAUBAAAACjIAAAANaETYWJtr685JJLXHbfffe5TDWuqGmDTzzxhMsao4Gwbdu2Lrv00ktddsMNN7hMfc2Jtj/etGmTy3784x+77I9//KPLaCBsmdR235s3b3aZ2r61Ptsko/mLO7VVNR+qBnK1TbKZWb9+/Vx22223uey6665zWUVFhcsyMzNd1rNnT5cl+hzevXu3y9S/P4WFhS6Loki+Ziri3Q8AACgIAAAABQEAADAKAgAAYBQEAADAmvAug/z8fJn/3d/9ncs6dOjgsmXLlrnspz/9qct27txZ+8V9g+qyVt2xkydPdpnq/lfdsqpTd9euXXI96mucN2+eyw4fPiyfj5Yn7l0GcbufVcd4TU1N7ReGtKI+p9Q4dDXieOXKlS5TY9hVp7+ZWXV1tcu2bdvmspycHJepcfHqXFd3IyxevFiu58UXX3TZ0qVLXZboczxdcIUAAABQEAAAAAoCAABgFAQAAMAaqalQjSkeNmyYfKzKDx486LINGza4TDWZxG2UysrKkrlqaFSNgZdddpnL1J7Zqvnqiy++iJWZmX388ccuo4EQf02PHj1cNnbsWJep96kad71kyRKX1bd5F6lPNRUWFRW5LITgMnW+qcclak791a9+5bKf/OQnLuvSpYvLOnXq5LKqqiqXVVZWukyNKDaLP7I53XGFAAAAUBAAAAAKAgAAYBQEAADAGqmpUDV6TJ06VT5WNext3LjRZWr6mmqKUq+nGgjPOeccuZ4LLrjAZWPGjHGZaiBUDY0vv/yyy/7jP/7DZeXl5XI9W7dujXUc4C9UU1Xnzp1jPVc1fvXt29dl2dnZLlPNwGiZ1MTX2ti3b5/L1PmlHoe64woBAACgIAAAABQEAADAKAgAAIA1UlNhx44dXTZkyBD5WNUYqJoSVWOfmiqoHpebm+sy1XiV6DUzMzNdppoACwsLXTZr1iyXqaZJGgVRW6oB0Myse/fuLmvTpk2s11TNYCNHjnRZnz59XJbuW78CLR1XCAAAAAUBAACgIAAAAEZBAAAArJGaCisqKlz24Ycfyseq5iQ1VU01C55//vkuU02KauvKPXv2yPWoyYBqC+IXXnjBZUuXLnWZarSigRANIdF5pM656urqWK+pGhVVo21+fr7LVq1aJV+zpWwd2xKo7YqPHDnisowM/09LoiZYpA6uEAAAAAoCAABAQQAAAIyCAAAAWCM1Fe7fv99lCxculI8dNWqUy04//XSXqWmBimp6UQ2E77//vny+miK4fPnyWM/fvXu3y2ggRFNTjbErV650mWoMVE257du3j/Vcmsaav+3bt7vss88+c9nw4cObYjloYFwhAAAAFAQAAICCAAAAGAUBAACwRmoqVFPR5s2bJx9bUlLisosuushlalqaamJSTXxFRUUuS9RUqBoi1dfD9DWkKtVEO3fuXJepxsCcnByXffTRRy5bsGCBy44ePRp3iUhThw8fdplqGB88eLDL1PRCpBauEAAAAAoCAABAQQAAAIyCAAAAGAUBAAAws1Cb0bohhCaZw9vQ3ajqjgDuEkiKFVEUfSuZC2iqczjVZGVluSwvL89l6r1XUVHhshY8pptz+AT9+vVz2ZQpU1yWm5vrskSfw0uWLHHZ0qVLYz8ff1XCc5grBAAAgIIAAABQEAAAAKMgAAAAlqJNhWi2aMhCuuMcjqG+jeE0gjcqmgoBAEBiFAQAAICCAAAAUBAAAAAzY4NqAECDqqmpSfYSUAdcIQAAABQEAACAggAAABgFAQAAsNo3FZabWVljLAQtQn6yF2Ccw6gfzmGku4TncK1GFwMAgOaJPxkAAAAKAgAAQEEAAACMggAAABgFAQAAMAoCAABgFAQAAMAoCAAAgFEQAAAAM/t/lR9m0WgatAAAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 648x648 with 9 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display_dl_images(dl, 9, classes)"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAILCAYAAACXVIRDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deZRV5Znv8ee1mMcqitECCgFRKSaVpQJBiUgISCOo9zrg0N1ZKzdxuCZtIrejtMZlJ4J2SEIbbBNXomArRhSCiImywqh2IgqCEkWhinkopqqCmoB9/9CsNj6/3e6ihnNO1fezlmt1/7LPOS9V+2wet89+3hBFkQEAgKbtjFQvAAAApB4FAQAAoCAAAAAUBAAAwCgIAACAURAAAACjIAAAAEZBUCdCCJ1CCC+FEI6FEIpCCDemek1AEiGE+SGEX38huyyEcDCE0CNV6wJqIoRQ9oV/ToYQ5qR6XZmmWaoX0Eg8ZmZVZtbNzIaZ2dIQwoYoit5P7bKAL3WXmb0fQhgXRdFrIYRWZvZLM7s7iqI9KV4bkEgURe3++n+HENqZ2V4z+23qVpSZApMKayeE0NbMDpvZoCiKPvosm2dmu6Io+n8pXRyQQAjhf5nZLDMbZGb3mdmwKIompHZVwOkJIdxqZvebWb+Iv+BqhDsEtTfAzE78tRj4zAYzuyxF6wFqJIqi34YQrjezZ81slH16lwvIVLea2dMUAzVHQVB77cys5AvZUTNrn4K1AKfrNjP7xMzujaJoR6oXA5yOEEK+ffovY99I9VoyEU2FtVdmZh2+kHUws9IUrAU4LVEU7TOzYjOj7wWZ7GYzWxNF0bZULyQTURDU3kdm1iyEcPbnsqHGhRUAGtotZvZUqheRqSgIaimKomNm9qKZPRhCaBtCGGVmV5nZvNSuDACajhDCSDPLM54uOG0UBHXjNjNrbWb77dPGrG/zyCEANKhbzezFKIr4z7WniccOAQAAdwgAAAAFAQAAMAoCAABgFAQAAMAoCAAAgNVwdHEIgUcSUBvFURR1SeUCOIdRS5zDyHSx5zB3CNCQilK9AKCWOIeR6WLPYQoCAABAQQAAACgIAACA1bCpEED9CyG4jBHjQGbKpO8zdwgAAAAFAQAAoCAAAABGQQAAAIymwnrXqlUrl3Xv3t1lzZrpX8WJEydctmfPHpdVVVW5LF0bV/DfWrZs6bJLLrnEZdu2bXPZ9u3b62VNAP7WGWf4f3fOyspy2cCBA132j//4jy5btGiRy1auXOmyU6dOJV1ineAOAQAAoCAAAAAUBAAAwCgIAACA0VRYp5o3b+6y/v37u2zcuHEua9eunXzPsrIyly1evNhl+/btc1l5ebnLGrpJBf+zc845x2U//vGPXfbqq6+6bNasWfI9Kyoqar+wOqQaa1UzZUlJictojM1MqgmvJhP71OtrQ31227ZtXaau4WZmX/nKV1w2ZMgQl02dOtVlAwYMcFlxcbHLVq9e7TKaCgEAQIOjIAAAABQEAACAggAAABgFAQAAMJ4yOG1du3Z1mXqiYObMmS674IILXBY3uliNJB4zZozLPvroI5etWrXKZRs3bnRZUVGRy+jurnvqdzx27FiXDR482GUtWrRw2fz58+XnbN269TRWV3udOnWS+Te/+U2X9ejRw2WzZ892WWFhYa3XhbrTpUsXl+Xk5Ljsn//5n11WUFDgsp07d8rPOe+881xW108eqCe74p4yUOd2bdZT13+WupKeqwIAAA2KggAAAFAQAAAACgIAAGA0FTpqxKVqIPzWt77lsiuuuMJlF110kctUg1hcE59qcpkwYYLLvv71r7vsqquuctnatWtdNn36dJft379frgf1TzUc9erVy2VDhw6Vr1eNeA0xArVz584yv+WWW1zWs2dPl6lmyH//93932cmTJ09jdagp1Uj32GOPuUyN8M3Pz3eZGletGqzN0rfp7vPU3xWKuran6wj59P+pAwCAekdBAAAAKAgAAAAFAQAAsCbcVJiVlSVz1fgyYsQIl6n9sc8++2yXqabAmjSZqEmFlZWVLmvdurXL1DS4YcOGuax79+4uo6mw7p04ccJly5cvd9mtt97qMjW5beTIkfJz/vCHP7js2LFjSZaYmPr+qOYyM7Pc3FyXlZeXu2z79u0uY2Jm6qimQtWoHDfdL4m45kF1PVTXwoqKCpepa/ihQ4dcppq7jxw5Itej/ox5eXmJjlPfvcWLF7tMXR8aGncIAAAABQEAAKAgAAAARkEAAACsETYVJm3+GD58uHz9oEGDXHbTTTe5rE+fPi5TDTKqKUpNktu0aZNcz5o1a1ymmk+++tWvukxNNBwwYIDLxo0b57IPPvhAricdGl8aky1btrjstddec5lqKrz66qvl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ms3MWrdu7bIDBw64TI1snjVrlsv+9Kc/JXo/pJfevXu7TJ1bZvopHfWkwM6dO13WUE/fAP8TNWpYXTfVE1vqev/000+7TD1REEVR0iU2StwhAAAAFAQAAICCAAAAGAUBAACwemoqVI1wffr0kceec845LlONTWrv9nXr1rls3759X75Aix+lrBoi8/LyXKaaIfv27esy1filGizViGMz/bN48803XbZ+/fpEx+3du9dlTb2RJt2oc+Gmm25y2eWXXy5fr36fr7/+ustUA+6JEyeSLBGoE3Fj6tVY4euvvz7R62fPnu2yRx991GVc9zzuEAAAAAoCAABAQQAAAIyCAAAAWD01FapGODVp0ExPAVSNfapR8fDhw4mOU/toZ2dny/UUFBS47I477nCZmhzXrl07l6k/i/pZqGY/M7OVK1e67Ec/+pHLdu/e7bLaTmhEaqim08mTJ7usTZs28vVq8uT8+fNdVlRUdBqrA+qOaio3M/ve977nMtVAWF1d7TLVgM4EzmS4QwAAACgIAAAABQEAADAKAgAAYPXUVFhVVeWyXbt2yWPfe+89l6mphqox8OGHH3aZajLp1auXy+ImZKnGwNzcXJepSYdq22bV4PXEE0+47I9//KNcz/vvv++ygwcPuoypW5npjDN8Ta6mYKpz+NSpU/I9V69enShT5ytQX9Q194c//KE8dtCgQS5T5/vLL7/ssrlz57qMCZzJcIcAAABQEAAAAAoCAABgFAQAAMDqqalQNbhVVFTIY9V2xer1auLfsGHDEr22bdu2Lovb/lg1eSX985SWlrpszZo1LlMNXps3b5brOXToUKL1IDOp8001VKnJmqq51MzsueeeS3wsUB+ysrJcNmnSpERZ3Os3bNjgst/85jcuo4Hw9HGHAAAAUBAAAAAKAgAAYBQEAADA6qmpUIlr4lPNdGpb1u7du7tMNQsqanqhamY001MWN23a5LI333zTZVu3bnXZ2rVrXVZcXOyyuKlzaHpUo6E6P1TDqhlTCZF6arrr9ddf7zLVPGimGwO/+93vukxdh3H6uEMAAAAoCAAAAAUBAAAwCgIAAGANOKmwpKREHvvkk0+6rLCw0GVq++MOHTokWo/67JUrV8pjy8rKXHb48OFEmWr8olkQNaXO16NHj7osrqFKTbcEGtINN9zgsvHjx7ssrtl16dKlLlPne2Vl5Wms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\n",
"text/plain": [
"<Figure size 648x648 with 9 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display_dl_images(dl, 9, classes)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"fig = plt.figure(figsize=(9, 9))\n",
"for i, j in enumerate([5, 7, 9]):\n",
" x, y = dataset[j]\n",
" ax = fig.add_subplot(3, 3, i + 1)\n",
" x = x.numpy().reshape(28, 28).swapaxes(0, 1)\n",
" ax.imshow(x, cmap='gray')\n",
" ax.set_xticks([])\n",
" ax.set_yticks([])\n",
" ax.set_title(classes[int(y)])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
|